package main import ( "log" "net/http" "os" "time" "git.unkin.net/unkin/logviewer/internal/server" ) var version = "dev" func envOr(key, def string) string { if v := os.Getenv(key); v != "" { return v } return def } func main() { chURL := envOr("CH_URL", "http://clickhouse-logs.logging.svc.cluster.local:8123") chUser := envOr("CH_USER", "logreader") chPassword := os.Getenv("CH_PASSWORD") addr := envOr("LISTEN_ADDR", ":8080") srv := server.New(server.Config{ CHURL: chURL, CHUser: chUser, CHPassword: chPassword, Version: version, }) hs := &http.Server{ Addr: addr, Handler: srv, ReadHeaderTimeout: 10 * time.Second, ReadTimeout: 60 * time.Second, WriteTimeout: 60 * time.Second, IdleTimeout: 120 * time.Second, } log.Printf("logviewer %s listening on %s (clickhouse %s as %s)", version, addr, chURL, chUser) if err := hs.ListenAndServe(); err != nil { log.Fatal(err) } }