From a910757cc5ac7e47f9e0ca6a57c8b624e269aaa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Tue, 5 Sep 2023 18:18:50 +0200 Subject: [PATCH] fix(core): Add support for in-transit encryption (TLS) on Redis connections (#7047) Fixes https://community.n8n.io/t/upgrade-from-1-1-1-to-1-2-0/30148 --- packages/cli/src/config/schema.ts | 6 ++++++ packages/cli/src/services/redis/RedisServiceHelper.ts | 2 ++ 2 files changed, 8 insertions(+) diff --git a/packages/cli/src/config/schema.ts b/packages/cli/src/config/schema.ts index a0ca581d04a26..622f740aa7dce 100644 --- a/packages/cli/src/config/schema.ts +++ b/packages/cli/src/config/schema.ts @@ -399,6 +399,12 @@ export const schema = { default: '', env: 'QUEUE_BULL_REDIS_CLUSTER_NODES', }, + tls: { + format: 'Boolean', + default: false, + env: 'QUEUE_BULL_REDIS_TLS', + doc: 'Enable TLS on Redis connections. Default: false', + }, }, queueRecoveryInterval: { doc: 'If > 0 enables an active polling to the queue that can recover for Redis crashes. Given in seconds; 0 is disabled. May increase Redis traffic significantly.', diff --git a/packages/cli/src/services/redis/RedisServiceHelper.ts b/packages/cli/src/services/redis/RedisServiceHelper.ts index 7faab169bc3da..32b5d823cbd9f 100644 --- a/packages/cli/src/services/redis/RedisServiceHelper.ts +++ b/packages/cli/src/services/redis/RedisServiceHelper.ts @@ -55,6 +55,7 @@ export function getRedisStandardClient( enableReadyCheck: false, maxRetriesPerRequest: null, }; + if (config.getEnv('queue.bull.redis.tls')) sharedRedisOptions.tls = {}; LoggerProxy.debug( `Initialising Redis client${redisType ? ` of type ${redisType}` : ''} connection with host: ${ host ?? 'localhost' @@ -101,6 +102,7 @@ export function getRedisClusterClient( enableReadyCheck: false, maxRetriesPerRequest: null, }; + if (config.getEnv('queue.bull.redis.tls')) sharedRedisOptions.tls = {}; LoggerProxy.debug( `Initialising Redis cluster${ redisType ? ` of type ${redisType}` : ''