datasquirel/package-shared/utils/backend/grabDbSSL.ts
Benjamin Toby 43a741f9ac Updates
2025-08-05 13:56:51 +01:00

40 lines
1.0 KiB
TypeScript

import fs from "fs";
import grabDirNames from "./names/grab-dir-names";
import type { ConnectionConfig } from "mariadb";
import path from "path";
import serverlessMysql from "serverless-mysql";
import { ConnectionOptions } from "tls";
// type Return = ConnectionConfig["ssl"] | undefined;
/**
* # Grab SSL
*/
export default function grabDbSSL(): any {
let maxscaleSSLCaCertFileFinal;
try {
const { maxscaleSSLCaCertFile } = grabDirNames();
maxscaleSSLCaCertFileFinal = maxscaleSSLCaCertFile;
} catch (error) {}
const caProivdedPath =
process.env.DSQL_SSL_CA_CERT || maxscaleSSLCaCertFileFinal;
if (!caProivdedPath?.match(/./)) {
return undefined;
}
const caFilePath = path.resolve(process.cwd(), caProivdedPath);
if (!fs.existsSync(caFilePath)) {
console.log(`${caFilePath} does not exist`);
return undefined;
}
return {
ca: fs.readFileSync(caFilePath),
rejectUnauthorized: false,
};
}