diff --git a/packages/@n8n/config/src/configs/templates.ts b/packages/@n8n/config/src/configs/templates.ts new file mode 100644 index 0000000000..3e10c892b3 --- /dev/null +++ b/packages/@n8n/config/src/configs/templates.ts @@ -0,0 +1,12 @@ +import { Config, Env } from '../decorators'; + +@Config +export class TemplatesConfig { + /** Whether to load workflow templates. */ + @Env('N8N_TEMPLATES_ENABLED') + readonly enabled: boolean = true; + + /** Host to retrieve workflow templates from endpoints. */ + @Env('N8N_TEMPLATES_HOST') + readonly host: string = 'https://api.n8n.io/api/'; +} diff --git a/packages/@n8n/config/src/index.ts b/packages/@n8n/config/src/index.ts index d2c8fd3234..d74b942b80 100644 --- a/packages/@n8n/config/src/index.ts +++ b/packages/@n8n/config/src/index.ts @@ -5,6 +5,7 @@ import { EmailConfig } from './configs/email'; import { VersionNotificationsConfig } from './configs/version-notifications'; import { PublicApiConfig } from './configs/public-api'; import { ExternalSecretsConfig } from './configs/external-secrets'; +import { TemplatesConfig } from './configs/templates'; @Config class UserManagementConfig { @@ -31,4 +32,7 @@ export class GlobalConfig { @Nested externalSecrets: ExternalSecretsConfig; + + @Nested + templates: TemplatesConfig; } diff --git a/packages/cli/src/security-audit/risk-reporters/InstanceRiskReporter.ts b/packages/cli/src/security-audit/risk-reporters/InstanceRiskReporter.ts index eaedf36c39..04242ba260 100644 --- a/packages/cli/src/security-audit/risk-reporters/InstanceRiskReporter.ts +++ b/packages/cli/src/security-audit/risk-reporters/InstanceRiskReporter.ts @@ -90,7 +90,7 @@ export class InstanceRiskReporter implements RiskReporter { settings.features = { communityPackagesEnabled: config.getEnv('nodes.communityPackages.enabled'), versionNotificationsEnabled: this.globalConfig.versionNotifications.enabled, - templatesEnabled: config.getEnv('templates.enabled'), + templatesEnabled: this.globalConfig.templates.enabled, publicApiEnabled: isApiEnabled(), }; diff --git a/packages/cli/src/services/frontend.service.ts b/packages/cli/src/services/frontend.service.ts index d959254369..dbf90e45de 100644 --- a/packages/cli/src/services/frontend.service.ts +++ b/packages/cli/src/services/frontend.service.ts @@ -161,8 +161,8 @@ export class FrontendService { logLevel: config.getEnv('logs.level'), hiringBannerEnabled: config.getEnv('hiringBanner.enabled'), templates: { - enabled: config.getEnv('templates.enabled'), - host: config.getEnv('templates.host'), + enabled: this.globalConfig.templates.enabled, + host: this.globalConfig.templates.host, }, executionMode: config.getEnv('executions.mode'), pushBackend: config.getEnv('push.backend'),