UNPKG

n8n

Version:

n8n Workflow Automation Tool

64 lines (63 loc) 2.97 kB
import { Logger } from '@n8n/backend-common'; import { SettingsRepository } from '@n8n/db'; import { Cipher, type IExternalSecretsManager } from 'n8n-core'; import { type IDataObject } from 'n8n-workflow'; import { EventService } from '../../events/event.service'; import { License } from '../../license'; import { Publisher } from '../../scaling/pubsub/publisher.service'; import { ExternalSecretsProviders } from './external-secrets-providers.ee'; import { ExternalSecretsConfig } from './external-secrets.config'; import type { ExternalSecretsSettings, SecretsProvider, SecretsProviderSettings } from './types'; export declare class ExternalSecretsManager implements IExternalSecretsManager { private readonly logger; private readonly config; private readonly settingsRepo; private readonly license; private readonly secretsProviders; private readonly cipher; private readonly eventService; private readonly publisher; private providers; private initializingPromise?; private cachedSettings; initialized: boolean; updateInterval: NodeJS.Timeout; initRetryTimeouts: Record<string, NodeJS.Timeout>; constructor(logger: Logger, config: ExternalSecretsConfig, settingsRepo: SettingsRepository, license: License, secretsProviders: ExternalSecretsProviders, cipher: Cipher, eventService: EventService, publisher: Publisher); init(): Promise<void>; shutdown(): void; reloadAllProviders(backoff?: number): Promise<void>; private broadcastReloadExternalSecretsProviders; getDecryptedSettings(): Promise<ExternalSecretsSettings | null>; private internalInit; private initProvider; private retryInitWithBackoff; updateSecrets(): Promise<void>; getProvider(provider: string): SecretsProvider | undefined; hasProvider(provider: string): boolean; getProviderNames(): string[]; getSecret(provider: string, name: string): unknown; hasSecret(provider: string, name: string): boolean; getSecretNames(provider: string): string[]; getAllSecretNames(): Record<string, string[]>; getProvidersWithSettings(): Array<{ provider: SecretsProvider; settings: SecretsProviderSettings; }>; getProviderWithSettings(provider: string): { provider: SecretsProvider; settings: SecretsProviderSettings; }; reloadProvider(provider: string, backoff?: number): Promise<void>; setProviderSettings(provider: string, data: IDataObject, userId?: string): Promise<void>; setProviderConnected(provider: string, connected: boolean): Promise<void>; private trackProviderSave; private encryptSecretsSettings; saveAndSetSettings(settings: ExternalSecretsSettings): Promise<void>; testProviderSettings(provider: string, data: IDataObject): Promise<{ success: boolean; testState: 'connected' | 'tested' | 'error'; error?: string; }>; updateProvider(provider: string): Promise<boolean>; }