CUB-124: scaffold Control Center Go backend
All checks were successful
Dev Build / build-test (pull_request) Successful in 2m6s

This commit is contained in:
2026-05-07 14:16:05 -04:00
parent cce3e061a7
commit c906cd46ad
7 changed files with 206 additions and 15 deletions

View File

@@ -12,6 +12,7 @@ import (
"time"
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/config"
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/db"
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/handler"
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/router"
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/store"
@@ -27,6 +28,16 @@ func main() {
}))
slog.SetDefault(logger)
// ── Database (optional until CUB-120 schema is ready) ──────────────────
var pool *db.Pool
if cfg.DatabaseURL != "" {
var err error
pool, err = db.New(cfg.DatabaseURL)
if err != nil {
slog.Warn("database connection failed; running without DB", "error", err)
}
}
// ── Stores (in-memory for now; PostgreSQL after CUB-120) ────────────────
agentStore := store.NewAgentStore()
sessionStore := store.NewSessionStore()
@@ -37,7 +48,11 @@ func main() {
h := handler.NewHandler(agentStore, sessionStore, taskStore, projectStore)
// ── Router ─────────────────────────────────────────────────────────────
r := router.New(h)
r := router.New(&router.Dependencies{
Handler: h,
DB: pool,
CORSOrigin: cfg.CORSOrigin,
})
// ── Server ─────────────────────────────────────────────────────────────
srv := &http.Server{
@@ -71,6 +86,10 @@ func main() {
os.Exit(1)
}
if pool != nil {
pool.Close()
}
slog.Info("server exited cleanly")
}