diff --git a/bmr-grpc-service/main.go b/bmr-grpc-service/main.go index 2436634..314afe0 100644 --- a/bmr-grpc-service/main.go +++ b/bmr-grpc-service/main.go @@ -6,6 +6,7 @@ import ( "bmr-grpc-service/proto/bmr/service/bmr" "context" "net" + "net/http" "os" "github.com/rs/zerolog" @@ -39,6 +40,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for bmr-grpc-service is created") @@ -60,3 +64,16 @@ func main() { Msg("Server bmr-grpc-service is enabled") } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +} diff --git a/calories-grpc-service/main.go b/calories-grpc-service/main.go index b23ad5d..f0ee32a 100644 --- a/calories-grpc-service/main.go +++ b/calories-grpc-service/main.go @@ -6,6 +6,7 @@ import ( "calories-grpc-service/proto/calories/service/calories" "context" "net" + "net/http" "os" "github.com/rs/zerolog" @@ -40,6 +41,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for calories-grpc-service is created") @@ -61,3 +65,16 @@ func main() { Msg("Server calories-grpc-service is enabled") } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +} diff --git a/database-store-service/main.go b/database-store-service/main.go index fc813ea..40e4cdb 100644 --- a/database-store-service/main.go +++ b/database-store-service/main.go @@ -3,6 +3,7 @@ package main import ( "database-store-service/pkg/logger" "fmt" + "net/http" "os" "sync" @@ -16,6 +17,9 @@ func main() { wg := sync.WaitGroup{} wg.Add(10) + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + // Nats Client nc, err := nats.Connect(os.Getenv("NATS_URI")) defer nc.Close() @@ -62,3 +66,16 @@ func main() { wg.Wait() } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +} diff --git a/imc-grpc-service/main.go b/imc-grpc-service/main.go index aa8bb56..56c28fc 100644 --- a/imc-grpc-service/main.go +++ b/imc-grpc-service/main.go @@ -6,6 +6,7 @@ import ( "imc-grpc-service/pkg/tracer" "imc-grpc-service/proto/imc/service/imc" "net" + "net/http" "os" "github.com/rs/zerolog" @@ -40,6 +41,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for imc-grpc-service is created") @@ -59,5 +63,17 @@ func main() { logInternal.Info(). Msg("Server imc-grpc-service is enabled") +} +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } } diff --git a/proteins-grpc-service/main.go b/proteins-grpc-service/main.go index e91c046..3c47864 100644 --- a/proteins-grpc-service/main.go +++ b/proteins-grpc-service/main.go @@ -3,6 +3,7 @@ package main import ( "context" "net" + "net/http" "os" "proteins-grpc-service/pkg/logger" "proteins-grpc-service/pkg/tracer" @@ -40,6 +41,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for proteins-grpc-service is created") @@ -61,3 +65,16 @@ func main() { Msg("Server proteins-grpc-service is enabled") } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +} diff --git a/recommendations-grpc-service/main.go b/recommendations-grpc-service/main.go index f82d457..534e407 100644 --- a/recommendations-grpc-service/main.go +++ b/recommendations-grpc-service/main.go @@ -3,6 +3,7 @@ package main import ( "context" "net" + "net/http" "os" "recommendations-grpc-service/pkg/logger" "recommendations-grpc-service/pkg/tracer" @@ -40,6 +41,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for recommendations-grpc-service is created") @@ -61,3 +65,16 @@ func main() { Msg("Server recommendations-grpc-service is enabled") } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +} diff --git a/water-grpc-service/main.go b/water-grpc-service/main.go index ab00623..7549d9e 100644 --- a/water-grpc-service/main.go +++ b/water-grpc-service/main.go @@ -3,6 +3,7 @@ package main import ( "context" "net" + "net/http" "os" "water-grpc-service/pkg/logger" "water-grpc-service/pkg/tracer" @@ -40,6 +41,9 @@ func main() { Msg("Failed to listen") } + // Healthcheck Probe :8080 + go startHTTPHealthCheckServer() + logInternal.Info(). Msg("Listener for water-grpc-service is created") @@ -61,3 +65,16 @@ func main() { Msg("Server water-grpc-service is enabled") } + +func startHTTPHealthCheckServer() { + logInternal := logger.Instance() + http.HandleFunc("/healthz", func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusOK) + w.Write([]byte("ok")) + }) + + logInternal.Info().Msg("Starting HTTP healthcheck server on :8080") + if err := http.ListenAndServe(":8080", nil); err != nil { + logInternal.Fatal().Err(err).Msg("Failed to start HTTP healthcheck server") + } +}