mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-29 18:36:30 +02:00
* log: remove warn * log: update debug * log: update info * remove level, log * remove contextLogger function
33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"google.golang.org/grpc/codes"
|
|
grpc_health "google.golang.org/grpc/health/grpc_health_v1"
|
|
"google.golang.org/grpc/status"
|
|
|
|
"github.com/pomerium/pomerium/internal/log"
|
|
)
|
|
|
|
type healthCheckSrv struct{}
|
|
|
|
// NewHealthCheckServer returns a basic health checker
|
|
func NewHealthCheckServer() grpc_health.HealthServer {
|
|
return &healthCheckSrv{}
|
|
}
|
|
|
|
// Check confirms service is reachable, and assumes any service is operational
|
|
// an outlier detection should be used to detect runtime malfunction based on consequitive 5xx
|
|
func (h *healthCheckSrv) Check(ctx context.Context, req *grpc_health.HealthCheckRequest) (*grpc_health.HealthCheckResponse, error) {
|
|
log.Ctx(ctx).Debug().Str("service", req.Service).Msg("health check")
|
|
return &grpc_health.HealthCheckResponse{
|
|
Status: grpc_health.HealthCheckResponse_SERVING,
|
|
}, nil
|
|
}
|
|
|
|
// Watch is not implemented as is not used by Envoy
|
|
func (h *healthCheckSrv) Watch(req *grpc_health.HealthCheckRequest, _ grpc_health.Health_WatchServer) error {
|
|
log.Error().Str("service", req.Service).Msg("health check watch")
|
|
return status.Errorf(codes.Unimplemented, "method Watch not implemented")
|
|
}
|