From 623a72d3d3956e36e30fd869c4c03c408be7c9ab Mon Sep 17 00:00:00 2001 From: Jon Edvald Date: Sun, 30 Jun 2019 20:27:17 +0200 Subject: [PATCH] fix(k8s): error when copying TLS secrets between namespaces --- garden-service/src/plugins/kubernetes/secrets.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/garden-service/src/plugins/kubernetes/secrets.ts b/garden-service/src/plugins/kubernetes/secrets.ts index 09c6aae192..e730ff308c 100644 --- a/garden-service/src/plugins/kubernetes/secrets.ts +++ b/garden-service/src/plugins/kubernetes/secrets.ts @@ -16,6 +16,7 @@ import { GetSecretParams } from "../../types/plugin/provider/getSecret" import { SetSecretParams } from "../../types/plugin/provider/setSecret" import { DeleteSecretParams } from "../../types/plugin/provider/deleteSecret" import { KubernetesResource } from "./types" +import { pick } from "lodash" export async function getSecret({ ctx, log, key }: GetSecretParams) { const k8sCtx = ctx @@ -110,8 +111,11 @@ export async function ensureSecret(api: KubeApi, secretRef: SecretRef, targetNam return } - delete secret.metadata.resourceVersion - secret.metadata.namespace = targetNamespace + // Make sure we don't copy generated attributes + secret.metadata = { + ...pick(secret.metadata, ["name", "annotations", "labels"]), + namespace: targetNamespace, + } await api.upsert("Secret", targetNamespace, secret) }