diff --git a/app/kubernetes/converters/configuration.js b/app/kubernetes/converters/configuration.js index 6c69a9581..076b3437d 100644 --- a/app/kubernetes/converters/configuration.js +++ b/app/kubernetes/converters/configuration.js @@ -19,7 +19,8 @@ class KubernetesConfigurationConverter { res.IsRegistrySecret = secret.IsRegistrySecret; res.SecretType = secret.SecretType; if (secret.Annotations) { - res.ServiceAccountName = secret.Annotations['kubernetes.io/service-account.name']; + const serviceAccountAnnotation = secret.Annotations.find((a) => a.key === 'kubernetes.io/service-account.name'); + res.ServiceAccountName = serviceAccountAnnotation ? serviceAccountAnnotation.value : undefined; } res.Labels = secret.Labels; return res; diff --git a/app/kubernetes/converters/secret.js b/app/kubernetes/converters/secret.js index 01425d4f0..af8290edb 100644 --- a/app/kubernetes/converters/secret.js +++ b/app/kubernetes/converters/secret.js @@ -109,7 +109,10 @@ class KubernetesSecretConverter { res.Type = formValues.customType; } if (formValues.Type === KubernetesSecretTypeOptions.SERVICEACCOUNTTOKEN.value) { - res.Annotations = [{ name: 'kubernetes.io/service-account.name', value: formValues.ServiceAccountName }]; + const serviceAccountAnnotation = formValues.Annotations.find((a) => a.key === 'kubernetes.io/service-account.name'); + if (!serviceAccountAnnotation) { + res.Annotations.push({ key: 'kubernetes.io/service-account.name', value: formValues.ServiceAccountName }); + } } return res; } diff --git a/app/kubernetes/ingress/converter.js b/app/kubernetes/ingress/converter.js index 897a2d19e..a887dcf78 100644 --- a/app/kubernetes/ingress/converter.js +++ b/app/kubernetes/ingress/converter.js @@ -118,7 +118,7 @@ export class KubernetesIngressConverter { const res = new KubernetesIngress(); res.Name = formValues.IngressClass.Name; res.Namespace = formValues.Namespace; - const pairs = _.map(formValues.Annotations, (a) => [a.Key, a.Value]); + const pairs = _.map(formValues.Annotations, (a) => [a.key, a.value]); res.Annotations = _.fromPairs(pairs); res.Annotations[PortainerIngressClassTypes] = formValues.IngressClass.Name; res.IngressClassName = formValues.IngressClass.Name; @@ -149,8 +149,8 @@ export class KubernetesIngressConverter { const annotations = _.map(_.toPairs(ingress.Annotations), ([key, value]) => { if (key !== PortainerIngressClassTypes) { const annotation = new KubernetesResourcePoolIngressClassAnnotationFormValue(); - annotation.Key = key; - annotation.Value = value; + annotation.key = key; + annotation.value = value; return annotation; } });