package main import ( "log" "moku-backend/internal/bootstrap" "moku-backend/internal/httpx" "moku-backend/internal/process" ) func main() { app, err := bootstrap.New("api") if err != nil { log.Fatalf("bootstrap api service: %v", err) } defer func() { if closeErr := app.Close(); closeErr != nil { app.Logger.Error("close api service", "error", closeErr) } }() handler := httpx.NewRouter(httpx.RouterConfig{ ServiceName: app.ServiceName, Config: app.Config, Logger: app.Logger, BuildInfo: app.BuildInfo, Database: app.Database, Cache: app.Cache, }) if err := process.RunHTTPServer(app.ServiceName, app.Config.Address(app.ServiceName), handler, app.Logger, app.Config.ShutdownTimeout); err != nil { app.Logger.Error("api service stopped", "error", err) log.Fatal(err) } }