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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user