mirror of
https://github.com/grafana/grafana.git
synced 2024-11-27 19:30:36 -06:00
bc2813ef06
* fix goimports * fix goimports order
38 lines
1020 B
Go
38 lines
1020 B
Go
package grpcserver
|
||
|
||
import (
|
||
"context"
|
||
|
||
"google.golang.org/grpc/health"
|
||
"google.golang.org/grpc/health/grpc_health_v1"
|
||
|
||
"github.com/grafana/grafana/pkg/setting"
|
||
)
|
||
|
||
// HealthService implements GRPC Health Checking Protocol:
|
||
// https://github.com/grpc/grpc/blob/master/doc/health-checking.md
|
||
// It also demonstrates how to override authentication for a service – in this
|
||
// case we are disabling any auth in AuthFuncOverride.
|
||
type HealthService struct {
|
||
cfg *setting.Cfg
|
||
healthServer *healthServer
|
||
}
|
||
|
||
type healthServer struct {
|
||
*health.Server
|
||
}
|
||
|
||
// AuthFuncOverride for no auth for health service.
|
||
func (s *healthServer) AuthFuncOverride(ctx context.Context, _ string) (context.Context, error) {
|
||
return ctx, nil
|
||
}
|
||
|
||
func ProvideHealthService(cfg *setting.Cfg, grpcServerProvider Provider) (*HealthService, error) {
|
||
hs := &healthServer{health.NewServer()}
|
||
grpc_health_v1.RegisterHealthServer(grpcServerProvider.GetServer(), hs)
|
||
return &HealthService{
|
||
cfg: cfg,
|
||
healthServer: hs,
|
||
}, nil
|
||
}
|