1package web23import (4 "context"5 "net/http"67 "github.com/charmbracelet/log/v2"8 "github.com/charmbracelet/soft-serve/pkg/db"9 "github.com/gorilla/mux"10)1112// HealthController registers the health check routes for the web server.13func HealthController(_ context.Context, r *mux.Router) {14 r.HandleFunc("/livez", getLiveness)15 r.HandleFunc("/readyz", getReadiness)16}1718func getLiveness(w http.ResponseWriter, _ *http.Request) {19 renderStatus(http.StatusOK)(w, nil)20}2122func getReadiness(w http.ResponseWriter, r *http.Request) {23 ctx := r.Context()24 logger := log.FromContext(ctx)25 db := db.FromContext(ctx)2627 if err := db.PingContext(ctx); err != nil {28 logger.Error("error getting db readiness", "err", err)29 renderStatus(http.StatusServiceUnavailable)(w, nil)30 return31 }3233 renderStatus(http.StatusOK)(w, nil)34}