fix(pac): 收敛 HWLAB runtime GitOps 脚本体积
This commit is contained in:
@@ -87,14 +87,12 @@ function hasNoBuildNoRolloutEarlyExit(script) {
|
||||
}
|
||||
|
||||
function injectRuntimeGitopsCommands(script) {
|
||||
if (hasPostprocess(script) && hasVerify(script)) return script;
|
||||
const overlayEnv = `UNIDESK_RUNTIME_GITOPS_OVERLAY_B64=${shellSingle(Buffer.from(JSON.stringify({
|
||||
runtimePath: overlay.runtimePath,
|
||||
observability: overlay.observability,
|
||||
}), "utf8").toString("base64"))}`;
|
||||
const overlayEnv = "UNIDESK_RUNTIME_GITOPS_OVERLAY_FILE=/etc/unidesk-cicd-runtime-gitops/runtime-gitops-overlay.json";
|
||||
const migratedScript = String(script).replace(/UNIDESK_RUNTIME_GITOPS_OVERLAY_B64='[^'\n]*'/gu, overlayEnv);
|
||||
if (hasPostprocess(migratedScript) && hasVerify(migratedScript)) return migratedScript;
|
||||
const postprocess = `${overlayEnv} node /etc/unidesk-cicd-runtime-gitops/runtime-gitops-postprocess.mjs`;
|
||||
const verify = `${overlayEnv} node /etc/unidesk-cicd-runtime-gitops/runtime-gitops-verify.mjs`;
|
||||
return String(script).replace(
|
||||
return migratedScript.replace(
|
||||
/(node scripts\/run-bun\.mjs scripts\/gitops-render\.mjs[^\n]*--use-deploy-images[^\n]*)/g,
|
||||
(match) => {
|
||||
if (match.includes("--check")) return hasVerify(script) ? match : verify;
|
||||
@@ -127,7 +125,12 @@ function ensureRuntimeGitopsScriptsMount(taskSpec, step) {
|
||||
|
||||
function writeScriptsConfigMap(targetPath, namespace) {
|
||||
if (scriptsDir === null) throw new Error("--scripts-dir is required with --scripts-configmap");
|
||||
const data = {};
|
||||
const data = {
|
||||
"runtime-gitops-overlay.json": `${JSON.stringify({
|
||||
runtimePath: requiredOverlayString("runtimePath"),
|
||||
observability: objectOr(overlay.observability),
|
||||
})}\n`,
|
||||
};
|
||||
for (const name of ["runtime-gitops-observability.mjs", "runtime-gitops-postprocess.mjs", "runtime-gitops-verify.mjs"]) {
|
||||
data[name] = readFileSync(path.join(scriptsDir, name), "utf8");
|
||||
}
|
||||
@@ -193,10 +196,6 @@ function objectOr(value) {
|
||||
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
||||
}
|
||||
|
||||
function shellSingle(value) {
|
||||
return `'${String(value).replaceAll("'", "'\\''")}'`;
|
||||
}
|
||||
|
||||
function requireYaml() {
|
||||
try {
|
||||
return requireFromScript("yaml");
|
||||
|
||||
@@ -257,8 +257,10 @@ function listYamlFiles(root) {
|
||||
}
|
||||
|
||||
function readOverlay() {
|
||||
const file = process.env.UNIDESK_RUNTIME_GITOPS_OVERLAY_FILE;
|
||||
if (file) return JSON.parse(readFileSync(file, "utf8"));
|
||||
const encoded = process.env.UNIDESK_RUNTIME_GITOPS_OVERLAY_B64;
|
||||
if (!encoded) throw new Error("UNIDESK_RUNTIME_GITOPS_OVERLAY_B64 is required");
|
||||
if (!encoded) throw new Error("UNIDESK_RUNTIME_GITOPS_OVERLAY_FILE or UNIDESK_RUNTIME_GITOPS_OVERLAY_B64 is required");
|
||||
return JSON.parse(Buffer.from(encoded, "base64").toString("utf8"));
|
||||
}
|
||||
|
||||
|
||||
@@ -102,8 +102,10 @@ function listYamlFiles(root) {
|
||||
}
|
||||
|
||||
function readOverlay() {
|
||||
const file = process.env.UNIDESK_RUNTIME_GITOPS_OVERLAY_FILE;
|
||||
if (file) return JSON.parse(readFileSync(file, "utf8"));
|
||||
const encoded = process.env.UNIDESK_RUNTIME_GITOPS_OVERLAY_B64;
|
||||
if (!encoded) throw new Error("UNIDESK_RUNTIME_GITOPS_OVERLAY_B64 is required");
|
||||
if (!encoded) throw new Error("UNIDESK_RUNTIME_GITOPS_OVERLAY_FILE or UNIDESK_RUNTIME_GITOPS_OVERLAY_B64 is required");
|
||||
return JSON.parse(Buffer.from(encoded, "base64").toString("utf8"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user