package main import ( "context" "fmt" "go.uber.org/zap" "os" "os/signal" "penahub.gitlab.yandexcloud.net/backend/quiz/core/internal/app" "penahub.gitlab.yandexcloud.net/backend/quiz/core/internal/initialize" "syscall" ) var ( commit string = os.Getenv("COMMIT") buildTime string = os.Getenv("BUILD_TIME") version string = os.Getenv("VERSION") ) func main() { logger, err := zap.NewProduction() if err != nil { fmt.Printf("Failed to initialize logger: %v\n", err) os.Exit(1) } config, err := initialize.LoadConfig() if err != nil { logger.Fatal("Failed to load config", zap.Error(err)) } ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM) defer stop() if err = app.Run(ctx, *config, logger, app.Build{ Commit: commit, Version: version, }); err != nil { logger.Fatal("App exited with error", zap.Error(err)) } }