SSL support for redis #691

This commit is contained in:
SPRINX0\prochazka
2025-01-22 18:42:14 +01:00
parent d16bc83af0
commit 0d3e39c479
2 changed files with 8 additions and 3 deletions

View File

@@ -81,7 +81,7 @@ function splitCommandLine(str) {
const driver = { const driver = {
...driverBase, ...driverBase,
analyserClass: Analyser, 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 db = 0;
let client; let client;
if (useDatabaseUrl) { if (useDatabaseUrl) {
@@ -90,6 +90,12 @@ const driver = {
} else { } else {
if (_.isString(database) && database.startsWith('db')) db = parseInt(database.substring(2)); if (_.isString(database) && database.startsWith('db')) db = parseInt(database.substring(2));
if (_.isNumber(database)) db = database; if (_.isNumber(database)) db = database;
if (ssl) {
ssl = {
..._.omit(ssl, ['rejectUnauthorized', 'password']),
passphrase: ssl.password,
};
}
client = new Redis({ client = new Redis({
host: server, host: server,
port, port,
@@ -97,6 +103,7 @@ const driver = {
password, password,
db, db,
connectionName: 'dbgate', connectionName: 'dbgate',
tls: ssl,
}); });
} }

View File

@@ -82,8 +82,6 @@ const driver = {
} }
return ['server', 'port', 'user', 'password', 'isReadOnly', 'treeKeySeparator'].includes(field); return ['server', 'port', 'user', 'password', 'isReadOnly', 'treeKeySeparator'].includes(field);
}, },
showConnectionTab: (field) => field == 'sshTunnel',
}; };
module.exports = driver; module.exports = driver;