in analytics/server.go [67:99]
func main() {
// Sleep for 10 seconds to let Cloud SQL Proxy start up
// TODO - make this cleaner
time.Sleep(time.Second * 10)
// initialize cloud SQL client
var err error
a, err = initCloudSQL()
if err != nil {
log.Fatal(err)
}
// Start web server
r := mux.NewRouter()
// Health check
r.HandleFunc("/_healthz", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprint(w, "ok") })
// GET / ("no-op")
r.HandleFunc("/", func(w http.ResponseWriter, _ *http.Request) { fmt.Fprint(w, "analytics server") }).Methods(http.MethodGet)
// POST Analytics
r.HandleFunc("/", a.ReceiveClusterAndWriteToSQL).Methods("POST")
srv := &http.Server{
Handler: r,
Addr: "0.0.0.0:8000",
WriteTimeout: 5 * time.Second,
ReadTimeout: 5 * time.Second,
}
log.Info("📊 GKE PoC Toolkit Analytics: Starting server on port 8000")
log.Fatal(srv.ListenAndServe())
}