From 0d3e39c4796fbdd1ff1ebe4bc202d69184ebc028 Mon Sep 17 00:00:00 2001 From: "SPRINX0\\prochazka" Date: Wed, 22 Jan 2025 18:42:14 +0100 Subject: [PATCH] SSL support for redis #691 --- plugins/dbgate-plugin-redis/src/backend/driver.js | 9 ++++++++- plugins/dbgate-plugin-redis/src/frontend/driver.js | 2 -- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/dbgate-plugin-redis/src/backend/driver.js b/plugins/dbgate-plugin-redis/src/backend/driver.js index 111f24ffb..af8b561f3 100644 --- a/plugins/dbgate-plugin-redis/src/backend/driver.js +++ b/plugins/dbgate-plugin-redis/src/backend/driver.js @@ -81,7 +81,7 @@ function splitCommandLine(str) { const driver = { ...driverBase, analyserClass: Analyser, - async connect({ server, port, user, password, database, useDatabaseUrl, databaseUrl, treeKeySeparator }) { + async connect({ server, port, user, password, database, useDatabaseUrl, databaseUrl, treeKeySeparator, ssl }) { let db = 0; let client; if (useDatabaseUrl) { @@ -90,6 +90,12 @@ const driver = { } else { if (_.isString(database) && database.startsWith('db')) db = parseInt(database.substring(2)); if (_.isNumber(database)) db = database; + if (ssl) { + ssl = { + ..._.omit(ssl, ['rejectUnauthorized', 'password']), + passphrase: ssl.password, + }; + } client = new Redis({ host: server, port, @@ -97,6 +103,7 @@ const driver = { password, db, connectionName: 'dbgate', + tls: ssl, }); } diff --git a/plugins/dbgate-plugin-redis/src/frontend/driver.js b/plugins/dbgate-plugin-redis/src/frontend/driver.js index df2f7f5f0..e3bc599d0 100644 --- a/plugins/dbgate-plugin-redis/src/frontend/driver.js +++ b/plugins/dbgate-plugin-redis/src/frontend/driver.js @@ -82,8 +82,6 @@ const driver = { } return ['server', 'port', 'user', 'password', 'isReadOnly', 'treeKeySeparator'].includes(field); }, - - showConnectionTab: (field) => field == 'sshTunnel', }; module.exports = driver;