package main import ( "fmt" "log" "os" "os/signal" "syscall" "pool-stats/config" "pool-stats/database" "pool-stats/ingest" "pool-stats/web" ) func main() { config := config.ParseFlags() db, err := database.InitDatabase(config.DatabasePath) if err != nil { log.Fatalf("Failed to initialize database: %v", err) } defer db.Close() ingestor := ingest.NewIngestor(db, config.LogPath) go ingestor.WatchAndIngest() webServer := web.NewWebServer(db, config.Port) if err := webServer.Start(); err != nil { log.Fatalf("Failed to start web server: %v", err) } fmt.Println("Waiting for ctrl-c") sigs := make(chan os.Signal, 1) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) <-sigs }