Skip to content
forked from nestjs/terminus

A terminus module for Nest framework (node.js) 🤖

Notifications You must be signed in to change notification settings

kjetilhp/terminus

 
 

Repository files navigation

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 Travis Linux Gitter Backers on Open Collective Sponsors on Open Collective

Description

The Terminus module for Nest.

Installation

npm install --save @nestjs/terminus @godaddy/terminus

Usage

Import the Terminus module with the following options for a database health check

const getTerminusOptions = (
  db: DatabaseHealthIndicator,
): TerminusModuleOptions => ({
  endpoints: [
    {
      // The health check will be available with /health
      url: '/health',
      // All the indicator which will be checked when requesting /health
      healthIndicators: [
        // Set the timeout for a response to 300ms
        async () => db.pingCheck('database', { timeout: 300 })
      ],
    },
  ],
});

@Module({
  imports:[
    // Make sure TypeOrmModule is available in the module context
    TypeOrmModule.forRoot({ ... }),
    TerminusModule.forRootAsync({
      // Inject the DatabaseHealthIndicator provided by nestjs/terminus
      inject: [DatabaseHealthIndicator],
      useFactory: db => getTerminusOptions(db),
    }),
  ],
})
export class HealthModule { }

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

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

For more information, see docs or for the internal documentation

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.

About

A terminus module for Nest framework (node.js) 🤖

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 98.0%
  • Other 2.0%