diff --git a/scripts/gitops-render.mjs b/scripts/gitops-render.mjs index 96918396..2a05ce6b 100644 --- a/scripts/gitops-render.mjs +++ b/scripts/gitops-render.mjs @@ -4785,12 +4785,6 @@ function externalPostgresManifest({ profile = "v03", config, source }) { metadata: { name: config.serviceName, namespace, labels, annotations }, spec: { type: "ClusterIP", ports: [{ name: "postgres", port: config.port, targetPort: config.port, protocol: "TCP" }] } }, - { - apiVersion: "v1", - kind: "Endpoints", - metadata: { name: config.serviceName, namespace, labels, annotations }, - subsets: [{ addresses: [{ ip: config.endpointAddress }], ports: [{ name: "postgres", port: config.port, protocol: "TCP" }] }] - }, { apiVersion: "discovery.k8s.io/v1", kind: "EndpointSlice", diff --git a/scripts/gitops-render.test.ts b/scripts/gitops-render.test.ts index 1d0943da..4977ec11 100644 --- a/scripts/gitops-render.test.ts +++ b/scripts/gitops-render.test.ts @@ -532,12 +532,19 @@ test("v03 render keeps node identity as data instead of generated structure", as assert.ok(generatedPaths.includes("runtime-v03/node-frpc.yaml")); assert.ok(generatedPaths.includes("argocd/application-v03.yaml")); assert.ok(generatedPaths.includes("tekton-v03/pipeline.yaml")); + assert.ok(generatedPaths.includes("runtime-v03/external-postgres.yaml")); + assert.ok(!generatedPaths.includes("runtime-v03/postgres.yaml")); for (const relativePath of generatedPaths) { assert.doesNotMatch(relativePath, /g14/i, `legacy node token leaked into generated path ${relativePath}`); } const workloads = await readFile(path.join(outDir, "runtime-v03", "workloads.yaml"), "utf8"); const workloadsJson = JSON.parse(workloads); + const externalPostgres = JSON.parse(await readFile(path.join(outDir, "runtime-v03", "external-postgres.yaml"), "utf8")); + assert.deepEqual((externalPostgres.items ?? []).map((item) => item.kind), ["Service", "EndpointSlice"]); + const externalPostgresSlice = (externalPostgres.items ?? []).find((item) => item.kind === "EndpointSlice"); + assert.equal(externalPostgresSlice?.metadata?.name, "g14-platform-postgres-host"); + assert.equal(externalPostgresSlice?.metadata?.labels?.["kubernetes.io/service-name"], "g14-platform-postgres"); const deepseekProxy = await readFile(path.join(outDir, "runtime-v03", "deepseek-proxy.yaml"), "utf8"); const deepseekProxyJson = JSON.parse(deepseekProxy); const metricsSidecarConfigMaps = [...(workloadsJson.items ?? []), ...(deepseekProxyJson.items ?? [])]