TerminusModule

NestJS 🟡 Mid

Définition

Module de health checks via @nestjs/terminus. Expose un endpoint /health qui vérifie la base de données, Redis, disque et services externes. HealthCheckService peut renvoyer un statut dégrade (degraded) en plus de ok/error ; chaque indicateur peut être borne dans le temps avec withTimeout() ou mis en cache avec cacheFor(), et gracefulShutdownTimeoutMs pilote l'arrêt propre sous un orchestrateur comme Kubernetes.

Analogie

Comme un bilan de santé : le médecin vérifié chaque organe et donne un bulletin de santé global.

Exemple de code

@Controller('health')
export class HealthController {
  constructor(private health: HealthCheckService,
    private db: TypeOrmHealthIndicator) {}

  @Get()
  check() {
    return this.health.check([
      () => this.db.pingCheck('database'),
    ]);
  }
}

Cas d'usage

Fournir un endpoint de santé pour les load balancers et orchestrateurs comme Kubernetes.

Anti-pattern

Retourner toujours 200 sur /health sans vérifier réellement l'état des dépendances.
#core

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre