|
@@ -19,9 +19,12 @@ import (
|
|
|
|
|
|
|
|
"github.com/coreos/etcd/etcdserver"
|
|
"github.com/coreos/etcd/etcdserver"
|
|
|
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
|
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
|
|
|
|
+
|
|
|
"google.golang.org/grpc"
|
|
"google.golang.org/grpc"
|
|
|
"google.golang.org/grpc/credentials"
|
|
"google.golang.org/grpc/credentials"
|
|
|
"google.golang.org/grpc/grpclog"
|
|
"google.golang.org/grpc/grpclog"
|
|
|
|
|
+ "google.golang.org/grpc/health"
|
|
|
|
|
+ healthpb "google.golang.org/grpc/health/grpc_health_v1"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
const grpcOverheadBytes = 512 * 1024
|
|
const grpcOverheadBytes = 512 * 1024
|
|
@@ -48,5 +51,12 @@ func Server(s *etcdserver.EtcdServer, tls *tls.Config) *grpc.Server {
|
|
|
pb.RegisterAuthServer(grpcServer, NewAuthServer(s))
|
|
pb.RegisterAuthServer(grpcServer, NewAuthServer(s))
|
|
|
pb.RegisterMaintenanceServer(grpcServer, NewMaintenanceServer(s))
|
|
pb.RegisterMaintenanceServer(grpcServer, NewMaintenanceServer(s))
|
|
|
|
|
|
|
|
|
|
+ // server should register all the services manually
|
|
|
|
|
+ // use empty service name for all etcd services' health status,
|
|
|
|
|
+ // see https://github.com/grpc/grpc/blob/master/doc/health-checking.md for more
|
|
|
|
|
+ hsrv := health.NewServer()
|
|
|
|
|
+ hsrv.SetServingStatus("", healthpb.HealthCheckResponse_SERVING)
|
|
|
|
|
+ healthpb.RegisterHealthServer(grpcServer, hsrv)
|
|
|
|
|
+
|
|
|
return grpcServer
|
|
return grpcServer
|
|
|
}
|
|
}
|