graceful-server

Tiny (~5k), KISS, dependency-free Node.JS library to make your API more graceful

OTHER License

Downloads
180.9K
Stars
254
Committers
4

Features

✔ It's listening system events to gracefully close your API on interruption.

✔ It facilitates the disconnect of data sources on shutdown.

✔ It facilitates the use of liveness and readiness.

✔ It manages the connections of your API.

✔ It avoid boilerplate codes.

✔ Kubernetes compliant.

✔ Dependency-free.

✔ KISS code base.

Requirements

✔ NodeJS >= 18.0

Installation

NPM

npm install --save @gquittet/graceful-server

PNPM

pnpm add @gquittet/graceful-server

YARN

yarn add @gquittet/graceful-server

Endpoint

Below you can find the default endpoint but you can setup or disable them. To do that, check out the Options part.

/live

The endpoint responds:

  • 200 status code with the uptime of the server in second.
{ "uptime": 42 }

Used to configure liveness probe.

/ready

The endpoint responds:

  • 200 status code if the server is ready.
{ "status": "ready" }
  • 503 status code with an empty response if the server is not ready (started, shutting down, etc).

Example

See: EXAMPLE.md

API Doc

See: API.md

Integration with Docker

See: DOCKER.md

Integration with Kubernetes

See: KUBERNETES.md

Thanks

Terminus

Lightship

Stoppable

Bret Fisher for his great articles and videos

IBM documentation

Node HTTP documentation

Cloud Health

Cloud Health Connect

Sponsors

Donate

If you like my job, don't hesitate to contribute to this project! ❤️

Package Rankings
Top 4.29% on Npmjs.org
Badges
Extracted from project README's
Donate
Related Projects