nodejs-health-checker
Version:
Simple Nodejs package to simplify applications based in Node, to trace the healthy of the pods
95 lines • 2.32 kB
TypeScript
import { Dialect } from "sequelize";
/**
* ApplicationHealth used to check all application integrations
* and return status of each of then
*/
export interface ApplicationHealthDetailed {
name: string;
status: boolean;
version: string;
date: Date;
duration: number;
integrations: Integration[];
}
export interface ApplicationHealthSimple {
status: string;
}
export interface Integration {
name: string;
kind: HealthIntegration;
status: boolean;
response_time: number;
url: string;
error?: string | Error | object | unknown;
}
export interface Auth {
user?: string;
password: string;
}
export interface ApplicationConfig {
name?: string;
version?: string;
integrations: IntegrationConfig[];
}
export interface IntegrationConfig {
type: HealthTypes;
name: string;
host: string;
port?: number;
headers?: HTTPHeader[];
db?: number;
timeout?: number;
auth?: Auth;
Aws?: Aws;
dbName?: string;
dbUser?: string;
dbPwd?: string;
dbDialect?: Dialect;
dbPort?: number;
customCheckerFunction?(): Promise<HTTPChecker>;
}
export interface Aws {
region?: string;
access_key_id?: string;
secret_access_key?: string;
}
export interface HTTPHeader {
key: string;
value: string;
}
export declare enum HealthTypes {
Redis = "Redis",
Memcached = "Memcached",
Web = "Web",
Dynamo = "Dynamo",
Database = "Database",
Custom = "Custom"
}
export declare enum HealthIntegration {
RedisIntegration = "Redis DB integration",
MemcachedIntegration = "Memcached integraton",
WebServiceIntegration = "Web integrated API",
DynamoDbIntegration = "AWS Dynamo DB",
DatabaseIntegration = "Database integration",
CustomIntegration = "Custom integration",
UnknownIntegration = "Unknown or missing integration type"
}
export declare enum Defaults {
RedisTimeout = 2000,
RedisDB = 0,
RedisPort = 6379,
MemcachedTimeout = 1000,
MemcachePort = 11211,
WebTimeout = 10000
}
export interface HTTPChecker {
status: boolean;
error?: string | Error | object | unknown;
}
export declare enum Dialects {
postgres = "postgres",
mysql = "mysql",
sqlite = "sqlite",
mariadb = "mariadb"
}
//# sourceMappingURL=types.d.ts.map