@squidcloud/local-backend 1.0.34 → 1.0.36
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/dist/common/src/ai-assistant.context.d.ts +13 -13
- package/dist/common/src/ai-assistant.context.js +19 -19
- package/dist/common/src/ai-assistant.schemas.d.ts +207 -207
- package/dist/common/src/ai-assistant.schemas.js +196 -196
- package/dist/common/src/ai-assistant.types.d.ts +80 -80
- package/dist/common/src/ai-assistant.types.js +11 -11
- package/dist/common/src/api-call.context.d.ts +13 -13
- package/dist/common/src/api-call.context.js +16 -16
- package/dist/common/src/api.types.d.ts +23 -23
- package/dist/common/src/api.types.js +2 -2
- package/dist/common/src/application.schemas.d.ts +1168 -1168
- package/dist/common/src/application.schemas.js +741 -741
- package/dist/common/src/application.types.d.ts +228 -228
- package/dist/common/src/application.types.js +89 -89
- package/dist/common/src/backend-function.schemas.d.ts +3 -3
- package/dist/common/src/backend-function.schemas.js +12 -12
- package/dist/common/src/backend-function.types.d.ts +6 -6
- package/dist/common/src/backend-function.types.js +2 -2
- package/dist/common/src/backend-run.types.d.ts +54 -54
- package/dist/common/src/backend-run.types.js +73 -73
- package/dist/common/src/bundle-api.types.d.ts +71 -71
- package/dist/common/src/bundle-api.types.js +2 -2
- package/dist/common/src/bundle-data.types.d.ts +59 -59
- package/dist/common/src/bundle-data.types.js +2 -2
- package/dist/common/src/communication.types.d.ts +18 -17
- package/dist/common/src/communication.types.js +40 -36
- package/dist/common/src/communication.types.js.map +1 -1
- package/dist/common/src/context.types.d.ts +24 -24
- package/dist/common/src/context.types.js +2 -2
- package/dist/common/src/distributed-lock.context.d.ts +5 -5
- package/dist/common/src/distributed-lock.context.js +10 -10
- package/dist/common/src/document.types.d.ts +31 -31
- package/dist/common/src/document.types.js +49 -49
- package/dist/common/src/graphql.context.d.ts +14 -14
- package/dist/common/src/graphql.context.js +12 -12
- package/dist/common/src/graphql.types.d.ts +11 -11
- package/dist/common/src/graphql.types.js +34 -34
- package/dist/common/src/heartbeat.types.d.ts +4 -4
- package/dist/common/src/heartbeat.types.js +16 -16
- package/dist/common/src/http-status.enum.d.ts +50 -50
- package/dist/common/src/http-status.enum.js +54 -54
- package/dist/common/src/index.d.ts +54 -54
- package/dist/common/src/index.js +70 -70
- package/dist/common/src/integrations/ai_assistant.types.d.ts +30 -30
- package/dist/common/src/integrations/ai_assistant.types.js +2 -2
- package/dist/common/src/integrations/api.types.d.ts +80 -80
- package/dist/common/src/integrations/api.types.js +2 -2
- package/dist/common/src/integrations/auth.types.d.ts +39 -39
- package/dist/common/src/integrations/auth.types.js +2 -2
- package/dist/common/src/integrations/database.types.d.ts +236 -236
- package/dist/common/src/integrations/database.types.js +2 -2
- package/dist/common/src/integrations/index.d.ts +101 -101
- package/dist/common/src/integrations/index.js +105 -105
- package/dist/common/src/integrations/observability.types.d.ts +22 -22
- package/dist/common/src/integrations/observability.types.js +14 -14
- package/dist/common/src/logger.types.d.ts +21 -21
- package/dist/common/src/logger.types.js +11 -11
- package/dist/common/src/metrics.types.d.ts +58 -58
- package/dist/common/src/metrics.types.js +11 -11
- package/dist/common/src/mutation.context.d.ts +13 -13
- package/dist/common/src/mutation.context.js +26 -26
- package/dist/common/src/mutation.schemas.d.ts +5 -5
- package/dist/common/src/mutation.schemas.js +114 -114
- package/dist/common/src/mutation.types.d.ts +63 -63
- package/dist/common/src/mutation.types.js +142 -142
- package/dist/common/src/named-query.context.d.ts +4 -4
- package/dist/common/src/named-query.context.js +9 -9
- package/dist/common/src/named-query.schemas.d.ts +3 -3
- package/dist/common/src/named-query.schemas.js +13 -13
- package/dist/common/src/named-query.types.d.ts +8 -8
- package/dist/common/src/named-query.types.js +2 -2
- package/dist/common/src/query/index.d.ts +2 -2
- package/dist/common/src/query/index.js +18 -18
- package/dist/common/src/query/query-context.d.ts +29 -29
- package/dist/common/src/query/query-context.js +185 -185
- package/dist/common/src/query/simple-query-builder.d.ts +29 -29
- package/dist/common/src/query/simple-query-builder.js +114 -114
- package/dist/common/src/query.schemas.d.ts +6 -6
- package/dist/common/src/query.schemas.js +96 -96
- package/dist/common/src/query.types.d.ts +92 -92
- package/dist/common/src/query.types.js +134 -134
- package/dist/common/src/regions.d.ts +21 -21
- package/dist/common/src/regions.js +46 -46
- package/dist/common/src/schema/schema.types.d.ts +30 -30
- package/dist/common/src/schema/schema.types.js +172 -172
- package/dist/common/src/secret.schemas.d.ts +6 -6
- package/dist/common/src/secret.schemas.js +32 -32
- package/dist/common/src/secret.types.d.ts +49 -49
- package/dist/common/src/secret.types.js +5 -5
- package/dist/common/src/security.types.d.ts +3 -3
- package/dist/common/src/security.types.js +2 -2
- package/dist/common/src/socket.schemas.d.ts +3 -3
- package/dist/common/src/socket.schemas.js +58 -58
- package/dist/common/src/socket.types.d.ts +108 -108
- package/dist/common/src/socket.types.js +2 -2
- package/dist/common/src/time-units.d.ts +5 -5
- package/dist/common/src/time-units.js +8 -8
- package/dist/common/src/trigger.types.d.ts +15 -15
- package/dist/common/src/trigger.types.js +2 -2
- package/dist/common/src/types.d.ts +15 -15
- package/dist/common/src/types.js +2 -2
- package/dist/common/src/utils/array.d.ts +8 -8
- package/dist/common/src/utils/array.js +51 -51
- package/dist/common/src/utils/assert.d.ts +8 -8
- package/dist/common/src/utils/assert.js +49 -49
- package/dist/common/src/utils/error.d.ts +4 -4
- package/dist/common/src/utils/error.js +10 -10
- package/dist/common/src/utils/http.d.ts +2 -2
- package/dist/common/src/utils/http.js +38 -38
- package/dist/common/src/utils/id.d.ts +2 -2
- package/dist/common/src/utils/id.js +21 -21
- package/dist/common/src/utils/lock.manager.d.ts +9 -9
- package/dist/common/src/utils/lock.manager.js +39 -39
- package/dist/common/src/utils/nullish.d.ts +1 -1
- package/dist/common/src/utils/nullish.js +7 -7
- package/dist/common/src/utils/object.d.ts +6 -6
- package/dist/common/src/utils/object.js +89 -89
- package/dist/common/src/utils/serialization.d.ts +6 -6
- package/dist/common/src/utils/serialization.js +54 -54
- package/dist/common/src/utils/transforms.d.ts +18 -18
- package/dist/common/src/utils/transforms.js +92 -92
- package/dist/common/src/utils/url.d.ts +1 -1
- package/dist/common/src/utils/url.js +15 -15
- package/dist/common/src/utils/validation.d.ts +17 -17
- package/dist/common/src/utils/validation.js +209 -209
- package/dist/common/src/webhook-response.d.ts +7 -7
- package/dist/common/src/webhook-response.js +7 -7
- package/dist/internal-common/src/async-queue.d.ts +4 -0
- package/dist/internal-common/src/async-queue.js +18 -0
- package/dist/internal-common/src/async-queue.js.map +1 -0
- package/dist/internal-common/src/code-executor.types.d.ts +13 -13
- package/dist/internal-common/src/code-executor.types.js +2 -2
- package/dist/internal-common/src/environment/environment.types.d.ts +71 -71
- package/dist/internal-common/src/environment/environment.types.js +2 -2
- package/dist/internal-common/src/environment/index.d.ts +6 -6
- package/dist/internal-common/src/environment/index.js +25 -25
- package/dist/internal-common/src/environment/local.environment.d.ts +2 -2
- package/dist/internal-common/src/environment/local.environment.js +59 -59
- package/dist/internal-common/src/index.d.ts +11 -10
- package/dist/internal-common/src/index.js +29 -28
- package/dist/internal-common/src/index.js.map +1 -1
- package/dist/internal-common/src/kafka/kafka.manager.d.ts +22 -19
- package/dist/internal-common/src/kafka/kafka.manager.js +128 -128
- package/dist/internal-common/src/kafka/kafka.manager.js.map +1 -1
- package/dist/internal-common/src/kafka/kafka.types.d.ts +17 -17
- package/dist/internal-common/src/kafka/kafka.types.js +2 -2
- package/dist/internal-common/src/kafka-observability-publisher.d.ts +11 -11
- package/dist/internal-common/src/kafka-observability-publisher.js +20 -20
- package/dist/internal-common/src/kafka-observability-publisher.js.map +1 -1
- package/dist/internal-common/src/local-dev.types.d.ts +31 -31
- package/dist/internal-common/src/local-dev.types.js +2 -2
- package/dist/internal-common/src/observability-publisher.d.ts +9 -9
- package/dist/internal-common/src/observability-publisher.js +58 -58
- package/dist/internal-common/src/observability.types.d.ts +17 -17
- package/dist/internal-common/src/observability.types.js +2 -2
- package/dist/internal-common/src/shutdown.manager.d.ts +20 -20
- package/dist/internal-common/src/shutdown.manager.js +76 -76
- package/dist/internal-common/src/utils.d.ts +5 -5
- package/dist/internal-common/src/utils.js +29 -29
- package/dist/local-backend/src/index.d.ts +4 -4
- package/dist/local-backend/src/index.js +20 -20
- package/dist/local-backend/src/local-backend-socket.service.d.ts +18 -18
- package/dist/local-backend/src/local-backend-socket.service.js +108 -109
- package/dist/local-backend/src/local-backend-socket.service.js.map +1 -1
- package/dist/local-backend/src/local-backend.app.d.ts +2 -2
- package/dist/local-backend/src/local-backend.app.js +19 -19
- package/dist/local-backend/src/local-backend.controller.d.ts +8 -8
- package/dist/local-backend/src/local-backend.controller.js +49 -49
- package/dist/local-backend/src/local-backend.module.d.ts +8 -8
- package/dist/local-backend/src/local-backend.module.js +53 -53
- package/dist/local-backend/src/local-backend.service.d.ts +15 -15
- package/dist/local-backend/src/local-backend.service.js +165 -165
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { LogEntry, logLevel, Mechanism, SASLOptions } from 'kafkajs';
|
|
2
|
-
export type TopicId = string;
|
|
3
|
-
export interface MessageEnvelope<T> {
|
|
4
|
-
data: T;
|
|
5
|
-
offset: string;
|
|
6
|
-
timestamp: number;
|
|
7
|
-
partition: number;
|
|
8
|
-
topicId: TopicId;
|
|
9
|
-
commit: () => void;
|
|
10
|
-
}
|
|
11
|
-
export interface KafkaConnectionConfig {
|
|
12
|
-
clusterUrls: string[];
|
|
13
|
-
logAdapter?: (logLevel: logLevel) => (entry: LogEntry) => void;
|
|
14
|
-
ssl: boolean;
|
|
15
|
-
sasl?: SASLOptions | Mechanism;
|
|
16
|
-
consumerSessionTimeoutMs: number;
|
|
17
|
-
}
|
|
1
|
+
import { LogEntry, logLevel, Mechanism, SASLOptions } from 'kafkajs';
|
|
2
|
+
export type TopicId = string;
|
|
3
|
+
export interface MessageEnvelope<T> {
|
|
4
|
+
data: T;
|
|
5
|
+
offset: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
partition: number;
|
|
8
|
+
topicId: TopicId;
|
|
9
|
+
commit: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface KafkaConnectionConfig {
|
|
12
|
+
clusterUrls: string[];
|
|
13
|
+
logAdapter?: (logLevel: logLevel) => (entry: LogEntry) => void;
|
|
14
|
+
ssl: boolean;
|
|
15
|
+
sasl?: SASLOptions | Mechanism;
|
|
16
|
+
consumerSessionTimeoutMs: number;
|
|
17
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=kafka.types.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { LogEvent, MetricEvent } from './observability.types';
|
|
2
|
-
import { KafkaManager } from './kafka/kafka.manager';
|
|
3
|
-
import { ObservabilityPublisher } from './observability-publisher';
|
|
4
|
-
export declare class KafkaObservabilityPublisher extends ObservabilityPublisher {
|
|
5
|
-
private readonly kafkaManager;
|
|
6
|
-
private readonly metricsTopicId;
|
|
7
|
-
private readonly logsTopicId;
|
|
8
|
-
constructor(kafkaManager: KafkaManager, metricsTopicId: string, logsTopicId: string);
|
|
9
|
-
reportMetric(event: Omit<MetricEvent, 'timestamp'>): Promise<void>;
|
|
10
|
-
reportLog(event: LogEvent): Promise<void>;
|
|
11
|
-
}
|
|
1
|
+
import { LogEvent, MetricEvent } from './observability.types';
|
|
2
|
+
import { KafkaManager } from './kafka/kafka.manager';
|
|
3
|
+
import { ObservabilityPublisher } from './observability-publisher';
|
|
4
|
+
export declare class KafkaObservabilityPublisher extends ObservabilityPublisher {
|
|
5
|
+
private readonly kafkaManager;
|
|
6
|
+
private readonly metricsTopicId;
|
|
7
|
+
private readonly logsTopicId;
|
|
8
|
+
constructor(kafkaManager: KafkaManager, metricsTopicId: string, logsTopicId: string);
|
|
9
|
+
reportMetric(event: Omit<MetricEvent, 'timestamp'>): Promise<void>;
|
|
10
|
+
reportLog(event: LogEvent): Promise<void>;
|
|
11
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KafkaObservabilityPublisher = void 0;
|
|
4
|
-
const observability_publisher_1 = require("./observability-publisher");
|
|
5
|
-
class KafkaObservabilityPublisher extends observability_publisher_1.ObservabilityPublisher {
|
|
6
|
-
constructor(kafkaManager, metricsTopicId, logsTopicId) {
|
|
7
|
-
super();
|
|
8
|
-
this.kafkaManager = kafkaManager;
|
|
9
|
-
this.metricsTopicId = metricsTopicId;
|
|
10
|
-
this.logsTopicId = logsTopicId;
|
|
11
|
-
}
|
|
12
|
-
async reportMetric(event) {
|
|
13
|
-
const modifiedEvent = Object.assign(Object.assign({}, event), { timestamp: new Date(), name: `squid_${event.name}` });
|
|
14
|
-
await this.kafkaManager.sendMessage(this.metricsTopicId, modifiedEvent);
|
|
15
|
-
}
|
|
16
|
-
async reportLog(event) {
|
|
17
|
-
await this.kafkaManager.sendMessage(this.logsTopicId, event);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.KafkaObservabilityPublisher = KafkaObservabilityPublisher;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KafkaObservabilityPublisher = void 0;
|
|
4
|
+
const observability_publisher_1 = require("./observability-publisher");
|
|
5
|
+
class KafkaObservabilityPublisher extends observability_publisher_1.ObservabilityPublisher {
|
|
6
|
+
constructor(kafkaManager, metricsTopicId, logsTopicId) {
|
|
7
|
+
super();
|
|
8
|
+
this.kafkaManager = kafkaManager;
|
|
9
|
+
this.metricsTopicId = metricsTopicId;
|
|
10
|
+
this.logsTopicId = logsTopicId;
|
|
11
|
+
}
|
|
12
|
+
async reportMetric(event) {
|
|
13
|
+
const modifiedEvent = Object.assign(Object.assign({}, event), { timestamp: new Date(), name: `squid_${event.name}` });
|
|
14
|
+
await this.kafkaManager.sendMessage(this.metricsTopicId, modifiedEvent, 'report_metric');
|
|
15
|
+
}
|
|
16
|
+
async reportLog(event) {
|
|
17
|
+
await this.kafkaManager.sendMessage(this.logsTopicId, event, 'report_log');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.KafkaObservabilityPublisher = KafkaObservabilityPublisher;
|
|
21
21
|
//# sourceMappingURL=kafka-observability-publisher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kafka-observability-publisher.js","sourceRoot":"","sources":["../../../../internal-common/src/kafka-observability-publisher.ts"],"names":[],"mappings":";;;AAEA,uEAAmE;AAEnE,MAAa,2BAA4B,SAAQ,gDAAsB;IACrE,YACmB,YAA0B,EAC1B,cAAsB,EACtB,WAAmB;QAEpC,KAAK,EAAE,CAAC;QAJS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAQ;QACtB,gBAAW,GAAX,WAAW,CAAQ;IAGtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAqC;QACtD,MAAM,aAAa,mCAAqB,KAAK,KAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE,GAAE,CAAC;QACpG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"kafka-observability-publisher.js","sourceRoot":"","sources":["../../../../internal-common/src/kafka-observability-publisher.ts"],"names":[],"mappings":";;;AAEA,uEAAmE;AAEnE,MAAa,2BAA4B,SAAQ,gDAAsB;IACrE,YACmB,YAA0B,EAC1B,cAAsB,EACtB,WAAmB;QAEpC,KAAK,EAAE,CAAC;QAJS,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAQ;QACtB,gBAAW,GAAX,WAAW,CAAQ;IAGtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAqC;QACtD,MAAM,aAAa,mCAAqB,KAAK,KAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE,GAAE,CAAC;QACpG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAe;QAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;CACF;AAjBD,kEAiBC"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { RunSecrets } from '@squidcloud/common';
|
|
2
|
-
import { BatchRunConfigurationRequest } from './code-executor.types';
|
|
3
|
-
export type MessageFromDeveloperType = 'bundleData' | 'response';
|
|
4
|
-
interface BaseMessageFromDeveloper {
|
|
5
|
-
type: MessageFromDeveloperType;
|
|
6
|
-
payload?: unknown;
|
|
7
|
-
requestId: string;
|
|
8
|
-
}
|
|
9
|
-
export type MessageFromDeveloper = ResponseMessageFromDeveloper;
|
|
10
|
-
export interface ResponseMessageFromDeveloper extends BaseMessageFromDeveloper {
|
|
11
|
-
type: 'response';
|
|
12
|
-
payload: any;
|
|
13
|
-
}
|
|
14
|
-
export type MessageToDeveloperType = 'executeFunction' | 'localBackendData';
|
|
15
|
-
interface BaseMessageToDeveloper {
|
|
16
|
-
type: MessageToDeveloperType;
|
|
17
|
-
payload: unknown;
|
|
18
|
-
requestId: string;
|
|
19
|
-
}
|
|
20
|
-
export type MessageToDeveloper = ExecuteFunctionMessageToDeveloper | LocalBackendDataMessageToDeveloper;
|
|
21
|
-
export interface ExecuteFunctionMessageToDeveloper extends BaseMessageToDeveloper {
|
|
22
|
-
type: 'executeFunction';
|
|
23
|
-
payload: BatchRunConfigurationRequest;
|
|
24
|
-
}
|
|
25
|
-
export interface LocalBackendDataMessageToDeveloper extends BaseMessageToDeveloper {
|
|
26
|
-
type: 'localBackendData';
|
|
27
|
-
payload: {
|
|
28
|
-
secrets: RunSecrets;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
export {};
|
|
1
|
+
import { RunSecrets } from '@squidcloud/common';
|
|
2
|
+
import { BatchRunConfigurationRequest } from './code-executor.types';
|
|
3
|
+
export type MessageFromDeveloperType = 'bundleData' | 'response';
|
|
4
|
+
interface BaseMessageFromDeveloper {
|
|
5
|
+
type: MessageFromDeveloperType;
|
|
6
|
+
payload?: unknown;
|
|
7
|
+
requestId: string;
|
|
8
|
+
}
|
|
9
|
+
export type MessageFromDeveloper = ResponseMessageFromDeveloper;
|
|
10
|
+
export interface ResponseMessageFromDeveloper extends BaseMessageFromDeveloper {
|
|
11
|
+
type: 'response';
|
|
12
|
+
payload: any;
|
|
13
|
+
}
|
|
14
|
+
export type MessageToDeveloperType = 'executeFunction' | 'localBackendData';
|
|
15
|
+
interface BaseMessageToDeveloper {
|
|
16
|
+
type: MessageToDeveloperType;
|
|
17
|
+
payload: unknown;
|
|
18
|
+
requestId: string;
|
|
19
|
+
}
|
|
20
|
+
export type MessageToDeveloper = ExecuteFunctionMessageToDeveloper | LocalBackendDataMessageToDeveloper;
|
|
21
|
+
export interface ExecuteFunctionMessageToDeveloper extends BaseMessageToDeveloper {
|
|
22
|
+
type: 'executeFunction';
|
|
23
|
+
payload: BatchRunConfigurationRequest;
|
|
24
|
+
}
|
|
25
|
+
export interface LocalBackendDataMessageToDeveloper extends BaseMessageToDeveloper {
|
|
26
|
+
type: 'localBackendData';
|
|
27
|
+
payload: {
|
|
28
|
+
secrets: RunSecrets;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=local-dev.types.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { LogEvent, MetricEvent } from './observability.types';
|
|
2
|
-
export declare abstract class ObservabilityPublisher {
|
|
3
|
-
abstract reportMetric(event: Omit<MetricEvent, 'timestamp'>): Promise<void>;
|
|
4
|
-
abstract reportLog(event: LogEvent): Promise<void>;
|
|
5
|
-
timeFunction(event: Omit<MetricEvent, 'type' | 'timestamp' | 'value'>, timedFunction: () => Promise<any>): Promise<any>;
|
|
6
|
-
measureMetric<T extends (...args: any[]) => any>(func: T, name: string, tags: Record<string, string> | undefined, isExposedToUser: boolean, reportTime: boolean): ReturnType<T>;
|
|
7
|
-
reportTimeMetric(name: string, isExposedToUser: boolean, startTime: number, tags: Record<string, string>): void;
|
|
8
|
-
reportCountMetric(name: string, isExposedToUser: boolean, tags: Record<string, string>, success: boolean): void;
|
|
9
|
-
}
|
|
1
|
+
import { LogEvent, MetricEvent } from './observability.types';
|
|
2
|
+
export declare abstract class ObservabilityPublisher {
|
|
3
|
+
abstract reportMetric(event: Omit<MetricEvent, 'timestamp'>): Promise<void>;
|
|
4
|
+
abstract reportLog(event: LogEvent): Promise<void>;
|
|
5
|
+
timeFunction(event: Omit<MetricEvent, 'type' | 'timestamp' | 'value'>, timedFunction: () => Promise<any>): Promise<any>;
|
|
6
|
+
measureMetric<T extends (...args: any[]) => any>(func: T, name: string, tags: Record<string, string> | undefined, isExposedToUser: boolean, reportTime: boolean): ReturnType<T>;
|
|
7
|
+
reportTimeMetric(name: string, isExposedToUser: boolean, startTime: number, tags: Record<string, string>): void;
|
|
8
|
+
reportCountMetric(name: string, isExposedToUser: boolean, tags: Record<string, string>, success: boolean): void;
|
|
9
|
+
}
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ObservabilityPublisher = void 0;
|
|
4
|
-
class ObservabilityPublisher {
|
|
5
|
-
async timeFunction(event, timedFunction) {
|
|
6
|
-
const startTime = Date.now();
|
|
7
|
-
const result = await timedFunction();
|
|
8
|
-
this.reportMetric(Object.assign(Object.assign({}, event), { type: 'gauge', value: Date.now() - startTime })).then();
|
|
9
|
-
return result;
|
|
10
|
-
}
|
|
11
|
-
measureMetric(func, name, tags = {}, isExposedToUser, reportTime) {
|
|
12
|
-
try {
|
|
13
|
-
const startTime = Date.now();
|
|
14
|
-
const result = func();
|
|
15
|
-
if (result instanceof Promise) {
|
|
16
|
-
return result
|
|
17
|
-
.then((r) => {
|
|
18
|
-
if (reportTime)
|
|
19
|
-
this.reportTimeMetric(name, isExposedToUser, startTime, tags);
|
|
20
|
-
this.reportCountMetric(name, isExposedToUser, tags, true);
|
|
21
|
-
return r;
|
|
22
|
-
})
|
|
23
|
-
.catch((e) => {
|
|
24
|
-
this.reportCountMetric(name, isExposedToUser, tags, false);
|
|
25
|
-
throw e;
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (reportTime)
|
|
29
|
-
this.reportTimeMetric(name, isExposedToUser, startTime, tags);
|
|
30
|
-
this.reportCountMetric(name, isExposedToUser, tags, true);
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
this.reportCountMetric(name, isExposedToUser, tags, false);
|
|
35
|
-
throw e;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
reportTimeMetric(name, isExposedToUser, startTime, tags) {
|
|
39
|
-
this.reportMetric({
|
|
40
|
-
name: `${name}_time`,
|
|
41
|
-
isExposedToUser,
|
|
42
|
-
tags,
|
|
43
|
-
value: Date.now() - startTime,
|
|
44
|
-
type: 'gauge',
|
|
45
|
-
}).then();
|
|
46
|
-
}
|
|
47
|
-
reportCountMetric(name, isExposedToUser, tags, success) {
|
|
48
|
-
tags = Object.assign(Object.assign({}, tags), { success: success ? 'true' : 'false' });
|
|
49
|
-
this.reportMetric({
|
|
50
|
-
name: `${name}_count`,
|
|
51
|
-
isExposedToUser,
|
|
52
|
-
tags,
|
|
53
|
-
value: 1,
|
|
54
|
-
type: 'count',
|
|
55
|
-
}).then();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
exports.ObservabilityPublisher = ObservabilityPublisher;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObservabilityPublisher = void 0;
|
|
4
|
+
class ObservabilityPublisher {
|
|
5
|
+
async timeFunction(event, timedFunction) {
|
|
6
|
+
const startTime = Date.now();
|
|
7
|
+
const result = await timedFunction();
|
|
8
|
+
this.reportMetric(Object.assign(Object.assign({}, event), { type: 'gauge', value: Date.now() - startTime })).then();
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
measureMetric(func, name, tags = {}, isExposedToUser, reportTime) {
|
|
12
|
+
try {
|
|
13
|
+
const startTime = Date.now();
|
|
14
|
+
const result = func();
|
|
15
|
+
if (result instanceof Promise) {
|
|
16
|
+
return result
|
|
17
|
+
.then((r) => {
|
|
18
|
+
if (reportTime)
|
|
19
|
+
this.reportTimeMetric(name, isExposedToUser, startTime, tags);
|
|
20
|
+
this.reportCountMetric(name, isExposedToUser, tags, true);
|
|
21
|
+
return r;
|
|
22
|
+
})
|
|
23
|
+
.catch((e) => {
|
|
24
|
+
this.reportCountMetric(name, isExposedToUser, tags, false);
|
|
25
|
+
throw e;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (reportTime)
|
|
29
|
+
this.reportTimeMetric(name, isExposedToUser, startTime, tags);
|
|
30
|
+
this.reportCountMetric(name, isExposedToUser, tags, true);
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
this.reportCountMetric(name, isExposedToUser, tags, false);
|
|
35
|
+
throw e;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
reportTimeMetric(name, isExposedToUser, startTime, tags) {
|
|
39
|
+
this.reportMetric({
|
|
40
|
+
name: `${name}_time`,
|
|
41
|
+
isExposedToUser,
|
|
42
|
+
tags,
|
|
43
|
+
value: Date.now() - startTime,
|
|
44
|
+
type: 'gauge',
|
|
45
|
+
}).then();
|
|
46
|
+
}
|
|
47
|
+
reportCountMetric(name, isExposedToUser, tags, success) {
|
|
48
|
+
tags = Object.assign(Object.assign({}, tags), { success: success ? 'true' : 'false' });
|
|
49
|
+
this.reportMetric({
|
|
50
|
+
name: `${name}_count`,
|
|
51
|
+
isExposedToUser,
|
|
52
|
+
tags,
|
|
53
|
+
value: 1,
|
|
54
|
+
type: 'count',
|
|
55
|
+
}).then();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ObservabilityPublisher = ObservabilityPublisher;
|
|
59
59
|
//# sourceMappingURL=observability-publisher.js.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { MetricType } from '@squidcloud/common';
|
|
2
|
-
export type MetricName = 'queryCount';
|
|
3
|
-
export interface MetricEvent {
|
|
4
|
-
name: string | MetricName;
|
|
5
|
-
type: MetricType;
|
|
6
|
-
tags: Record<string, string>;
|
|
7
|
-
timestamp: Date;
|
|
8
|
-
value: number;
|
|
9
|
-
isExposedToUser: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface LogEvent {
|
|
12
|
-
message: string;
|
|
13
|
-
level: string;
|
|
14
|
-
tags: Record<string, string>;
|
|
15
|
-
timestamp: Date;
|
|
16
|
-
isExposedToUser: boolean;
|
|
17
|
-
}
|
|
1
|
+
import { MetricType } from '@squidcloud/common';
|
|
2
|
+
export type MetricName = 'queryCount';
|
|
3
|
+
export interface MetricEvent {
|
|
4
|
+
name: string | MetricName;
|
|
5
|
+
type: MetricType;
|
|
6
|
+
tags: Record<string, string>;
|
|
7
|
+
timestamp: Date;
|
|
8
|
+
value: number;
|
|
9
|
+
isExposedToUser: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface LogEvent {
|
|
12
|
+
message: string;
|
|
13
|
+
level: string;
|
|
14
|
+
tags: Record<string, string>;
|
|
15
|
+
timestamp: Date;
|
|
16
|
+
isExposedToUser: boolean;
|
|
17
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=observability.types.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { Logger } from '@squidcloud/common';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
export type ShutdownHook = () => Promise<void>;
|
|
4
|
-
export declare class ShutdownManager {
|
|
5
|
-
private static readonly instance;
|
|
6
|
-
private logger?;
|
|
7
|
-
private hooks;
|
|
8
|
-
private shutdownOnError;
|
|
9
|
-
private readonly errorSubject;
|
|
10
|
-
private readonly sigTermSubject;
|
|
11
|
-
private constructor();
|
|
12
|
-
setShutdownOnError(enable?: boolean): void;
|
|
13
|
-
static getInstance(): ShutdownManager;
|
|
14
|
-
register(hook: ShutdownHook): void;
|
|
15
|
-
observeErrorCount(): Observable<number>;
|
|
16
|
-
observeSigTerm(): Observable<void>;
|
|
17
|
-
private handleError;
|
|
18
|
-
setLogger(logger: Logger): void;
|
|
19
|
-
forceShutdown(): Promise<never>;
|
|
20
|
-
}
|
|
1
|
+
import { Logger } from '@squidcloud/common';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
export type ShutdownHook = () => Promise<void>;
|
|
4
|
+
export declare class ShutdownManager {
|
|
5
|
+
private static readonly instance;
|
|
6
|
+
private logger?;
|
|
7
|
+
private hooks;
|
|
8
|
+
private shutdownOnError;
|
|
9
|
+
private readonly errorSubject;
|
|
10
|
+
private readonly sigTermSubject;
|
|
11
|
+
private constructor();
|
|
12
|
+
setShutdownOnError(enable?: boolean): void;
|
|
13
|
+
static getInstance(): ShutdownManager;
|
|
14
|
+
register(hook: ShutdownHook): void;
|
|
15
|
+
observeErrorCount(): Observable<number>;
|
|
16
|
+
observeSigTerm(): Observable<void>;
|
|
17
|
+
private handleError;
|
|
18
|
+
setLogger(logger: Logger): void;
|
|
19
|
+
forceShutdown(): Promise<never>;
|
|
20
|
+
}
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ShutdownManager = void 0;
|
|
4
|
-
const node_process_1 = require("node:process");
|
|
5
|
-
const rxjs_1 = require("rxjs");
|
|
6
|
-
class ShutdownManager {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.hooks = [];
|
|
9
|
-
this.shutdownOnError = false;
|
|
10
|
-
this.errorSubject = new rxjs_1.Subject();
|
|
11
|
-
this.sigTermSubject = new rxjs_1.Subject();
|
|
12
|
-
if (node_process_1.default.platform !== 'win32') {
|
|
13
|
-
node_process_1.default.prependOnceListener('SIGTERM', async () => {
|
|
14
|
-
this.sigTermSubject.next();
|
|
15
|
-
await this.handleError('SIGTERM');
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
node_process_1.default.prependOnceListener('uncaughtException', (err) => this.handleError('ShutdownManager: Uncaught error', err));
|
|
19
|
-
node_process_1.default.prependOnceListener('unhandledRejection', (err) => this.handleError('ShutdownManager: Unhandled rejection', err));
|
|
20
|
-
protectProcessFromThirdPartyListeners();
|
|
21
|
-
}
|
|
22
|
-
setShutdownOnError(enable = true) {
|
|
23
|
-
this.shutdownOnError = enable;
|
|
24
|
-
}
|
|
25
|
-
static getInstance() {
|
|
26
|
-
return ShutdownManager.instance;
|
|
27
|
-
}
|
|
28
|
-
register(hook) {
|
|
29
|
-
this.hooks.push(hook);
|
|
30
|
-
}
|
|
31
|
-
observeErrorCount() {
|
|
32
|
-
return this.errorSubject.pipe((0, rxjs_1.bufferTime)(10000), (0, rxjs_1.map)((errors) => errors.length));
|
|
33
|
-
}
|
|
34
|
-
observeSigTerm() {
|
|
35
|
-
return this.sigTermSubject.pipe((0, rxjs_1.delay)(15000));
|
|
36
|
-
}
|
|
37
|
-
async handleError(reason, err) {
|
|
38
|
-
var _a, _b;
|
|
39
|
-
console.log({ reason, err });
|
|
40
|
-
this.errorSubject.next({ reason, err });
|
|
41
|
-
if (err) {
|
|
42
|
-
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(reason, { err });
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(reason);
|
|
46
|
-
}
|
|
47
|
-
if (this.shutdownOnError) {
|
|
48
|
-
await this.forceShutdown();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
setLogger(logger) {
|
|
52
|
-
this.logger = logger;
|
|
53
|
-
}
|
|
54
|
-
async forceShutdown() {
|
|
55
|
-
try {
|
|
56
|
-
await Promise.all(this.hooks.map((hook) => hook()));
|
|
57
|
-
}
|
|
58
|
-
catch (err) {
|
|
59
|
-
console.error(err);
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
node_process_1.default.exit();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.ShutdownManager = ShutdownManager;
|
|
67
|
-
ShutdownManager.instance = new ShutdownManager();
|
|
68
|
-
function protectProcessFromThirdPartyListeners() {
|
|
69
|
-
const processOn = node_process_1.default.on.bind(node_process_1.default);
|
|
70
|
-
node_process_1.default.on = (event, listener) => {
|
|
71
|
-
if (event !== 'SIGTERM' && event !== 'uncaughtException' && event !== 'unhandledRejection') {
|
|
72
|
-
processOn(event, listener);
|
|
73
|
-
}
|
|
74
|
-
return node_process_1.default;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShutdownManager = void 0;
|
|
4
|
+
const node_process_1 = require("node:process");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
class ShutdownManager {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.hooks = [];
|
|
9
|
+
this.shutdownOnError = false;
|
|
10
|
+
this.errorSubject = new rxjs_1.Subject();
|
|
11
|
+
this.sigTermSubject = new rxjs_1.Subject();
|
|
12
|
+
if (node_process_1.default.platform !== 'win32') {
|
|
13
|
+
node_process_1.default.prependOnceListener('SIGTERM', async () => {
|
|
14
|
+
this.sigTermSubject.next();
|
|
15
|
+
await this.handleError('SIGTERM');
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
node_process_1.default.prependOnceListener('uncaughtException', (err) => this.handleError('ShutdownManager: Uncaught error', err));
|
|
19
|
+
node_process_1.default.prependOnceListener('unhandledRejection', (err) => this.handleError('ShutdownManager: Unhandled rejection', err));
|
|
20
|
+
protectProcessFromThirdPartyListeners();
|
|
21
|
+
}
|
|
22
|
+
setShutdownOnError(enable = true) {
|
|
23
|
+
this.shutdownOnError = enable;
|
|
24
|
+
}
|
|
25
|
+
static getInstance() {
|
|
26
|
+
return ShutdownManager.instance;
|
|
27
|
+
}
|
|
28
|
+
register(hook) {
|
|
29
|
+
this.hooks.push(hook);
|
|
30
|
+
}
|
|
31
|
+
observeErrorCount() {
|
|
32
|
+
return this.errorSubject.pipe((0, rxjs_1.bufferTime)(10000), (0, rxjs_1.map)((errors) => errors.length));
|
|
33
|
+
}
|
|
34
|
+
observeSigTerm() {
|
|
35
|
+
return this.sigTermSubject.pipe((0, rxjs_1.delay)(15000));
|
|
36
|
+
}
|
|
37
|
+
async handleError(reason, err) {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
console.log({ reason, err });
|
|
40
|
+
this.errorSubject.next({ reason, err });
|
|
41
|
+
if (err) {
|
|
42
|
+
(_a = this.logger) === null || _a === void 0 ? void 0 : _a.error(reason, { err });
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
(_b = this.logger) === null || _b === void 0 ? void 0 : _b.info(reason);
|
|
46
|
+
}
|
|
47
|
+
if (this.shutdownOnError) {
|
|
48
|
+
await this.forceShutdown();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setLogger(logger) {
|
|
52
|
+
this.logger = logger;
|
|
53
|
+
}
|
|
54
|
+
async forceShutdown() {
|
|
55
|
+
try {
|
|
56
|
+
await Promise.all(this.hooks.map((hook) => hook()));
|
|
57
|
+
}
|
|
58
|
+
catch (err) {
|
|
59
|
+
console.error(err);
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
node_process_1.default.exit();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.ShutdownManager = ShutdownManager;
|
|
67
|
+
ShutdownManager.instance = new ShutdownManager();
|
|
68
|
+
function protectProcessFromThirdPartyListeners() {
|
|
69
|
+
const processOn = node_process_1.default.on.bind(node_process_1.default);
|
|
70
|
+
node_process_1.default.on = (event, listener) => {
|
|
71
|
+
if (event !== 'SIGTERM' && event !== 'uncaughtException' && event !== 'unhandledRejection') {
|
|
72
|
+
processOn(event, listener);
|
|
73
|
+
}
|
|
74
|
+
return node_process_1.default;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
77
|
//# sourceMappingURL=shutdown.manager.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { EnvironmentVars } from './environment';
|
|
3
|
-
import NodeVault from 'node-vault';
|
|
4
|
-
export declare function extractFromBuffer(buffer: Buffer, path: string): Promise<void>;
|
|
5
|
-
export declare function getVaultClient(vaultConfig: EnvironmentVars['vault']): Promise<NodeVault.client>;
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EnvironmentVars } from './environment';
|
|
3
|
+
import NodeVault from 'node-vault';
|
|
4
|
+
export declare function extractFromBuffer(buffer: Buffer, path: string): Promise<void>;
|
|
5
|
+
export declare function getVaultClient(vaultConfig: EnvironmentVars['vault']): Promise<NodeVault.client>;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getVaultClient = exports.extractFromBuffer = void 0;
|
|
4
|
-
const decompress_1 = require("decompress");
|
|
5
|
-
const promises_1 = require("fs/promises");
|
|
6
|
-
const node_vault_1 = require("node-vault");
|
|
7
|
-
const lodash_1 = require("lodash");
|
|
8
|
-
async function extractFromBuffer(buffer, path) {
|
|
9
|
-
await (0, promises_1.mkdir)(path, { recursive: true });
|
|
10
|
-
await (0, decompress_1.default)(buffer, path);
|
|
11
|
-
}
|
|
12
|
-
exports.extractFromBuffer = extractFromBuffer;
|
|
13
|
-
async function getVaultClient(vaultConfig) {
|
|
14
|
-
if ('token' in vaultConfig) {
|
|
15
|
-
const vaultClient = (0, node_vault_1.default)(vaultConfig);
|
|
16
|
-
await vaultClient.health();
|
|
17
|
-
return vaultClient;
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
const vaultClient = (0, node_vault_1.default)({ endpoint: vaultConfig.endpoint, namespace: 'admin' });
|
|
21
|
-
await vaultClient.health();
|
|
22
|
-
await vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
23
|
-
setInterval(() => {
|
|
24
|
-
vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
25
|
-
}, 3000000);
|
|
26
|
-
return vaultClient;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.getVaultClient = getVaultClient;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVaultClient = exports.extractFromBuffer = void 0;
|
|
4
|
+
const decompress_1 = require("decompress");
|
|
5
|
+
const promises_1 = require("fs/promises");
|
|
6
|
+
const node_vault_1 = require("node-vault");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
async function extractFromBuffer(buffer, path) {
|
|
9
|
+
await (0, promises_1.mkdir)(path, { recursive: true });
|
|
10
|
+
await (0, decompress_1.default)(buffer, path);
|
|
11
|
+
}
|
|
12
|
+
exports.extractFromBuffer = extractFromBuffer;
|
|
13
|
+
async function getVaultClient(vaultConfig) {
|
|
14
|
+
if ('token' in vaultConfig) {
|
|
15
|
+
const vaultClient = (0, node_vault_1.default)(vaultConfig);
|
|
16
|
+
await vaultClient.health();
|
|
17
|
+
return vaultClient;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const vaultClient = (0, node_vault_1.default)({ endpoint: vaultConfig.endpoint, namespace: 'admin' });
|
|
21
|
+
await vaultClient.health();
|
|
22
|
+
await vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
23
|
+
setInterval(() => {
|
|
24
|
+
vaultClient.approleLogin((0, lodash_1.pick)(vaultConfig, ['role_id', 'secret_id']));
|
|
25
|
+
}, 3000000);
|
|
26
|
+
return vaultClient;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.getVaultClient = getVaultClient;
|
|
30
30
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './local-backend.module';
|
|
2
|
-
export * from './local-backend.app';
|
|
3
|
-
export * from './local-backend.controller';
|
|
4
|
-
export * from './local-backend.service';
|
|
1
|
+
export * from './local-backend.module';
|
|
2
|
+
export * from './local-backend.app';
|
|
3
|
+
export * from './local-backend.controller';
|
|
4
|
+
export * from './local-backend.service';
|