Updates
This commit is contained in:
@@ -4,14 +4,14 @@ import grabDSQLConnection from "../../grab-dsql-connection";
|
||||
* # DSQL user read-only DB handler
|
||||
* @requires DSQL_DB_CONN - Gobal Variable for Datasquirel Database
|
||||
*/
|
||||
export default async function DB_HANDLER(...args: any[]) {
|
||||
export default async function DB_HANDLER(query: string, values?: any[]) {
|
||||
const CONNECTION = grabDSQLConnection();
|
||||
|
||||
try {
|
||||
if (!CONNECTION)
|
||||
throw new Error("No Connection provided to DB_HANDLER function!");
|
||||
|
||||
const results = await CONNECTION.query(...args);
|
||||
const results = await CONNECTION.query(query, values);
|
||||
|
||||
return JSON.parse(JSON.stringify(results));
|
||||
} catch (error: any) {
|
||||
|
||||
@@ -3,11 +3,11 @@ import grabDSQLConnection from "../../grab-dsql-connection";
|
||||
/**
|
||||
* # DSQL user read-only DB handler
|
||||
*/
|
||||
export default async function LOCAL_DB_HANDLER(...args: any[]) {
|
||||
export default async function LOCAL_DB_HANDLER(query: string, values?: any[]) {
|
||||
const MASTER = grabDSQLConnection();
|
||||
|
||||
try {
|
||||
const results = await MASTER.query(...args);
|
||||
const results = await MASTER.query(query, values);
|
||||
|
||||
return JSON.parse(JSON.stringify(results));
|
||||
} catch (error: any) {
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
import mysql from "serverless-mysql";
|
||||
import grabDbSSL from "../grabDbSSL";
|
||||
import grabDSQLConnection from "../../grab-dsql-connection";
|
||||
|
||||
/**
|
||||
* # DSQL user read-only DB handler
|
||||
*/
|
||||
export default function NO_DB_HANDLER(...args: any[]) {
|
||||
export default function NO_DB_HANDLER(query: string, values?: any[]) {
|
||||
const CONNECTION = grabDSQLConnection();
|
||||
|
||||
try {
|
||||
return new Promise((resolve, reject) => {
|
||||
CONNECTION.query(...args)
|
||||
CONNECTION.query(query, values)
|
||||
.then((results) => {
|
||||
CONNECTION.end();
|
||||
resolve(JSON.parse(JSON.stringify(results)));
|
||||
|
||||
@@ -3,12 +3,12 @@ import grabDSQLConnection from "../../grab-dsql-connection";
|
||||
/**
|
||||
* # Root DB handler
|
||||
*/
|
||||
export default function ROOT_DB_HANDLER(...args: any[]) {
|
||||
export default function ROOT_DB_HANDLER(query: string, values?: any[]) {
|
||||
const CONNECTION = grabDSQLConnection();
|
||||
|
||||
try {
|
||||
return new Promise((resolve, reject) => {
|
||||
CONNECTION.query(...args)
|
||||
CONNECTION.query(query, values)
|
||||
.then((results) => {
|
||||
CONNECTION.end();
|
||||
resolve(JSON.parse(JSON.stringify(results)));
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
import fs from "fs";
|
||||
import grabDirNames from "./names/grab-dir-names";
|
||||
import type { ConnectionConfig } from "mariadb";
|
||||
|
||||
type Return =
|
||||
| string
|
||||
| (import("tls").SecureContextOptions & {
|
||||
rejectUnauthorized?: boolean | undefined;
|
||||
})
|
||||
| undefined;
|
||||
type Return = ConnectionConfig["ssl"] | undefined;
|
||||
|
||||
/**
|
||||
* # Grall SSL
|
||||
* # Grab SSL
|
||||
*/
|
||||
export default function grabDbSSL(): Return {
|
||||
const SSL_DIR = process.env.DSQL_SSL_DIR;
|
||||
if (!SSL_DIR?.match(/./)) {
|
||||
const { maxscaleSSLDir } = grabDirNames();
|
||||
if (!maxscaleSSLDir?.match(/./)) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const caFilePath = `${SSL_DIR}/ca-cert.pem`;
|
||||
const caFilePath = `${maxscaleSSLDir}/ca-cert.pem`;
|
||||
|
||||
if (!fs.existsSync(caFilePath)) {
|
||||
console.log(`${caFilePath} does not exist`);
|
||||
@@ -24,9 +21,7 @@ export default function grabDbSSL(): Return {
|
||||
}
|
||||
|
||||
return {
|
||||
ca: fs.readFileSync(`${SSL_DIR}/ca-cert.pem`),
|
||||
// key: fs.readFileSync(`${SSL_DIR}/client-key.pem`),
|
||||
// cert: fs.readFileSync(`${SSL_DIR}/client-cert.pem`),
|
||||
ca: fs.readFileSync(`${maxscaleSSLDir}/ca-cert.pem`),
|
||||
rejectUnauthorized: false,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ export default function grabDirNames(param?: Param) {
|
||||
const appSSLDir = path.join(appDir, "ssl");
|
||||
const mainSSLDir = path.join(DATA_DIR, "ssl");
|
||||
|
||||
const maxscaleSSLDir = path.join(mainSSLDir, "maxscale");
|
||||
const mainDBSSLDir = path.join(mainSSLDir, "main");
|
||||
const replica1DBSSLDir = path.join(mainSSLDir, "replica-1");
|
||||
const replica2DBSSLDir = path.join(mainSSLDir, "replica-2");
|
||||
|
||||
const privateDataDir = path.join(DATA_DIR, "private");
|
||||
|
||||
/**
|
||||
@@ -228,5 +233,9 @@ export default function grabDirNames(param?: Param) {
|
||||
sqlBackupDirName,
|
||||
schemasBackupDirName,
|
||||
userMainShemaJSONFilePath,
|
||||
maxscaleSSLDir,
|
||||
mainDBSSLDir,
|
||||
replica1DBSSLDir,
|
||||
replica2DBSSLDir,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
export default function grabDockerStackServicesNames() {
|
||||
const deploymentName = process.env.DSQL_DEPLOYMENT_NAME || "dsql";
|
||||
|
||||
const maxScaleServiceName = `${deploymentName}-dsql-maxscale`;
|
||||
const dbServiceName = `${deploymentName}-dsql-db`;
|
||||
const dbCronServiceName = `${deploymentName}-dsql-db-cron`;
|
||||
const postDbSetupServiceName = `${deploymentName}-dsql-post-db-setup`;
|
||||
const webAppServiceName = `${deploymentName}-dsql-web-app`;
|
||||
const webAppCronServiceName = `${deploymentName}-dsql-web-app-cron`;
|
||||
const webAppPostDbSetupServiceName = `${deploymentName}-dsql-web-app-post-db-setup`;
|
||||
const dbReplica1ServiceName = `${deploymentName}-dsql-db-replica-1`;
|
||||
const dbReplica2ServiceName = `${deploymentName}-dsql-db-replica-2`;
|
||||
|
||||
return {
|
||||
deploymentName,
|
||||
maxScaleServiceName,
|
||||
dbServiceName,
|
||||
dbCronServiceName,
|
||||
postDbSetupServiceName,
|
||||
webAppServiceName,
|
||||
webAppCronServiceName,
|
||||
webAppPostDbSetupServiceName,
|
||||
dbReplica1ServiceName,
|
||||
dbReplica2ServiceName,
|
||||
};
|
||||
}
|
||||
@@ -8,6 +8,15 @@ export default function grabIPAddresses() {
|
||||
const webAppIP = `${globalIPPrefix}.${web}`;
|
||||
const appCronIP = `${globalIPPrefix}.${cron}`;
|
||||
const maxScaleIP = `${globalIPPrefix}.${maxscale}`;
|
||||
const mainDBIP = `${globalIPPrefix}.${db}`;
|
||||
const localHostIP = `${globalIPPrefix}.1`;
|
||||
|
||||
return { webAppIP, appCronIP, maxScaleIP, globalIPPrefix };
|
||||
return {
|
||||
webAppIP,
|
||||
appCronIP,
|
||||
maxScaleIP,
|
||||
mainDBIP,
|
||||
localHostIP,
|
||||
globalIPPrefix,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user