Files
HiveGrid-Wireframes/hivegrid-cloud/scripts/infra-config.mjs
T

36 lines
1.5 KiB
JavaScript

// Single source of truth for infra strings asserted by verify-gitea-*-workflow.mjs.
// Forks override the defaults by exporting TOOLCTRL_* env vars in their CI environment.
// Default values match the canonical ToolCTRL Gitea deployment so the boilerplate's own
// CI passes without any env setup.
const envOr = (key, fallback) => {
const value = process.env[key];
if (typeof value !== "string") return fallback;
const trimmed = value.trim();
return trimmed ? trimmed : fallback;
};
export const CI_RUNNER_LABEL = envOr("TOOLCTRL_CI_RUNNER", "toolctrl-ci");
export const IMAGE_PREFIX = envOr("TOOLCTRL_IMAGE_PREFIX", "toolctrl");
export const GIT_HOST = envOr("TOOLCTRL_GIT_HOST", "git.tool-ctrl.de");
export const REGISTRY_NAMESPACE = envOr("TOOLCTRL_REGISTRY_NAMESPACE", "toolctrl-labs");
export const DB_USER = envOr("TOOLCTRL_DB_USER", "toolctrl");
export const DB_NAME = envOr("TOOLCTRL_DB_NAME", "toolctrl");
export const PREFLIGHT_DATABASE_URL = `postgresql://${DB_USER}:${DB_USER}@localhost:5432/${DB_NAME}?schema=public`;
export function dockerImageTag(target, tag = "smoke") {
return `${IMAGE_PREFIX}-${target}:${tag}`;
}
export function escapeRegex(value) {
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
export const HOST_OVERRIDE_WRITE_PATTERN = new RegExp(
`printf\\s+'%s ${escapeRegex(GIT_HOST)}\\\\n'\\s+"\\$TOOLCTRL_GITEA_HOST_IP"\\s+>>\\s+/etc/hosts`,
"g"
);
export const HOST_OVERRIDE_VALIDATION_PATTERN =
/node\s+-e\s+'process\.exit\(require\("node:net"\)\.isIP\(process\.env\.TOOLCTRL_GITEA_HOST_IP \|\| ""\) \? 0 : 1\)'/g;