This commit is contained in:
Kar
2026-02-01 20:38:58 +05:30
parent 52265ed4cc
commit 5e563fb436
11 changed files with 159 additions and 51 deletions

View File

@@ -9,9 +9,9 @@ import (
"os/signal"
"sync"
"syscall"
"time"
"deployment-manager/internal/api"
"deployment-manager/internal/config"
"deployment-manager/internal/db"
"deployment-manager/internal/events"
"deployment-manager/internal/reconciler"
@@ -20,13 +20,9 @@ import (
_ "github.com/mattn/go-sqlite3"
)
const (
dbPath = "./manager.db"
maxWorkers = 2
reconcileTick = 2 * time.Second
)
func main() {
cfg := config.Load()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
@@ -40,7 +36,7 @@ func main() {
}()
// ---- DB ----
database, err := sql.Open("sqlite3", dbPath)
database, err := sql.Open("sqlite3", cfg.DBPath)
if err != nil {
log.Fatal(err)
}
@@ -61,24 +57,25 @@ func main() {
// ---- worker pool ----
var wg sync.WaitGroup
for i := 0; i < maxWorkers; i++ {
for i := 0; i < cfg.MaxWorkers; i++ {
wg.Add(1)
go func(id int) {
defer wg.Done()
w := worker.NewWorker(id, database, eventChan, jobQueue)
w := worker.NewWorker(id, database, eventChan, jobQueue, cfg.Kubeconfig, cfg.Namespace)
w.Run(ctx)
}(i)
}
// ---- reconciler ----
reconciler := reconciler.NewReconciler(database, jobQueue, reconcileTick)
reconciler := reconciler.NewReconciler(database, jobQueue, cfg.ReconcileTick)
go reconciler.Run(ctx)
// ---- HTTP (API + SSE) ----
httpServer := api.NewHTTPServer(database, eventBus)
port := ":" + cfg.HTTPPort
go func() {
log.Println("HTTP server listening on :8080")
if err := httpServer.Start(":8080"); err != nil && err != http.ErrServerClosed {
log.Printf("HTTP server listening on %s", port)
if err := httpServer.Start(port); err != nil && err != http.ErrServerClosed {
log.Fatal(err)
}
}()