grpc-health-check
Health check client and service for use with gRPC-node.
Background
This package exports both a client and server that adhere to the gRPC Health Checking Protocol.
By using this package, clients and servers can rely on common proto and service definitions. This means:
- Clients can use the generated stubs to health check any server that adheres to the protocol.
- Servers do not reimplement common logic for publishing health statuses.
Installation
Use the package manager npm to install grpc-health-check
.
npm install grpc-health-check
Usage
Server
Any gRPC-node server can use grpc-health-check
to adhere to the gRPC Health Checking Protocol.
The following shows how this package can be added to a pre-existing gRPC server.
let health = require('grpc-health-check');
const statusMap = {
"ServiceFoo": proto.grpc.health.v1.HealthCheckResponse.ServingStatus.SERVING,
"ServiceBar": proto.grpc.health.v1.HealthCheckResponse.ServingStatus.NOT_SERVING,
"": proto.grpc.health.v1.HealthCheckResponse.ServingStatus.NOT_SERVING,
};
let healthImpl = new health.Implementation(statusMap);
server.addService(health.service, healthImpl);
Congrats! Your server now allows any client to run a health check against it.
Client
Any gRPC-node client can use grpc-health-check
to run health checks against other servers that follow the protocol.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Apache License 2.0