HealthCheckRegistryService

HealthCheckRegistryService

HealthCheckRegistryService

This service is used to register health indicator functions to be included in the health check. Health checks can be used by automated services such as Kubernetes to determine the state of applications it is running. They are also useful for administrators to get an overview of the health of all the parts of the Vendure stack.

It wraps the Nestjs Terminus module, so see those docs for information on creating custom health checks.

Plugins which rely on external services (web services, databases etc.) can make use of this service to add a check for that dependency to the Vendure health check.

To use it in your plugin, you’ll need to import the PluginCommonModule:

Example

import { HealthCheckRegistryService, PluginCommonModule, VendurePlugin } from '@vendure/core';
import { TerminusModule } from '@nestjs/terminus';

@VendurePlugin({
  imports: [PluginCommonModule, TerminusModule],
})
export class MyPlugin {
  constructor(
    private registry: HealthCheckRegistryService
    private dns: DNSHealthIndicator
  ) {
    registry.registerIndicatorFunction(
      () => this.dns.pingCheck('vendure-docs', 'https://www.vendure.io/docs/'),
    )
  }
}

Signature

class HealthCheckRegistryService {
  registerIndicatorFunction(fn: HealthIndicatorFunction | HealthIndicatorFunction[]) => ;
}

Members

registerIndicatorFunction

method
type:
(fn: HealthIndicatorFunction | HealthIndicatorFunction[]) =>
Registers one or more HealthIndicatorFunctions (see Nestjs docs) to be added to the health check endpoint. The indicator will also appear in the Admin UI’s “system status” view.