@mondart/nestjs-common-module-health-check 3.3.5 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -40,6 +40,30 @@ aggregate check (`/health-check/ready`) only pings the resources you
40
40
  configured. TypeORM is the one indicator that's on by default; see below to
41
41
  turn it off.
42
42
 
43
+ Use `readiness` to keep a configured dependency available through its
44
+ diagnostic endpoint without allowing that dependency to remove the application
45
+ from HTTP traffic. Omitted flags preserve the existing aggregate behavior:
46
+
47
+ ```ts
48
+ HealthCheckModule.register({
49
+ database: true,
50
+ redis: { host: 'localhost', port: 6379 },
51
+ bull: { host: 'localhost', port: 6379 },
52
+ kafka: { clientId: 'my-service', brokers: ['localhost:9092'] },
53
+ http: { docsUrl: 'https://my-service/docs' },
54
+ readiness: {
55
+ database: true,
56
+ redis: true,
57
+ bull: false,
58
+ kafka: false,
59
+ http: false,
60
+ },
61
+ });
62
+ ```
63
+
64
+ Use `/live` for container restart decisions and `/ready` for load-balancer
65
+ traffic decisions.
66
+
43
67
  ## Endpoints
44
68
 
45
69
  | Route | Behaviour |
@@ -2,8 +2,16 @@ import { ModuleMetadata, Type } from '@nestjs/common';
2
2
  import { SASLOptions } from 'kafkajs';
3
3
  import tls from 'tls';
4
4
  export declare const HEALTH_CHECK_MODULE_OPTIONS = "HEALTH_CHECK_MODULE_OPTIONS";
5
+ export interface HealthCheckReadinessOptions {
6
+ database?: boolean;
7
+ http?: boolean;
8
+ redis?: boolean;
9
+ bull?: boolean;
10
+ kafka?: boolean;
11
+ }
5
12
  export interface HealthCheckModuleOptions {
6
13
  messagePattern?: string;
14
+ redisTimeoutMs?: number;
7
15
  http?: {
8
16
  docsUrl: string;
9
17
  };
@@ -30,6 +38,7 @@ export interface HealthCheckModuleOptions {
30
38
  ssl?: tls.ConnectionOptions;
31
39
  };
32
40
  database?: boolean;
41
+ readiness?: HealthCheckReadinessOptions;
33
42
  }
34
43
  export interface HealthCheckModuleFactory {
35
44
  createModuleOptions: () => Promise<HealthCheckModuleOptions> | HealthCheckModuleOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"health-check-options.interface.d.ts","sourceRoot":"","sources":["../src/health-check-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC;KAC7B,CAAC;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,MACjB,OAAO,CAAC,wBAAwB,CAAC,GACjC,wBAAwB,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,cAAc,EACd,SAAS,CACV;IACC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;CACnE"}
1
+ {"version":3,"file":"health-check-options.interface.d.ts","sourceRoot":"","sources":["../src/health-check-options.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,OAAO,CAAC;KACf,CAAC;IACF,KAAK,CAAC,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC;KAC7B,CAAC;IAEF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAKnB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,MACnB,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;CAChE;AAED,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,cAAc,EACd,SAAS,CACV;IACC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7C,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,OAAO,CAAC,wBAAwB,CAAC,GAAG,wBAAwB,CAAC;CACnE"}
@@ -1,12 +1,14 @@
1
- import { Type } from '@nestjs/common';
1
+ import { Type, OnModuleDestroy } from '@nestjs/common';
2
2
  import { HealthCheckService, HttpHealthIndicator, MicroserviceHealthIndicator, TypeOrmHealthIndicator } from '@nestjs/terminus';
3
3
  import { HealthCheckModuleOptions } from './health-check-options.interface';
4
- export declare class HealthCheckController {
4
+ export declare class HealthCheckController implements OnModuleDestroy {
5
5
  private health;
6
6
  private http;
7
7
  private db;
8
8
  private microservice;
9
9
  private options;
10
+ private readonly redisClients;
11
+ private readonly redisProbes;
10
12
  constructor(health: HealthCheckService, http: HttpHealthIndicator, db: TypeOrmHealthIndicator, microservice: MicroserviceHealthIndicator, options: HealthCheckModuleOptions);
11
13
  checkAll(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>>>>;
12
14
  checkLive(): {
@@ -15,11 +17,38 @@ export declare class HealthCheckController {
15
17
  checkReady(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>>>>>;
16
18
  checkHttp(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"app-docs">, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"app-docs">>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"app-docs">>>>;
17
19
  checkTypeOrm(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"typeorm">, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"typeorm">>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<"typeorm">>>>;
18
- checkRedis(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>>>;
19
- checkBull(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>>>;
20
+ checkRedis(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
21
+ [key: string]: {
22
+ status: "up";
23
+ };
24
+ }, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
25
+ [key: string]: {
26
+ status: "up";
27
+ };
28
+ }>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
29
+ [key: string]: {
30
+ status: "up";
31
+ };
32
+ }>>>;
33
+ checkBull(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
34
+ [key: string]: {
35
+ status: "up";
36
+ };
37
+ }, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
38
+ [key: string]: {
39
+ status: "up";
40
+ };
41
+ }>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & {
42
+ [key: string]: {
43
+ status: "up";
44
+ };
45
+ }>>>;
20
46
  checkKafka(): Promise<import("@nestjs/terminus").HealthCheckResult<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>, Partial<import("@nestjs/terminus").HealthIndicatorResult<string, import("@nestjs/terminus").HealthIndicatorStatus, Record<string, any>> & import("@nestjs/terminus").HealthIndicatorResult<string>>>>;
47
+ onModuleDestroy(): void;
21
48
  private pingRedis;
49
+ private runRedisProbe;
22
50
  private pingKafka;
51
+ private isReadinessIndicatorEnabled;
23
52
  }
24
53
  export declare function createHealthCheckController(messagePattern?: string): Type<HealthCheckController>;
25
54
  //# sourceMappingURL=health-check.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health-check.controller.d.ts","sourceRoot":"","sources":["../src/health-check.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAO/D,OAAO,EAGL,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAY1C,qBAIa,qBAAqB;IAE9B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,OAAO;gBALP,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,sBAAsB,EAC1B,YAAY,EAAE,2BAA2B,EAEzC,OAAO,EAAE,wBAAwB;IAU3C,QAAQ;IAkCR,SAAS;;;IAST,UAAU;IAWV,SAAS;IAQT,YAAY;IAOZ,UAAU;IASV,SAAS;IAOT,UAAU;IAIV,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,SAAS;CAclB;AAQD,wBAAgB,2BAA2B,CACzC,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAAC,qBAAqB,CAAC,CAqB7B"}
1
+ {"version":3,"file":"health-check.controller.d.ts","sourceRoot":"","sources":["../src/health-check.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGhF,OAAO,EAGL,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,wBAAwB,EACzB,MAAM,kCAAkC,CAAC;AAY1C,qBAIa,qBAAsB,YAAW,eAAe;IAOzD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,OAAO;IAXjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;IACzD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;gBAEM,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,mBAAmB,EACzB,EAAE,EAAE,sBAAsB,EAC1B,YAAY,EAAE,2BAA2B,EAEzC,OAAO,EAAE,wBAAwB;IAU3C,QAAQ;IAqCR,SAAS;;;IAST,UAAU;IAWV,SAAS;IAQT,YAAY;IAOZ,UAAU;;oBA1F2B,IAAI;;;;oBAAJ,IAAI;;;;oBAAJ,IAAI;;;IAmGzC,SAAS;;oBAnG4B,IAAI;;;;oBAAJ,IAAI;;;;oBAAJ,IAAI;;;IA0GzC,UAAU;IAIV,eAAe,IAAI,IAAI;IAKvB,OAAO,CAAC,SAAS;YAUH,aAAa;IAiE3B,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,2BAA2B;CAKpC;AAQD,wBAAgB,2BAA2B,CACzC,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAAC,qBAAqB,CAAC,CAqB7B"}
@@ -11,10 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
+ var __importDefault = (this && this.__importDefault) || function (mod) {
15
+ return (mod && mod.__esModule) ? mod : { "default": mod };
16
+ };
14
17
  Object.defineProperty(exports, "__esModule", { value: true });
15
18
  exports.HealthCheckController = void 0;
16
19
  exports.createHealthCheckController = createHealthCheckController;
17
20
  const common_1 = require("@nestjs/common");
21
+ const ioredis_1 = __importDefault(require("ioredis"));
18
22
  const microservices_1 = require("@nestjs/microservices");
19
23
  const terminus_1 = require("@nestjs/terminus");
20
24
  const health_check_options_interface_1 = require("./health-check-options.interface");
@@ -28,22 +32,25 @@ let HealthCheckController = class HealthCheckController {
28
32
  this.db = db;
29
33
  this.microservice = microservice;
30
34
  this.options = options;
35
+ this.redisClients = new Map();
36
+ this.redisProbes = new Map();
31
37
  }
32
38
  checkAll() {
33
39
  const indicators = [];
34
- if (this.options.database !== false) {
40
+ if (this.options.database !== false &&
41
+ this.isReadinessIndicatorEnabled('database')) {
35
42
  indicators.push(() => this.db.pingCheck('typeorm'));
36
43
  }
37
- if (this.options.http) {
44
+ if (this.options.http && this.isReadinessIndicatorEnabled('http')) {
38
45
  indicators.push(() => this.http.pingCheck('app-docs', this.options.http.docsUrl));
39
46
  }
40
- if (this.options.redis) {
47
+ if (this.options.redis && this.isReadinessIndicatorEnabled('redis')) {
41
48
  indicators.push(() => this.pingRedis('redis', this.options.redis));
42
49
  }
43
- if (this.options.bull) {
50
+ if (this.options.bull && this.isReadinessIndicatorEnabled('bull')) {
44
51
  indicators.push(() => this.pingRedis('bull', this.options.bull));
45
52
  }
46
- if (this.options.kafka) {
53
+ if (this.options.kafka && this.isReadinessIndicatorEnabled('kafka')) {
47
54
  indicators.push(() => this.pingKafka());
48
55
  }
49
56
  return this.health.check(indicators);
@@ -75,23 +82,79 @@ let HealthCheckController = class HealthCheckController {
75
82
  checkKafka() {
76
83
  return this.health.check([() => this.pingKafka()]);
77
84
  }
85
+ onModuleDestroy() {
86
+ for (const client of this.redisClients.values())
87
+ client.disconnect();
88
+ this.redisClients.clear();
89
+ }
78
90
  pingRedis(name, options) {
79
- return this.microservice.pingCheck(name, {
80
- transport: microservices_1.Transport.REDIS,
81
- options: {
82
- host: options?.host,
83
- port: options?.port,
84
- username: options?.username,
85
- password: options?.password,
86
- db: options?.database,
87
- tls: options?.tls
88
- ? {
89
- host: options.host,
90
- port: options.port,
91
- }
92
- : undefined,
93
- },
91
+ const existing = this.redisProbes.get(name);
92
+ if (existing)
93
+ return existing;
94
+ const probe = this.runRedisProbe(name, options).finally(() => {
95
+ this.redisProbes.delete(name);
94
96
  });
97
+ this.redisProbes.set(name, probe);
98
+ return probe;
99
+ }
100
+ async runRedisProbe(name, options) {
101
+ if (!options) {
102
+ throw new terminus_1.HealthCheckError('Redis health check failed', {
103
+ [name]: {
104
+ status: 'down',
105
+ message: 'Redis health check is not configured',
106
+ },
107
+ });
108
+ }
109
+ const configuredTimeout = this.options.redisTimeoutMs;
110
+ const timeoutMs = Number.isFinite(configuredTimeout) && configuredTimeout > 0
111
+ ? configuredTimeout
112
+ : 2000;
113
+ let client = this.redisClients.get(name);
114
+ if (!client) {
115
+ client = new ioredis_1.default({
116
+ host: options.host,
117
+ port: options.port,
118
+ username: options.username,
119
+ password: options.password,
120
+ db: options.database,
121
+ tls: options.tls ? {} : undefined,
122
+ connectTimeout: timeoutMs,
123
+ commandTimeout: timeoutMs,
124
+ maxRetriesPerRequest: 0,
125
+ enableOfflineQueue: false,
126
+ lazyConnect: true,
127
+ });
128
+ client.on('error', () => undefined);
129
+ this.redisClients.set(name, client);
130
+ }
131
+ let timer;
132
+ try {
133
+ await Promise.race([
134
+ (async () => {
135
+ if (client.status === 'wait')
136
+ await client.connect();
137
+ if ((await client.ping()) !== 'PONG')
138
+ throw new Error('Unexpected reply');
139
+ })(),
140
+ new Promise((_, reject) => {
141
+ timer = setTimeout(() => reject(new Error('Probe timeout')), timeoutMs);
142
+ }),
143
+ ]);
144
+ return { [name]: { status: 'up' } };
145
+ }
146
+ catch {
147
+ client.disconnect();
148
+ if (this.redisClients.get(name) === client)
149
+ this.redisClients.delete(name);
150
+ throw new terminus_1.HealthCheckError('Redis health check failed', {
151
+ [name]: { status: 'down', message: 'Redis PING failed or timed out' },
152
+ });
153
+ }
154
+ finally {
155
+ if (timer)
156
+ clearTimeout(timer);
157
+ }
95
158
  }
96
159
  pingKafka() {
97
160
  return this.microservice.pingCheck('kafka', {
@@ -107,6 +170,9 @@ let HealthCheckController = class HealthCheckController {
107
170
  },
108
171
  });
109
172
  }
173
+ isReadinessIndicatorEnabled(indicator) {
174
+ return this.options.readiness?.[indicator] !== false;
175
+ }
110
176
  };
111
177
  exports.HealthCheckController = HealthCheckController;
112
178
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"health-check.controller.js","sourceRoot":"","sources":["../src/health-check.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health-check.controller.js","sourceRoot":"","sources":["../src/health-check.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA6PA,kEAuBC;AApRD,2CAAgF;AAChF,sDAA4B;AAC5B,yDAAgF;AAChF,+CAQ0B;AAC1B,qFAG0C;AAC1C,8FAAmF;AACnF,wFAAwF;AACxF,gFAA8D;AAavD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMhC,YACU,MAA0B,EAC1B,IAAyB,EACzB,EAA0B,EAC1B,YAAyC,EAEjD,OAAyC;QALjC,WAAM,GAAN,MAAM,CAAoB;QAC1B,SAAI,GAAJ,IAAI,CAAqB;QACzB,OAAE,GAAF,EAAE,CAAwB;QAC1B,iBAAY,GAAZ,YAAY,CAA6B;QAEzC,YAAO,GAAP,OAAO,CAA0B;QAX1B,iBAAY,GAAG,IAAI,GAAG,EAAiB,CAAC;QACxC,gBAAW,GAAG,IAAI,GAAG,EAGnC,CAAC;IAQD,CAAC;IASJ,QAAQ;QACN,MAAM,UAAU,GAA8B,EAAE,CAAC;QAEjD,IACE,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;YAC/B,IAAI,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAC5C,CAAC;YACD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CACnB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,CAAC;YACpE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAQD,SAAS;QACP,OAAO;YACL,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IASD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IAID,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YACvB,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAKD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAKD,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,eAAe;QACb,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,OAA0C;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,IAAY,EACZ,OAA0C;QAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,2BAAgB,CAAC,2BAA2B,EAAE;gBACtD,CAAC,IAAI,CAAC,EAAE;oBACN,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,sCAAsC;iBAChD;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACtD,MAAM,SAAS,GACb,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAkB,GAAG,CAAC;YAC1D,CAAC,CAAC,iBAAkB;YACpB,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,iBAAK,CAAC;gBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,EAAE,EAAE,OAAO,CAAC,QAAQ;gBACpB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACjC,cAAc,EAAE,SAAS;gBACzB,cAAc,EAAE,SAAS;gBACzB,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB,EAAE,KAAK;gBACzB,WAAW,EAAE,IAAI;aAClB,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,CAAC,KAAK,IAAI,EAAE;oBACV,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;wBAAE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;oBACrD,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM;wBAClC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACxC,CAAC,CAAC,EAAE;gBACJ,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,EACxC,SAAS,CACV,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAa,EAAE,EAAE,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YAEP,MAAM,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM;gBACxC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,IAAI,2BAAgB,CAAC,2BAA2B,EAAE;gBACtD,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,EAAE;aACtE,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAe,OAAO,EAAE;YACxD,SAAS,EAAE,yBAAS,CAAC,KAAK;YAC1B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ;oBACtC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO;oBACpC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI;oBAC9B,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;iBAC7B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CACjC,SAAmE;QAEnE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC;IACvD,CAAC;CACF,CAAA;AAtNY,sDAAqB;AA2DhC;IADC,IAAA,YAAG,EAAC,MAAM,CAAC;;;;sDAKX;AAKD;IAFC,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,sBAAW,GAAE;;;;uDAGb;AASD;IAFC,IAAA,YAAG,EAAC,MAAM,CAAC;IACX,IAAA,sBAAW,GAAE;;;;sDAKb;AAID;IAFC,IAAA,YAAG,EAAC,UAAU,CAAC;IACf,IAAA,sBAAW,GAAE;;;;yDAGb;AAKD;IAFC,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,sBAAW,GAAE;;;;uDAKb;AAKD;IAFC,IAAA,YAAG,EAAC,MAAM,CAAC;IACX,IAAA,sBAAW,GAAE;;;;sDAGb;AAKD;IAFC,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,sBAAW,GAAE;;;;uDAGb;gCAhHU,qBAAqB;IAJjC,IAAA,oCAAS,GAAE;IACX,IAAA,8DAA+B,GAAE;IACjC,IAAA,yDAAuB,GAAE;IACzB,IAAA,mBAAU,EAAC,cAAc,CAAC;IAYtB,WAAA,IAAA,eAAM,EAAC,4DAA2B,CAAC,CAAA;qCAJpB,6BAAkB;QACpB,8BAAmB;QACrB,iCAAsB;QACZ,sCAA2B;GAVxC,qBAAqB,CAsNjC;AAQD,SAAgB,2BAA2B,CACzC,cAAuB;IAEvB,MAAM,+BAAgC,SAAQ,qBAAqB;QACjE,QAAQ;YACN,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1B,CAAC;KACF;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAChD,+BAA+B,CAAC,SAAS,EACzC,UAAU,CACX,CAAC;QAEF,IAAA,8BAAc,EAAC,cAAc,CAAC,CAC5B,+BAA+B,CAAC,SAAS,EACzC,UAAU,EACV,UAAU,CACX,CAAC;IACJ,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mondart/nestjs-common-module-health-check",
3
- "version": "3.3.5",
3
+ "version": "3.3.7",
4
4
  "description": "Health check module for NestJS.",
5
5
  "author": {
6
6
  "name": "Mondart"
@@ -17,16 +17,17 @@
17
17
  "build": "tsc -p tsconfig.json"
18
18
  },
19
19
  "dependencies": {
20
- "@mondart/nestjs-common-module-bottleneck": "3.2.10",
21
- "@mondart/nestjs-common-module-caching": "3.2.3",
22
- "@mondart/nestjs-common-module-core": "3.2.8",
23
- "@mondart/nestjs-common-module-iam": "3.2.10",
20
+ "@mondart/nestjs-common-module-bottleneck": "3.2.12",
21
+ "@mondart/nestjs-common-module-caching": "3.2.4",
22
+ "@mondart/nestjs-common-module-core": "3.2.10",
23
+ "@mondart/nestjs-common-module-iam": "3.2.11",
24
24
  "@nestjs/axios": "^4.0.0",
25
25
  "@nestjs/microservices": "^11.1.10",
26
26
  "@nestjs/terminus": "^11.0.0",
27
27
  "axios": "~1.16.1",
28
28
  "express-basic-auth": "^1.2.1",
29
- "kafkajs": "^2.2.4"
29
+ "kafkajs": "^2.2.4",
30
+ "ioredis": "^5.4.1"
30
31
  },
31
32
  "peerDependencies": {
32
33
  "@nestjs/common": "^11.1.10",