hapi-on-kubernetes
v1.1.1
Published
A Hapi.js plugin to handle Kubernetes Liveness & Readiness probes
Downloads
835
Readme
Hapi on Kubernetes
A simple plugin design to connect the kubernetes probes to the lifecycles of Hapi
To use this plugin, you'll need to npm install hapi-on-kubernetes
then use the following plugin
await server.register({
plugin: require('hapi-on-kubernetes'),
options: {}
})
Here is a list of the optional options you can use when registering your plugin in Hapi.js
| Option | Default | Description |
| ------------------------ | ---------- | ------------------------------------------------------------ |
| shutdownTimeout
| 60000 | The timeout interval in ms that will force kill the hapi server during shutdown. This is only used if the server.stop()
process exceeds this timeout. |
| livenessProbeEndpoint
| /liveness | This kubernetes probe determines if the application is live and running. This probe is configured in your yaml to instruct the kubernetes system to check |
| heartbeatProbeEndpoint
| /heartbeat | The kubernetes probe to check the health of the application. This probe is configured in your yaml to instruct the kubernetes system to check |
| readinessProbeEndpoint
| /readiness | The kubernetes probe to check if your application is online and available to respond to requests. This probe is configured in your yaml to instructs the kubernetes system to check |
| startupRoutine
| () => {} | The function is called during the startup/warm up process of your hapi app. You can use this to warm up your caches, ensure redis, elasticsearch or your database is online. |
| shutdownRoutine
| () => {} | This function is called during the shutdown process of your hapi app. You can use this to ensure all of your database connections are closed gracefully. Ensure all tasks have completed or close all connections or sockets. Note that the time to execute this tasks can not exceed your shutdownTimeout
interval |
| showDebug
| false | This flag will allow you to run special test commands such as curl /shutdownTest
that will start a shutdown within kubernetes and also output debugging. |
| routeOptions
| {} | Additional route options that will be passed to the registered endpoints. This allows e.g. bypassing a default auth strategy by passing { auth: false }
. |