Files
HellreigN/backend/cmd/main.go
T
d3m0k1d 27e82f80f1
ci-agent / build (push) Failing after 22s
docs: add docs for agents list
2026-04-03 23:01:59 +03:00

59 lines
1.4 KiB
Go

package cmd
import (
"log"
"os"
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/docs"
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/config"
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/handlers"
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/storage"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
// @securityDefinitions.apikey Bearer
// @in header
// @name Authorization
// @description Type "Bearer" followed by a space and the JWT token.
func main() {
cfg_path, ok := os.LookupEnv("CONFIG_FILE")
if !ok {
cfg_path = "/etc/hellreign/config.yml"
}
cfg, err := config.ImportSettings(cfg_path)
if err != nil {
log.Fatalf("Err loading config")
}
db, err := storage.Open(cfg.Database.Token_db)
if err != nil {
log.Fatalf("Err opening database")
}
defer db.Close()
h := handlers.New(db)
agents := handlers.AgentsGroup{Handlers: h}
router := gin.Default()
docs.SwaggerInfo.BasePath = "/api/v1"
docs.SwaggerInfo.Title = "HellreigN"
docs.SwaggerInfo.Version = "1.0"
docs.SwaggerInfo.Description = "API for HellreigN"
docs.SwaggerInfo.Schemes = []string{"http"}
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
v1 := router.Group("/api/v1")
{
agentsGroup := v1.Group("/agents")
{
agentsGroup.GET("", agents.List)
}
}
log.Fatal(router.Run(":8080"))
}