Refactor SSL

This commit is contained in:
Benjamin Toby
2024-11-06 13:57:20 +01:00
parent eb341a7845
commit 83d261362f
316 changed files with 541 additions and 4615 deletions
@@ -1,11 +1,7 @@
// @ts-check
const fs = require("fs");
const path = require("path");
const mysql = require("serverless-mysql");
const SSL_DIR =
process.env.DSQL_SSL_DIR || path.resolve(__dirname, "../../../../ssl");
const grabDbSSL = require("../grabDbSSL");
const MASTER = mysql({
config: {
@@ -17,9 +13,7 @@ const MASTER = mysql({
? Number(process.env.DSQL_DB_PORT)
: undefined,
charset: "utf8mb4",
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
@@ -4,9 +4,7 @@ const fs = require("fs");
const path = require("path");
const mysql = require("serverless-mysql");
const SSL_DIR =
process.env.DSQL_SSL_DIR || path.resolve(__dirname, "../../../../ssl");
const grabDbSSL = require("../grabDbSSL");
let DSQL_USER = mysql({
config: {
@@ -14,9 +12,7 @@ let DSQL_USER = mysql({
user: process.env.DSQL_DB_READ_ONLY_USERNAME,
password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
charset: "utf8mb4",
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
@@ -48,9 +44,7 @@ function DSQL_USER_DB_HANDLER({
user: process.env.DSQL_DB_FULL_ACCESS_USERNAME,
password: process.env.DSQL_DB_FULL_ACCESS_PASSWORD,
database: database,
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
} else {
@@ -60,9 +54,7 @@ function DSQL_USER_DB_HANDLER({
user: process.env.DSQL_DB_READ_ONLY_USERNAME,
password: process.env.DSQL_DB_READ_ONLY_PASSWORD,
database: database,
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
}
@@ -1,12 +1,7 @@
// @ts-check
const fs = require("fs");
const path = require("path");
const mysql = require("serverless-mysql");
const SSL_DIR =
process.env.DSQL_SSL_DIR || path.resolve(__dirname, "../../../../ssl");
const grabDbSSL = require("../grabDbSSL");
let NO_DB = mysql({
config: {
@@ -14,9 +9,7 @@ let NO_DB = mysql({
user: process.env.DSQL_DB_USERNAME,
password: process.env.DSQL_DB_PASSWORD,
charset: "utf8mb4",
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
@@ -1,12 +1,7 @@
// @ts-check
const fs = require("fs");
const path = require("path");
const mysql = require("serverless-mysql");
const SSL_DIR =
process.env.DSQL_SSL_DIR || path.resolve(__dirname, "../../../../ssl");
const grabDbSSL = require("../grabDbSSL");
let NO_DB = mysql({
config: {
@@ -14,9 +9,7 @@ let NO_DB = mysql({
user: process.env.DSQL_DB_USERNAME,
password: process.env.DSQL_DB_PASSWORD,
charset: "utf8mb4",
ssl: {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
},
ssl: grabDbSSL(),
},
});
+22
View File
@@ -0,0 +1,22 @@
// @ts-check
const fs = require("fs");
/**
* @returns {string | (import("tls").SecureContextOptions & { rejectUnauthorized?: boolean | undefined;}) | undefined}
*/
module.exports = function grabDbSSL() {
const SSL_DIR = process.env.DSQL_SSL_DIR;
if (!SSL_DIR?.match(/./)) return undefined;
const caFilePath = `${SSL_DIR}/ca-cert.pem`;
if (!fs.existsSync(caFilePath)) {
console.log(`${caFilePath} does not exist`);
return undefined;
}
return {
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
};
};