Merge pull request #1137 from pikasTech/codex/hwlab-secret-plane-eso-namespace

fix: rewrite ESO runtime namespace for secret plane
This commit is contained in:
Lyon
2026-06-27 17:04:41 +08:00
committed by GitHub
+16 -1
View File
@@ -377,7 +377,22 @@ async function fetchEsoManifest(secretPlane: SecretPlaneConfig, target: SecretPl
if (!text.includes(secretPlane.eso.version) || !text.includes("kind: CustomResourceDefinition")) {
throw new Error(`ESO manifest ${secretPlane.eso.manifestUrl} does not look like ${secretPlane.eso.version} static install YAML`);
}
return text.replace(/^(\s*namespace:\s*)default\s*$/gmu, `$1${target.namespace}`);
return rewriteEsoManifestNamespace(text, target.namespace);
}
function rewriteEsoManifestNamespace(text: string, namespaceName: string): string {
const rewritten = text
.replace(/^(\s*namespace:\s*)default\s*$/gmu, `$1${namespaceName}`)
.replaceAll("external-secrets-webhook.default.svc", `external-secrets-webhook.${namespaceName}.svc`)
.replaceAll("--service-namespace=default", `--service-namespace=${namespaceName}`)
.replaceAll("--secret-namespace=default", `--secret-namespace=${namespaceName}`);
const remainingRuntimeDefaultRefs = [
"external-secrets-webhook.default.svc",
"--service-namespace=default",
"--secret-namespace=default",
].filter((needle) => rewritten.includes(needle));
if (remainingRuntimeDefaultRefs.length > 0) throw new Error(`ESO manifest namespace rewrite left runtime default references: ${remainingRuntimeDefaultRefs.join(", ")}`);
return rewritten;
}
function renderWorkloadManifest(secretPlane: SecretPlaneConfig, target: SecretPlaneTarget): string {