syntax = "proto3"; // See: https://github.com/grpc/grpc-go/blob/master/health/grpc_health_v1/health.proto // // We use the same health check service proto description defined in the gRPC documentation, // including the authorization check. This requires our own implementation of the health // package located in `manager/health`. // // For more infos, refer to: // https://github.com/grpc/grpc/blob/master/doc/health-checking.md package docker.swarmkit.v1; import "gogoproto/gogo.proto"; import "plugin/plugin.proto"; service Health { rpc Check(HealthCheckRequest) returns (HealthCheckResponse) { option (docker.protobuf.plugin.tls_authorization) = { roles: "swarm-manager" }; }; } message HealthCheckRequest { string service = 1; } message HealthCheckResponse { enum ServingStatus { UNKNOWN = 0; SERVING = 1; NOT_SERVING = 2; } ServingStatus status = 1; }