hapi-on-kubernetes

1.1.1 • Public • Published

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 shutdownTimeoutinterval
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 }.

Package Sidebar

Install

npm i hapi-on-kubernetes

Weekly Downloads

110

Version

1.1.1

License

MIT

Unpacked Size

8.88 kB

Total Files

4

Last publish

Collaborators

  • deyoungjd