package main import ( "log" "system-monitor/internal/api" "system-monitor/internal/config" "system-monitor/internal/sse" ) func main() { cfg := config.Load() log.Printf("Starting system monitor backend on port %s", cfg.Port) log.Printf("Reading from: proc=%s, sys=%s", cfg.ProcPath, cfg.SysPath) log.Printf("Default refresh interval: %s", cfg.RefreshInterval) if cfg.AuthEnabled { log.Printf("Basic authentication enabled for user: %s", cfg.AuthUser) } if cfg.TLSEnabled { log.Printf("TLS enabled with cert: %s", cfg.TLSCertFile) } broker := sse.NewBroker(cfg) go broker.Run() server := api.NewServer(cfg, broker) var err error if cfg.TLSEnabled { log.Printf("Starting HTTPS server on port %s", cfg.Port) err = server.RunTLS(cfg.TLSCertFile, cfg.TLSKeyFile) } else { err = server.Run() } if err != nil { log.Fatalf("Failed to start server: %v", err) } }