n8n 2.1.1 → 2.2.0
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/build.tsbuildinfo +1 -1
- package/dist/constants.js +0 -1
- package/dist/constants.js.map +1 -1
- package/dist/controllers/ai.controller.d.ts +4 -1
- package/dist/controllers/ai.controller.js +20 -1
- package/dist/controllers/ai.controller.js.map +1 -1
- package/dist/controllers/mfa.controller.d.ts +3 -1
- package/dist/controllers/mfa.controller.js +24 -2
- package/dist/controllers/mfa.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +4 -4
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/controllers/users.controller.d.ts +2 -2
- package/dist/credentials/dynamic-credentials-proxy.d.ts +2 -1
- package/dist/credentials/dynamic-credentials-proxy.js +22 -0
- package/dist/credentials/dynamic-credentials-proxy.js.map +1 -1
- package/dist/credentials-helper.d.ts +1 -1
- package/dist/credentials-helper.js +16 -2
- package/dist/credentials-helper.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-import.service.ee.d.ts +4 -3
- package/dist/environments.ee/source-control/source-control-import.service.ee.js +20 -3
- package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control.service.ee.js +1 -1
- package/dist/environments.ee/source-control/source-control.service.ee.js.map +1 -1
- package/dist/environments.ee/variables/variables.service.ee.js +32 -2
- package/dist/environments.ee/variables/variables.service.ee.js.map +1 -1
- package/dist/eventbus/event-message-classes/event-message-audit.d.ts +7 -0
- package/dist/eventbus/event-message-classes/event-message-audit.js.map +1 -1
- package/dist/eventbus/event-message-classes/index.d.ts +2 -2
- package/dist/eventbus/event-message-classes/index.js +7 -0
- package/dist/eventbus/event-message-classes/index.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +24 -1
- package/dist/events/relays/log-streaming.event-relay.d.ts +7 -0
- package/dist/events/relays/log-streaming.event-relay.js +103 -1
- package/dist/events/relays/log-streaming.event-relay.js.map +1 -1
- package/dist/events/relays/telemetry.event-relay.d.ts +1 -0
- package/dist/events/relays/telemetry.event-relay.js +13 -4
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.d.ts +1 -1
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js +4 -3
- package/dist/middlewares/list-query/dtos/workflow.filter.dto.js.map +1 -1
- package/dist/middlewares/list-query/filter.js +1 -1
- package/dist/middlewares/list-query/filter.js.map +1 -1
- package/dist/middlewares/list-query/select.js +1 -1
- package/dist/middlewares/list-query/select.js.map +1 -1
- package/dist/middlewares/list-query/sort-by.js +1 -1
- package/dist/middlewares/list-query/sort-by.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.entity.d.ts +14 -0
- package/dist/modules/chat-hub/chat-hub-agent.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.repository.d.ts +3 -3
- package/dist/modules/chat-hub/chat-hub-agent.repository.js +3 -3
- package/dist/modules/chat-hub/chat-hub-agent.repository.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.service.js +3 -3
- package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-message.entity.d.ts +0 -6
- package/dist/modules/chat-hub/chat-hub-message.entity.js +0 -36
- package/dist/modules/chat-hub/chat-hub-message.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-session.entity.d.ts +16 -1
- package/dist/modules/chat-hub/chat-hub-session.entity.js +2 -2
- package/dist/modules/chat-hub/chat-hub-session.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +3 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +37 -23
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.attachment.service.d.ts +5 -4
- package/dist/modules/chat-hub/chat-hub.attachment.service.js +5 -5
- package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.constants.js +1 -1
- package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.js +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.models.service.d.ts +2 -1
- package/dist/modules/chat-hub/chat-hub.models.service.js +4 -2
- package/dist/modules/chat-hub/chat-hub.models.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.service.d.ts +8 -8
- package/dist/modules/chat-hub/chat-hub.service.js +25 -32
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-message.repository.d.ts +3 -3
- package/dist/modules/chat-hub/chat-message.repository.js +8 -8
- package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
- package/dist/modules/chat-hub/chat-session.repository.d.ts +4 -5
- package/dist/modules/chat-hub/chat-session.repository.js +10 -28
- package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.js +24 -8
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js +8 -0
- package/dist/modules/dynamic-credentials.ee/credential-resolvers/oauth-credential-resolver.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.d.ts +7 -1
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js +37 -2
- package/dist/modules/dynamic-credentials.ee/dynamic-credentials.controller.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.d.ts +1 -0
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js +30 -27
- package/dist/modules/dynamic-credentials.ee/services/credential-resolver-workflow.service.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/services/shared-fields.d.ts +1 -1
- package/dist/modules/dynamic-credentials.ee/services/shared-fields.js +16 -1
- package/dist/modules/dynamic-credentials.ee/services/shared-fields.js.map +1 -1
- package/dist/modules/dynamic-credentials.ee/utils.d.ts +2 -0
- package/dist/modules/dynamic-credentials.ee/utils.js +19 -0
- package/dist/modules/dynamic-credentials.ee/utils.js.map +1 -0
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.d.ts +5 -1
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js +14 -14
- package/dist/modules/dynamic-credentials.ee/workflow-status.controller.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.d.ts +40 -35
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js +163 -272
- package/dist/modules/external-secrets.ee/external-secrets-manager.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.controller.ee.d.ts +8 -3
- package/dist/modules/external-secrets.ee/external-secrets.controller.ee.js +13 -8
- package/dist/modules/external-secrets.ee/external-secrets.controller.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/external-secrets.service.ee.d.ts +11 -5
- package/dist/modules/external-secrets.ee/external-secrets.service.ee.js +18 -13
- package/dist/modules/external-secrets.ee/external-secrets.service.ee.js.map +1 -1
- package/dist/modules/external-secrets.ee/provider-lifecycle.service.d.ts +22 -0
- package/dist/modules/external-secrets.ee/provider-lifecycle.service.js +99 -0
- package/dist/modules/external-secrets.ee/provider-lifecycle.service.js.map +1 -0
- package/dist/modules/external-secrets.ee/provider-registry.service.d.ts +13 -0
- package/dist/modules/external-secrets.ee/provider-registry.service.js +49 -0
- package/dist/modules/external-secrets.ee/provider-registry.service.js.map +1 -0
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.d.ts +4 -4
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js +7 -9
- package/dist/modules/external-secrets.ee/providers/aws-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.d.ts +3 -4
- package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js +7 -16
- package/dist/modules/external-secrets.ee/providers/azure-key-vault/azure-key-vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.d.ts +3 -4
- package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js +9 -17
- package/dist/modules/external-secrets.ee/providers/gcp-secrets-manager/gcp-secrets-manager.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/infisical.d.ts +4 -4
- package/dist/modules/external-secrets.ee/providers/infisical.js +8 -14
- package/dist/modules/external-secrets.ee/providers/infisical.js.map +1 -1
- package/dist/modules/external-secrets.ee/providers/vault.d.ts +2 -3
- package/dist/modules/external-secrets.ee/providers/vault.js +12 -35
- package/dist/modules/external-secrets.ee/providers/vault.js.map +1 -1
- package/dist/modules/external-secrets.ee/retry-manager.service.d.ts +23 -0
- package/dist/modules/external-secrets.ee/retry-manager.service.js +89 -0
- package/dist/modules/external-secrets.ee/retry-manager.service.js.map +1 -0
- package/dist/modules/external-secrets.ee/secrets-cache.service.d.ts +13 -0
- package/dist/modules/external-secrets.ee/secrets-cache.service.js +69 -0
- package/dist/modules/external-secrets.ee/secrets-cache.service.js.map +1 -0
- package/dist/modules/external-secrets.ee/settings-store.service.d.ts +21 -0
- package/dist/modules/external-secrets.ee/settings-store.service.js +96 -0
- package/dist/modules/external-secrets.ee/settings-store.service.js.map +1 -0
- package/dist/modules/external-secrets.ee/types.d.ts +18 -6
- package/dist/modules/external-secrets.ee/types.js +33 -0
- package/dist/modules/external-secrets.ee/types.js.map +1 -1
- package/dist/modules/mcp/mcp.controller.d.ts +3 -1
- package/dist/modules/mcp/mcp.controller.js +10 -2
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.d.ts +2 -0
- package/dist/modules/mcp/mcp.settings.controller.js +22 -0
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/oauth/oauth.service.js +1 -1
- package/dist/oauth/oauth.service.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +2 -2
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +1 -0
- package/dist/services/ai-workflow-builder.service.js +4 -0
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/redis-client.service.d.ts +1 -0
- package/dist/services/redis-client.service.js +15 -4
- package/dist/services/redis-client.service.js.map +1 -1
- package/dist/services/workflow-statistics.service.js +7 -3
- package/dist/services/workflow-statistics.service.js.map +1 -1
- package/dist/webhooks/waiting-forms.js +3 -0
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/webhook-request-handler.js +1 -5
- package/dist/webhooks/webhook-request-handler.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.controller.d.ts +7 -1
- package/dist/workflows/workflow-history/workflow-history.controller.js +20 -0
- package/dist/workflows/workflow-history/workflow-history.controller.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.d.ts +4 -0
- package/dist/workflows/workflow-history/workflow-history.service.js +20 -0
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow.service.d.ts +2 -1
- package/dist/workflows/workflow.service.js +22 -4
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +3 -0
- package/dist/workflows/workflows.controller.js +18 -3
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-status.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/workflow-status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsD;AAGtD,kFAA6E;AAC7E,0GAAoG;AAEpG,
|
|
1
|
+
{"version":3,"file":"workflow-status.controller.js","sourceRoot":"","sources":["../../../src/modules/dynamic-credentials.ee/workflow-status.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAAsD;AAGtD,kFAA6E;AAC7E,0GAAoG;AAEpG,mCAAyC;AACzC,wDAAoD;AACpD,wCAA2C;AAGpC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IACpC,YACkB,iCAAoE,EACpE,UAAsB,EACtB,YAA0B;QAF1B,sCAAiC,GAAjC,iCAAiC,CAAmC;QACpE,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;IACzC,CAAC;IAYE,AAAN,KAAK,CAAC,yBAAyB,CAAC,GAAY,EAAE,IAAc;QAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,MAAM,IAAI,mCAAe,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,CAC5E,UAAU,EACV,KAAK,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;QAElD,MAAM,eAAe,GAA4B;YAChD,UAAU;YACV,cAAc,EAAE,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM;gBAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;gBAChC,gBAAgB,EAAE,GAAG,QAAQ,IAAI,QAAQ,gBAAgB,CAAC,CAAC,YAAY,yBAAyB,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;aAClI,CAAC,CAAC;SACH,CAAC;QACF,OAAO,eAAe,CAAC;IACxB,CAAC;CACD,CAAA;AAhDY,4DAAwB;AAiB9B;IADL,IAAA,gBAAG,EAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;;;yEA+BxD;mCA/CW,wBAAwB;IADpC,IAAA,2BAAc,EAAC,YAAY,CAAC;qCAGyB,wEAAiC;QACxD,wBAAU;QACR,qBAAY;GAJhC,wBAAwB,CAgDpC"}
|
|
@@ -1,45 +1,36 @@
|
|
|
1
1
|
import { Logger } from '@n8n/backend-common';
|
|
2
|
-
import {
|
|
3
|
-
import { Cipher, type IExternalSecretsManager } from 'n8n-core';
|
|
2
|
+
import { type IExternalSecretsManager } from 'n8n-core';
|
|
4
3
|
import { type IDataObject } from 'n8n-workflow';
|
|
5
|
-
import { ExternalSecretsProviders } from './external-secrets-providers.ee';
|
|
6
|
-
import { ExternalSecretsConfig } from './external-secrets.config';
|
|
7
|
-
import type { ExternalSecretsSettings, SecretsProvider, SecretsProviderSettings } from './types';
|
|
8
4
|
import { EventService } from '../../events/event.service';
|
|
9
|
-
import { License } from '../../license';
|
|
10
5
|
import { Publisher } from '../../scaling/pubsub/publisher.service';
|
|
6
|
+
import { ExternalSecretsProviders } from './external-secrets-providers.ee';
|
|
7
|
+
import { ExternalSecretsConfig } from './external-secrets.config';
|
|
8
|
+
import { ExternalSecretsProviderLifecycle } from './provider-lifecycle.service';
|
|
9
|
+
import { ExternalSecretsProviderRegistry } from './provider-registry.service';
|
|
10
|
+
import { ExternalSecretsRetryManager } from './retry-manager.service';
|
|
11
|
+
import { ExternalSecretsSecretsCache } from './secrets-cache.service';
|
|
12
|
+
import { ExternalSecretsSettingsStore } from './settings-store.service';
|
|
13
|
+
import type { SecretsProvider, SecretsProviderSettings } from './types';
|
|
11
14
|
export declare class ExternalSecretsManager implements IExternalSecretsManager {
|
|
12
15
|
private readonly logger;
|
|
13
16
|
private readonly config;
|
|
14
|
-
private readonly
|
|
15
|
-
private readonly license;
|
|
16
|
-
private readonly secretsProviders;
|
|
17
|
-
private readonly cipher;
|
|
17
|
+
private readonly providersFactory;
|
|
18
18
|
private readonly eventService;
|
|
19
19
|
private readonly publisher;
|
|
20
|
-
private
|
|
21
|
-
private
|
|
22
|
-
private
|
|
20
|
+
private readonly settingsStore;
|
|
21
|
+
private readonly providerRegistry;
|
|
22
|
+
private readonly providerLifecycle;
|
|
23
|
+
private readonly retryManager;
|
|
24
|
+
private readonly secretsCache;
|
|
23
25
|
initialized: boolean;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
constructor(logger: Logger, config: ExternalSecretsConfig,
|
|
26
|
+
private refreshInterval?;
|
|
27
|
+
private initializingPromise?;
|
|
28
|
+
constructor(logger: Logger, config: ExternalSecretsConfig, providersFactory: ExternalSecretsProviders, eventService: EventService, publisher: Publisher, settingsStore: ExternalSecretsSettingsStore, providerRegistry: ExternalSecretsProviderRegistry, providerLifecycle: ExternalSecretsProviderLifecycle, retryManager: ExternalSecretsRetryManager, secretsCache: ExternalSecretsSecretsCache);
|
|
27
29
|
init(): Promise<void>;
|
|
28
30
|
shutdown(): void;
|
|
29
|
-
reloadAllProviders(backoff?: number): Promise<void>;
|
|
30
|
-
private broadcastReloadExternalSecretsProviders;
|
|
31
|
-
getDecryptedSettings(): Promise<ExternalSecretsSettings | null>;
|
|
32
|
-
private internalInit;
|
|
33
|
-
private initProvider;
|
|
34
|
-
private retryInitWithBackoff;
|
|
35
|
-
updateSecrets(): Promise<void>;
|
|
36
31
|
getProvider(provider: string): SecretsProvider | undefined;
|
|
37
32
|
hasProvider(provider: string): boolean;
|
|
38
33
|
getProviderNames(): string[];
|
|
39
|
-
getSecret(provider: string, name: string): unknown;
|
|
40
|
-
hasSecret(provider: string, name: string): boolean;
|
|
41
|
-
getSecretNames(provider: string): string[];
|
|
42
|
-
getAllSecretNames(): Record<string, string[]>;
|
|
43
34
|
getProvidersWithSettings(): Array<{
|
|
44
35
|
provider: SecretsProvider;
|
|
45
36
|
settings: SecretsProviderSettings;
|
|
@@ -48,16 +39,30 @@ export declare class ExternalSecretsManager implements IExternalSecretsManager {
|
|
|
48
39
|
provider: SecretsProvider;
|
|
49
40
|
settings: SecretsProviderSettings;
|
|
50
41
|
};
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
updateProvider(provider: string): Promise<void>;
|
|
43
|
+
getSecret(provider: string, name: string): unknown;
|
|
44
|
+
hasSecret(provider: string, name: string): boolean;
|
|
45
|
+
getSecretNames(provider: string): string[];
|
|
46
|
+
getAllSecretNames(): Record<string, string[]>;
|
|
47
|
+
setProviderSettings(provider: string, settings: IDataObject, userId?: string): Promise<void>;
|
|
53
48
|
setProviderConnected(provider: string, connected: boolean): Promise<void>;
|
|
54
|
-
private trackProviderSave;
|
|
55
|
-
private encryptSecretsSettings;
|
|
56
|
-
saveAndSetSettings(settings: ExternalSecretsSettings): Promise<void>;
|
|
57
49
|
testProviderSettings(provider: string, data: IDataObject): Promise<{
|
|
58
50
|
success: boolean;
|
|
59
|
-
testState:
|
|
60
|
-
|
|
51
|
+
testState: string;
|
|
52
|
+
} | {
|
|
53
|
+
success: boolean;
|
|
54
|
+
testState: "error" | "connected" | "tested";
|
|
55
|
+
error: string | undefined;
|
|
61
56
|
}>;
|
|
62
|
-
|
|
57
|
+
reloadAllProviders(): Promise<void>;
|
|
58
|
+
private addProvider;
|
|
59
|
+
private connectProvider;
|
|
60
|
+
private reloadProvider;
|
|
61
|
+
updateSecrets(): Promise<void>;
|
|
62
|
+
private startSecretsRefresh;
|
|
63
|
+
private stopSecretsRefresh;
|
|
64
|
+
private broadcastReload;
|
|
65
|
+
private trackProviderSave;
|
|
66
|
+
private determineTestState;
|
|
67
|
+
private getCachedSettings;
|
|
63
68
|
}
|
|
@@ -11,31 +11,33 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ExternalSecretsManager = void 0;
|
|
13
13
|
const backend_common_1 = require("@n8n/backend-common");
|
|
14
|
-
const
|
|
14
|
+
const constants_1 = require("@n8n/constants");
|
|
15
15
|
const decorators_1 = require("@n8n/decorators");
|
|
16
16
|
const di_1 = require("@n8n/di");
|
|
17
|
-
const n8n_core_1 = require("n8n-core");
|
|
18
17
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
19
|
-
const
|
|
20
|
-
const external_secrets_providers_ee_1 = require("./external-secrets-providers.ee");
|
|
21
|
-
const external_secrets_config_1 = require("./external-secrets.config");
|
|
18
|
+
const not_found_error_1 = require("../../errors/response-errors/not-found.error");
|
|
22
19
|
const event_service_1 = require("../../events/event.service");
|
|
23
|
-
const license_1 = require("../../license");
|
|
24
20
|
const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
|
|
21
|
+
const external_secrets_providers_ee_1 = require("./external-secrets-providers.ee");
|
|
22
|
+
const external_secrets_config_1 = require("./external-secrets.config");
|
|
23
|
+
const provider_lifecycle_service_1 = require("./provider-lifecycle.service");
|
|
24
|
+
const provider_registry_service_1 = require("./provider-registry.service");
|
|
25
|
+
const retry_manager_service_1 = require("./retry-manager.service");
|
|
26
|
+
const secrets_cache_service_1 = require("./secrets-cache.service");
|
|
27
|
+
const settings_store_service_1 = require("./settings-store.service");
|
|
25
28
|
let ExternalSecretsManager = class ExternalSecretsManager {
|
|
26
|
-
constructor(logger, config,
|
|
29
|
+
constructor(logger, config, providersFactory, eventService, publisher, settingsStore, providerRegistry, providerLifecycle, retryManager, secretsCache) {
|
|
27
30
|
this.logger = logger;
|
|
28
31
|
this.config = config;
|
|
29
|
-
this.
|
|
30
|
-
this.license = license;
|
|
31
|
-
this.secretsProviders = secretsProviders;
|
|
32
|
-
this.cipher = cipher;
|
|
32
|
+
this.providersFactory = providersFactory;
|
|
33
33
|
this.eventService = eventService;
|
|
34
34
|
this.publisher = publisher;
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
35
|
+
this.settingsStore = settingsStore;
|
|
36
|
+
this.providerRegistry = providerRegistry;
|
|
37
|
+
this.providerLifecycle = providerLifecycle;
|
|
38
|
+
this.retryManager = retryManager;
|
|
39
|
+
this.secretsCache = secretsCache;
|
|
37
40
|
this.initialized = false;
|
|
38
|
-
this.initRetryTimeouts = {};
|
|
39
41
|
this.logger = this.logger.scoped('external-secrets');
|
|
40
42
|
}
|
|
41
43
|
async init() {
|
|
@@ -43,14 +45,13 @@ let ExternalSecretsManager = class ExternalSecretsManager {
|
|
|
43
45
|
return;
|
|
44
46
|
this.initializingPromise ??= (async () => {
|
|
45
47
|
try {
|
|
46
|
-
await this.
|
|
47
|
-
this.
|
|
48
|
+
await this.reloadAllProviders();
|
|
49
|
+
this.startSecretsRefresh();
|
|
48
50
|
this.initialized = true;
|
|
51
|
+
this.logger.debug('External secrets manager initialized');
|
|
49
52
|
}
|
|
50
53
|
catch (error) {
|
|
51
|
-
this.logger.error('External secrets manager failed to initialize', {
|
|
52
|
-
error: (0, n8n_workflow_1.ensureError)(error),
|
|
53
|
-
});
|
|
54
|
+
this.logger.error('External secrets manager failed to initialize', { error });
|
|
54
55
|
throw error;
|
|
55
56
|
}
|
|
56
57
|
finally {
|
|
@@ -58,217 +59,167 @@ let ExternalSecretsManager = class ExternalSecretsManager {
|
|
|
58
59
|
}
|
|
59
60
|
})();
|
|
60
61
|
await this.initializingPromise;
|
|
61
|
-
this.logger.debug('External secrets manager initialized');
|
|
62
62
|
}
|
|
63
63
|
shutdown() {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
void p.disconnect().catch(() => { });
|
|
68
|
-
});
|
|
69
|
-
Object.values(this.initRetryTimeouts).forEach((v) => clearTimeout(v));
|
|
64
|
+
this.stopSecretsRefresh();
|
|
65
|
+
this.retryManager.cancelAll();
|
|
66
|
+
void this.providerRegistry.disconnectAll();
|
|
70
67
|
this.initialized = false;
|
|
71
68
|
this.logger.debug('External secrets manager shut down');
|
|
72
69
|
}
|
|
73
|
-
|
|
74
|
-
this.
|
|
75
|
-
this.cachedSettings = (await this.getDecryptedSettings()) ?? {};
|
|
76
|
-
const newProviders = new Set(Object.keys(this.cachedSettings));
|
|
77
|
-
const existingProviders = Object.keys(this.providers);
|
|
78
|
-
for (const provider of existingProviders) {
|
|
79
|
-
if (!newProviders.has(provider)) {
|
|
80
|
-
this.logger.debug(`Removing provider ${provider} - no longer in settings`);
|
|
81
|
-
try {
|
|
82
|
-
await this.providers[provider].disconnect();
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
this.logger.warn(`Error disconnecting provider ${provider} during removal`);
|
|
86
|
-
}
|
|
87
|
-
delete this.providers[provider];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
for (const provider of newProviders) {
|
|
91
|
-
await this.reloadProvider(provider, backoff);
|
|
92
|
-
}
|
|
93
|
-
await this.updateSecrets();
|
|
94
|
-
this.logger.debug('External secrets managed reloaded all providers');
|
|
70
|
+
getProvider(provider) {
|
|
71
|
+
return this.providerRegistry.get(provider);
|
|
95
72
|
}
|
|
96
|
-
|
|
97
|
-
|
|
73
|
+
hasProvider(provider) {
|
|
74
|
+
return this.providerRegistry.has(provider);
|
|
98
75
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (encryptedSettings === null) {
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
const decryptedData = this.cipher.decrypt(encryptedSettings);
|
|
105
|
-
try {
|
|
106
|
-
return (0, n8n_workflow_1.jsonParse)(decryptedData);
|
|
107
|
-
}
|
|
108
|
-
catch (e) {
|
|
109
|
-
throw new n8n_workflow_1.UnexpectedError('External Secrets Settings could not be decrypted. The likely reason is that a different "encryptionKey" was used to encrypt the data.');
|
|
110
|
-
}
|
|
76
|
+
getProviderNames() {
|
|
77
|
+
return this.providerRegistry.getNames();
|
|
111
78
|
}
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.cachedSettings = settings;
|
|
120
|
-
await this.updateSecrets();
|
|
79
|
+
getProvidersWithSettings() {
|
|
80
|
+
const allProviderClasses = this.providersFactory.getAllProviders();
|
|
81
|
+
const settings = this.getCachedSettings();
|
|
82
|
+
return Object.entries(allProviderClasses).map(([name, providerClass]) => ({
|
|
83
|
+
provider: this.providerRegistry.get(name) ?? new providerClass(),
|
|
84
|
+
settings: settings[name] ?? {},
|
|
85
|
+
}));
|
|
121
86
|
}
|
|
122
|
-
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
await provider.init(providerSettings);
|
|
130
|
-
}
|
|
131
|
-
catch (e) {
|
|
132
|
-
this.logger.error(`Error initializing secrets provider ${provider.displayName} (${provider.name}).`);
|
|
133
|
-
this.retryInitWithBackoff(name, currentBackoff);
|
|
134
|
-
return provider;
|
|
135
|
-
}
|
|
136
|
-
try {
|
|
137
|
-
if (providerSettings.connected) {
|
|
138
|
-
await provider.connect();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
catch (e) {
|
|
142
|
-
try {
|
|
143
|
-
await provider.disconnect();
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
this.logger.warn(`Error disconnecting provider ${provider.displayName} (${provider.name}) after failed connect attempt.`);
|
|
147
|
-
}
|
|
148
|
-
this.logger.error(`Error initializing secrets provider ${provider.displayName} (${provider.name}).`);
|
|
149
|
-
this.retryInitWithBackoff(name, currentBackoff);
|
|
150
|
-
return provider;
|
|
151
|
-
}
|
|
152
|
-
return provider;
|
|
87
|
+
getProviderWithSettings(provider) {
|
|
88
|
+
const ProviderClass = this.providersFactory.getProvider(provider);
|
|
89
|
+
const settings = this.getCachedSettings();
|
|
90
|
+
return {
|
|
91
|
+
provider: this.providerRegistry.get(provider) ?? new ProviderClass(),
|
|
92
|
+
settings: settings[provider] ?? {},
|
|
93
|
+
};
|
|
153
94
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
95
|
+
async updateProvider(provider) {
|
|
96
|
+
const providerInstance = this.providerRegistry.get(provider);
|
|
97
|
+
if (!providerInstance) {
|
|
98
|
+
throw new not_found_error_1.NotFoundError(`Provider "${provider}" not found`);
|
|
158
99
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (this.providers[name] && this.providers[name].state !== 'error') {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
void this.reloadProvider(name, Math.min(currentBackoff * 2, constants_1.EXTERNAL_SECRETS_MAX_BACKOFF));
|
|
165
|
-
}, currentBackoff);
|
|
166
|
-
}
|
|
167
|
-
async updateSecrets() {
|
|
168
|
-
if (!this.license.isExternalSecretsEnabled()) {
|
|
169
|
-
return;
|
|
100
|
+
if (providerInstance.state !== 'connected') {
|
|
101
|
+
throw new n8n_workflow_1.UnexpectedError(`Provider "${provider}" is not connected`);
|
|
170
102
|
}
|
|
171
|
-
await
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
await p.update();
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
catch {
|
|
178
|
-
this.logger.error(`Error updating secrets provider ${p.displayName} (${p.name}).`);
|
|
179
|
-
}
|
|
180
|
-
}));
|
|
181
|
-
this.logger.debug('External secrets manager updated secrets');
|
|
182
|
-
}
|
|
183
|
-
getProvider(provider) {
|
|
184
|
-
return this.providers[provider];
|
|
185
|
-
}
|
|
186
|
-
hasProvider(provider) {
|
|
187
|
-
return provider in this.providers;
|
|
188
|
-
}
|
|
189
|
-
getProviderNames() {
|
|
190
|
-
return Object.keys(this.providers);
|
|
103
|
+
await providerInstance.update();
|
|
104
|
+
this.broadcastReload();
|
|
105
|
+
this.logger.debug(`Updated provider ${provider}`);
|
|
191
106
|
}
|
|
192
107
|
getSecret(provider, name) {
|
|
193
|
-
return this.
|
|
108
|
+
return this.secretsCache.getSecret(provider, name);
|
|
194
109
|
}
|
|
195
110
|
hasSecret(provider, name) {
|
|
196
|
-
return this.
|
|
111
|
+
return this.secretsCache.hasSecret(provider, name);
|
|
197
112
|
}
|
|
198
113
|
getSecretNames(provider) {
|
|
199
|
-
return this.
|
|
114
|
+
return this.secretsCache.getSecretNames(provider);
|
|
200
115
|
}
|
|
201
116
|
getAllSecretNames() {
|
|
202
|
-
return
|
|
203
|
-
provider,
|
|
204
|
-
this.getSecretNames(provider) ?? [],
|
|
205
|
-
]));
|
|
117
|
+
return this.secretsCache.getAllSecretNames();
|
|
206
118
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
119
|
+
async setProviderSettings(provider, settings, userId) {
|
|
120
|
+
const { isNewProvider } = await this.settingsStore.updateProvider(provider, { settings });
|
|
121
|
+
await this.reloadProvider(provider);
|
|
122
|
+
this.broadcastReload();
|
|
123
|
+
void this.trackProviderSave(provider, isNewProvider, userId);
|
|
212
124
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
125
|
+
async setProviderConnected(provider, connected) {
|
|
126
|
+
await this.settingsStore.updateProvider(provider, { connected });
|
|
127
|
+
if (connected) {
|
|
128
|
+
await this.retryManager.runWithRetry(provider, async () => await this.connectProvider(provider));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.retryManager.cancelRetry(provider);
|
|
132
|
+
const providerInstance = this.providerRegistry.get(provider);
|
|
133
|
+
if (providerInstance) {
|
|
134
|
+
await this.providerLifecycle.disconnect(providerInstance);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
this.broadcastReload();
|
|
138
|
+
}
|
|
139
|
+
async testProviderSettings(provider, data) {
|
|
140
|
+
const testSettings = {
|
|
141
|
+
connected: true,
|
|
142
|
+
connectedAt: new Date(),
|
|
143
|
+
settings: data,
|
|
218
144
|
};
|
|
145
|
+
const errorState = {
|
|
146
|
+
success: false,
|
|
147
|
+
testState: 'error',
|
|
148
|
+
};
|
|
149
|
+
const result = await this.providerLifecycle.initialize(provider, testSettings);
|
|
150
|
+
if (!result.success || !result.provider) {
|
|
151
|
+
return errorState;
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
const [success, error] = await result.provider.test();
|
|
155
|
+
const currentSettings = await this.settingsStore.getProvider(provider);
|
|
156
|
+
const testState = this.determineTestState(success, currentSettings?.connected ?? false);
|
|
157
|
+
return { success, testState, error };
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
return errorState;
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
await result.provider?.disconnect();
|
|
164
|
+
}
|
|
219
165
|
}
|
|
220
|
-
async
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
166
|
+
async reloadAllProviders() {
|
|
167
|
+
this.logger.debug('Reloading all external secrets providers');
|
|
168
|
+
const newSettings = await this.settingsStore.reload();
|
|
169
|
+
for (const name of Object.keys(newSettings)) {
|
|
170
|
+
await this.reloadProvider(name);
|
|
171
|
+
}
|
|
172
|
+
await this.secretsCache.refreshAll();
|
|
173
|
+
this.logger.debug('Reloaded all external secrets providers');
|
|
174
|
+
}
|
|
175
|
+
async addProvider(name, config) {
|
|
176
|
+
const result = await this.providerLifecycle.initialize(name, config);
|
|
177
|
+
if (!result.success || !result.provider) {
|
|
178
|
+
this.logger.error(`Failed to initialize provider ${name}`, { error: result.error });
|
|
179
|
+
return;
|
|
229
180
|
}
|
|
230
|
-
|
|
231
|
-
if (
|
|
232
|
-
this.
|
|
181
|
+
this.providerRegistry.add(name, result.provider);
|
|
182
|
+
if (config.connected) {
|
|
183
|
+
await this.retryManager.runWithRetry(name, async () => await this.connectProvider(name));
|
|
233
184
|
}
|
|
234
|
-
this.logger.debug(`External secrets manager reloaded provider ${provider}`);
|
|
235
185
|
}
|
|
236
|
-
async
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
186
|
+
async connectProvider(name) {
|
|
187
|
+
const provider = this.providerRegistry.get(name);
|
|
188
|
+
if (!provider) {
|
|
189
|
+
this.logger.warn(`Cannot connect provider ${name}: not found in registry`);
|
|
190
|
+
throw new Error(`Provider ${name} not found in registry`);
|
|
241
191
|
}
|
|
242
|
-
|
|
243
|
-
|
|
192
|
+
return await this.providerLifecycle.connect(provider);
|
|
193
|
+
}
|
|
194
|
+
async reloadProvider(name) {
|
|
195
|
+
const config = await this.settingsStore.getProvider(name);
|
|
196
|
+
if (!config) {
|
|
197
|
+
this.logger.warn(`Cannot reload provider ${name}: settings not found`);
|
|
198
|
+
return;
|
|
244
199
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
this.
|
|
252
|
-
await this.reloadProvider(provider);
|
|
253
|
-
await this.updateSecrets();
|
|
254
|
-
this.broadcastReloadExternalSecretsProviders();
|
|
255
|
-
void this.trackProviderSave(provider, isNewProvider, userId);
|
|
200
|
+
this.retryManager.cancelRetry(name);
|
|
201
|
+
const existingProvider = this.providerRegistry.get(name);
|
|
202
|
+
if (existingProvider) {
|
|
203
|
+
await this.providerLifecycle.disconnect(existingProvider);
|
|
204
|
+
this.providerRegistry.remove(name);
|
|
205
|
+
}
|
|
206
|
+
await this.addProvider(name, config);
|
|
256
207
|
}
|
|
257
|
-
async
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
208
|
+
async updateSecrets() {
|
|
209
|
+
await this.secretsCache.refreshAll();
|
|
210
|
+
}
|
|
211
|
+
startSecretsRefresh() {
|
|
212
|
+
this.refreshInterval = setInterval(async () => await this.secretsCache.refreshAll(), this.config.updateInterval * constants_1.Time.seconds.toMilliseconds);
|
|
213
|
+
this.logger.debug('Started secrets refresh interval');
|
|
214
|
+
}
|
|
215
|
+
stopSecretsRefresh() {
|
|
216
|
+
if (this.refreshInterval) {
|
|
217
|
+
clearInterval(this.refreshInterval);
|
|
218
|
+
this.refreshInterval = undefined;
|
|
261
219
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
settings: settings[provider]?.settings ?? {},
|
|
266
|
-
};
|
|
267
|
-
await this.saveAndSetSettings(settings);
|
|
268
|
-
this.cachedSettings = settings;
|
|
269
|
-
await this.reloadProvider(provider);
|
|
270
|
-
await this.updateSecrets();
|
|
271
|
-
this.broadcastReloadExternalSecretsProviders();
|
|
220
|
+
}
|
|
221
|
+
broadcastReload() {
|
|
222
|
+
void this.publisher.publishCommand({ command: 'reload-external-secrets-providers' });
|
|
272
223
|
}
|
|
273
224
|
async trackProviderSave(vaultType, isNew, userId) {
|
|
274
225
|
let testResult;
|
|
@@ -284,94 +235,34 @@ let ExternalSecretsManager = class ExternalSecretsManager {
|
|
|
284
235
|
errorMessage: testResult?.[1],
|
|
285
236
|
});
|
|
286
237
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
async saveAndSetSettings(settings) {
|
|
291
|
-
const encryptedSettings = this.encryptSecretsSettings(settings);
|
|
292
|
-
await this.settingsRepo.upsert({
|
|
293
|
-
key: constants_1.EXTERNAL_SECRETS_DB_KEY,
|
|
294
|
-
value: encryptedSettings,
|
|
295
|
-
loadOnStartup: false,
|
|
296
|
-
}, ['key']);
|
|
297
|
-
}
|
|
298
|
-
async testProviderSettings(provider, data) {
|
|
299
|
-
let testProvider = null;
|
|
300
|
-
try {
|
|
301
|
-
testProvider = await this.initProvider(provider, {
|
|
302
|
-
connected: true,
|
|
303
|
-
connectedAt: new Date(),
|
|
304
|
-
settings: data,
|
|
305
|
-
});
|
|
306
|
-
if (!testProvider) {
|
|
307
|
-
return {
|
|
308
|
-
success: false,
|
|
309
|
-
testState: 'error',
|
|
310
|
-
};
|
|
311
|
-
}
|
|
312
|
-
const [success, error] = await testProvider.test();
|
|
313
|
-
let testState = 'error';
|
|
314
|
-
if (success && this.cachedSettings[provider]?.connected) {
|
|
315
|
-
testState = 'connected';
|
|
316
|
-
}
|
|
317
|
-
else if (success) {
|
|
318
|
-
testState = 'tested';
|
|
319
|
-
}
|
|
320
|
-
return {
|
|
321
|
-
success,
|
|
322
|
-
testState,
|
|
323
|
-
error,
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
catch {
|
|
327
|
-
return {
|
|
328
|
-
success: false,
|
|
329
|
-
testState: 'error',
|
|
330
|
-
};
|
|
331
|
-
}
|
|
332
|
-
finally {
|
|
333
|
-
if (testProvider) {
|
|
334
|
-
await testProvider.disconnect();
|
|
335
|
-
}
|
|
238
|
+
determineTestState(success, isConnected) {
|
|
239
|
+
if (!success) {
|
|
240
|
+
return 'error';
|
|
336
241
|
}
|
|
242
|
+
return isConnected ? 'connected' : 'tested';
|
|
337
243
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
return false;
|
|
341
|
-
}
|
|
342
|
-
if (!this.providers[provider] || this.providers[provider].state !== 'connected') {
|
|
343
|
-
return false;
|
|
344
|
-
}
|
|
345
|
-
try {
|
|
346
|
-
await this.providers[provider].update();
|
|
347
|
-
this.broadcastReloadExternalSecretsProviders();
|
|
348
|
-
this.logger.debug(`External secrets manager updated provider ${provider}`);
|
|
349
|
-
return true;
|
|
350
|
-
}
|
|
351
|
-
catch (error) {
|
|
352
|
-
this.logger.debug(`External secrets manager failed to update provider ${provider}`, {
|
|
353
|
-
error: (0, n8n_workflow_1.ensureError)(error),
|
|
354
|
-
});
|
|
355
|
-
return false;
|
|
356
|
-
}
|
|
244
|
+
getCachedSettings() {
|
|
245
|
+
return this.settingsStore.getCached();
|
|
357
246
|
}
|
|
358
247
|
};
|
|
359
248
|
exports.ExternalSecretsManager = ExternalSecretsManager;
|
|
360
249
|
__decorate([
|
|
361
250
|
(0, decorators_1.OnPubSubEvent)('reload-external-secrets-providers'),
|
|
362
251
|
__metadata("design:type", Function),
|
|
363
|
-
__metadata("design:paramtypes", [
|
|
252
|
+
__metadata("design:paramtypes", []),
|
|
364
253
|
__metadata("design:returntype", Promise)
|
|
365
254
|
], ExternalSecretsManager.prototype, "reloadAllProviders", null);
|
|
366
255
|
exports.ExternalSecretsManager = ExternalSecretsManager = __decorate([
|
|
367
256
|
(0, di_1.Service)(),
|
|
368
257
|
__metadata("design:paramtypes", [backend_common_1.Logger,
|
|
369
258
|
external_secrets_config_1.ExternalSecretsConfig,
|
|
370
|
-
db_1.SettingsRepository,
|
|
371
|
-
license_1.License,
|
|
372
259
|
external_secrets_providers_ee_1.ExternalSecretsProviders,
|
|
373
|
-
n8n_core_1.Cipher,
|
|
374
260
|
event_service_1.EventService,
|
|
375
|
-
publisher_service_1.Publisher
|
|
261
|
+
publisher_service_1.Publisher,
|
|
262
|
+
settings_store_service_1.ExternalSecretsSettingsStore,
|
|
263
|
+
provider_registry_service_1.ExternalSecretsProviderRegistry,
|
|
264
|
+
provider_lifecycle_service_1.ExternalSecretsProviderLifecycle,
|
|
265
|
+
retry_manager_service_1.ExternalSecretsRetryManager,
|
|
266
|
+
secrets_cache_service_1.ExternalSecretsSecretsCache])
|
|
376
267
|
], ExternalSecretsManager);
|
|
377
268
|
//# sourceMappingURL=external-secrets-manager.ee.js.map
|