Neolithic Prancing Minotaurs

    @nestjs/terminus
    TypeScript icon, indicating that this package has built-in type declarations

    8.0.6 • Public • Published

    Nest Logo

    A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.

    NPM Version Package License NPM Downloads Discord Backers on Open Collective Sponsors on Open Collective

    Description

    This module contains integrated healthchecks for Nest.

    Installation

    @nestjs/terminus integrates with a lot of cool technologies, such as typeorm, grpc, mongodb, and many more! In case you have missed a dependency, @nestjs/terminus will throw an error and prompt you to install the required dependency. So you will only install what is actually required!

    npm install --save @nestjs/terminus
    

    Usage

    1. Import the Terminus module
    2. Make sure the additionally needed modules are available to (e.g. TypeOrmModule), in case you want to do Database Health Checks.
    // app.module.ts
    
    @Module({
      controllers: [HealthController],
      imports:[
        // Make sure TypeOrmModule is available in the module context
        TypeOrmModule.forRoot({ ... }),
        TerminusModule
      ],
    })
    export class HealthModule { }
    1. Setup your HealthController which executes your Health Check.
    // health.controller.ts
    
    @Controller('health')
    export class HealthController {
      constructor(
        private health: HealthCheckService,
        private db: TypeOrmHealthIndicator,
      ) {}
    
      @Get()
      @HealthCheck()
      readiness() {
        return this.health.check([
          async () => this.db.pingCheck('database', { timeout: 300 }),
        ]);
      }
    }

    If everything is set up correctly, you can access the healthcheck on http://localhost:3000/health.

    {
      "status": "ok",
      "info": {
        "database": {
          "status": "up"
        }
      },
      "details": {
        "database": {
          "status": "up"
        }
      }
    }

    For more information, see docs. You can find more samples in the samples/ folder of this repository.

    Contribute

    In order to get started, first read through our Contributing guidelines.

    Setup

    Setup the development environment by following these instructions:

    1. Fork & Clone the repository
    2. Install the dependencies
    npm install
    
    # To rebuild the project, run
    npm run build

    Test

    For unit testing run the following command:

    npm run test

    For e2e testing, make sure you have docker installed

    docker-compose up -d
    npm run test:e2e

    Support

    Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

    Stay in touch

    License

    Nest is MIT licensed.

    Keywords

    none

    Install

    npm i @nestjs/terminus

    DownloadsWeekly Downloads

    237,070

    Version

    8.0.6

    License

    MIT

    Unpacked Size

    196 kB

    Total Files

    104

    Last publish

    Collaborators

    • nestjscore
    • kamilmysliwiec
    • brunnerlivio