This commit is contained in:
+45
-15
@@ -16,10 +16,11 @@ import (
|
||||
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/internal/storage"
|
||||
"gitea.d3m0k1d.ru/d3m0k1d/HellreigN/proto/proto"
|
||||
"github.com/gin-gonic/gin"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
"golang.org/x/sync/errgroup"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials"
|
||||
)
|
||||
|
||||
// @securityDefinitions.apikey Bearer
|
||||
@@ -44,15 +45,24 @@ func main() {
|
||||
defer db.Close()
|
||||
|
||||
h := handlers.New(db)
|
||||
agents := handlers.AgentsGroup{Handlers: h}
|
||||
auth := handlers.AuthGroup{Handlers: h}
|
||||
agentReg := handlers.NewAgentRegistrationGroup(h)
|
||||
|
||||
// Initialize registration tokens table
|
||||
if err := h.Repo.InitRegistrationTokens(); err != nil {
|
||||
log.Printf("Warning: failed to initialize registration tokens table: %v", err)
|
||||
}
|
||||
|
||||
// Initialize jobs table
|
||||
jobRepo := repository.NewJobRepository(db)
|
||||
if err := jobRepo.Init(context.Background()); err != nil {
|
||||
log.Printf("Warning: failed to initialize jobs table: %v", err)
|
||||
}
|
||||
|
||||
cmdr := commander.New(jobRepo)
|
||||
|
||||
agents := handlers.NewAgentsGroup(h, cmdr)
|
||||
auth := handlers.AuthGroup{Handlers: h}
|
||||
agentReg := handlers.NewAgentRegistrationGroup(h)
|
||||
|
||||
// Create admin user from config if not exists
|
||||
if cfg.Admin.Admin_login != "" && cfg.Admin.Admin_password != "" {
|
||||
if !h.Repo.ExistsByLogin(cfg.Admin.Admin_login) {
|
||||
@@ -188,7 +198,6 @@ func main() {
|
||||
}
|
||||
|
||||
grpcServer := grpc.NewServer(grpc.Creds(credentials.NewTLS(tlsConfig)))
|
||||
cmdr := commander.New()
|
||||
proto.RegisterCommanderServer(grpcServer, cmdr)
|
||||
|
||||
lis, err := net.Listen("tcp", ":"+grpcPort)
|
||||
@@ -196,13 +205,34 @@ func main() {
|
||||
log.Fatalf("Failed to listen on gRPC port %s: %v", grpcPort, err)
|
||||
}
|
||||
|
||||
go func() {
|
||||
log.Printf("gRPC server starting on port %s with mTLS", grpcPort)
|
||||
if err := grpcServer.Serve(lis); err != nil {
|
||||
log.Fatalf("gRPC server error: %v", err)
|
||||
}
|
||||
}()
|
||||
defer grpcServer.GracefulStop()
|
||||
g, ctx := errgroup.WithContext(context.Background())
|
||||
|
||||
log.Fatal(router.Run(":8080"))
|
||||
}
|
||||
g.Go(func() error {
|
||||
log.Printf("gRPC server starting on port %s with mTLS", grpcPort)
|
||||
errCh := make(chan error, 1)
|
||||
go func() { errCh <- grpcServer.Serve(lis) }()
|
||||
select {
|
||||
case err := <-errCh:
|
||||
return err
|
||||
case <-ctx.Done():
|
||||
grpcServer.GracefulStop()
|
||||
return nil
|
||||
}
|
||||
})
|
||||
|
||||
g.Go(func() error {
|
||||
log.Printf("HTTP server starting on :8080")
|
||||
errCh := make(chan error, 1)
|
||||
go func() { errCh <- router.Run(":8080") }()
|
||||
select {
|
||||
case err := <-errCh:
|
||||
return err
|
||||
case <-ctx.Done():
|
||||
return nil
|
||||
}
|
||||
})
|
||||
|
||||
if err := g.Wait(); err != nil {
|
||||
log.Fatalf("Server error: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user