package main import ( "log" "net/http" "os" "time" ) func main() { addr := envOr("LISTEN_ADDR", ":8084") handler, err := newHandler( envOr("CORE_RUNTIME_URL", "http://core-runtime:8080"), envOr("CONTINUITY_RUNTIME_URL", "http://continuity-runtime:8081"), envOr("COMMIT_RUNTIME_URL", "http://commit-runtime:8082"), &http.Client{Timeout: 10 * time.Second}, envOr("COGNITIVE_RUNTIME_URL", "http://cognitive-worker:8083"), envOr("AGENT_WORKER_URL", "http://agent-worker:8090"), ) if err != nil { log.Fatal(err) } server := &http.Server{ Addr: addr, Handler: handler, ReadHeaderTimeout: 5 * time.Second, IdleTimeout: 60 * time.Second, } log.Printf("creator-web listening on %s", addr) if err := server.ListenAndServe(); err != nil { log.Fatal(err) } } func envOr(name, fallback string) string { if value := os.Getenv(name); value != "" { return value } return fallback }