This commit is contained in:
Benjamin Toby
2025-07-07 09:14:37 +01:00
parent 6acf0f2cd6
commit ccb5605b58
30 changed files with 292 additions and 166 deletions
@@ -20,6 +20,24 @@ export default function grabDirNames(param?: Param) {
throw new Error("Please provide the `DATA_DIR` env variable.");
const STATIC_ROOT = path.join(DATA_DIR, "static");
const staticConfigDir = path.join(DATA_DIR, "static-config");
const staticNGINXConfigFile = path.join(staticConfigDir, "default.conf");
const mainReverseProxyConfigDir = path.join(DATA_DIR, "reverse-proxy");
const mainReverseProxyConfigFile = path.join(
mainReverseProxyConfigDir,
"default.conf"
);
const mainReverseProxyTemplatesDir = path.join(
mainReverseProxyConfigDir,
"templates"
);
const mainReverseProxyTemplatesDefaultFile = path.join(
mainReverseProxyTemplatesDir,
"default.conf.template"
);
const publicImagesDir = path.join(STATIC_ROOT, `images`);
const publicDir = path.join(appDir, "public");
@@ -140,10 +158,12 @@ export default function grabDirNames(param?: Param) {
let dockerComposeFile = path.join(appDir, "docker-compose.yml");
let dockerComposeFileAlt = path.join(appDir, "docker-compose.yaml");
const testDockerComposeFile = path.join(appDir, "test.docker-compose.yml");
const testDockerComposeFileAlt = path.join(
const dsqlDockerComposeFileName = "dsql.docker-compose.yml";
const dsqlDockerComposeFileNameAlt = "dsql.docker-compose.yaml";
const dsqlDockerComposeFile = path.join(appDir, dsqlDockerComposeFileName);
const dsqlDockerComposeFileAlt = path.join(
appDir,
"test.docker-compose.yaml"
dsqlDockerComposeFileNameAlt
);
const dbDockerComposeFile = path.join(appDir, "db.docker-compose.yml");
const dbDockerComposeFileAlt = path.join(appDir, "db.docker-compose.yaml");
@@ -159,7 +179,8 @@ export default function grabDirNames(param?: Param) {
const siteSetupFile = path.join(appDir, "site-setup.json");
const envFile = path.join(appDir, ".env");
const testEnvFile = path.join(appDir, "test.env");
const dsqlEnvFileName = "dsql.env";
const dsqlEnvFile = path.join(appDir, dsqlEnvFileName);
/**
* # Backup Dir names
@@ -173,6 +194,32 @@ export default function grabDirNames(param?: Param) {
const sqlBackupDirName = `sql`;
const schemasBackupDirName = `schema`;
/**
* # Distribution Names
*/
const distroDirName = "distro" as const;
const distroAppDirName = "dsql-app" as const;
const distroDataDirName = "dsql-data" as const;
const distroCommunityName = "dsql-community" as const;
const distroCommunityExportTarName =
`${distroCommunityName}.tar.xz` as const;
const distroProName = "dsql-pro" as const;
const distroProExportTarName = `${distroProName}.tar.xz` as const;
const distroEnterpriseName = "dsql-enterprise" as const;
const distroEnterpriseExportTarName =
`${distroEnterpriseName}.tar.xz` as const;
const communityDistroTempDir = path.resolve(
appDir,
"build",
"community",
".tmp"
);
const communityDistroDir = path.resolve(
communityDistroTempDir,
distroDirName
);
return {
appDir,
privateDataDir,
@@ -197,13 +244,14 @@ export default function grabDirNames(param?: Param) {
dbNginxLoadBalancerConfigFile,
dockerComposeFile,
dockerComposeFileAlt,
testDockerComposeFile,
testDockerComposeFileAlt,
dsqlDockerComposeFile,
dsqlDockerComposeFileAlt,
extraDockerComposeFile,
extraDockerComposeFileAlt,
siteSetupFile,
envFile,
testEnvFile,
dsqlEnvFileName,
dsqlEnvFile,
userPublicMediaDir,
userTempSQLFilePath,
STATIC_ROOT,
@@ -237,5 +285,24 @@ export default function grabDirNames(param?: Param) {
mainDBSSLDir,
replica1DBSSLDir,
replica2DBSSLDir,
staticConfigDir,
staticNGINXConfigFile,
mainReverseProxyConfigDir,
mainReverseProxyConfigFile,
mainReverseProxyTemplatesDir,
mainReverseProxyTemplatesDefaultFile,
dsqlDockerComposeFileName,
dsqlDockerComposeFileNameAlt,
distroDirName,
distroAppDirName,
distroDataDirName,
distroCommunityName,
distroCommunityExportTarName,
distroProName,
distroProExportTarName,
distroEnterpriseName,
distroEnterpriseExportTarName,
communityDistroTempDir,
communityDistroDir,
};
}
@@ -4,12 +4,16 @@ export default function grabDockerStackServicesNames() {
const maxScaleServiceName = `${deploymentName}-dsql-maxscale`;
const dbServiceName = `${deploymentName}-dsql-db`;
const dbCronServiceName = `${deploymentName}-dsql-db-cron`;
const cronServiceName = `${deploymentName}-dsql-cron`;
const postDbSetupServiceName = `${deploymentName}-dsql-post-db-setup`;
const setupServiceName = `${deploymentName}-dsql-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`;
const reverseProxyServiceName = `${deploymentName}-dsql-reverse-proxy`;
const staticServiceName = `${deploymentName}-dsql-static`;
const websocketServiceName = `${deploymentName}-dsql-websocket`;
return {
deploymentName,
@@ -17,10 +21,14 @@ export default function grabDockerStackServicesNames() {
dbServiceName,
dbCronServiceName,
postDbSetupServiceName,
setupServiceName,
webAppServiceName,
webAppCronServiceName,
webAppPostDbSetupServiceName,
dbReplica1ServiceName,
dbReplica2ServiceName,
reverseProxyServiceName,
staticServiceName,
websocketServiceName,
cronServiceName,
};
}
@@ -2,13 +2,23 @@ import grabDockerResourceIPNumbers from "../../grab-docker-resource-ip-numbers";
export default function grabIPAddresses() {
const globalIPPrefix = process.env.DSQL_NETWORK_IP_PREFIX || "172.72.0";
const { cron, db, maxscale, postDbSetup, web } =
grabDockerResourceIPNumbers();
const {
cron,
db,
maxscale,
postDbSetup,
web,
db_cron,
reverse_proxy,
web_app_post_db_setup,
websocket,
} = grabDockerResourceIPNumbers();
const webAppIP = `${globalIPPrefix}.${web}`;
const appCronIP = `${globalIPPrefix}.${cron}`;
const maxScaleIP = `${globalIPPrefix}.${maxscale}`;
const mainDBIP = `${globalIPPrefix}.${db}`;
const webSocketIP = `${globalIPPrefix}.${websocket}`;
const localHostIP = `${globalIPPrefix}.1`;
return {
@@ -18,5 +28,6 @@ export default function grabIPAddresses() {
mainDBIP,
localHostIP,
globalIPPrefix,
webSocketIP,
};
}