Simplify secret type cast and default to Opaque

This commit is contained in:
Marton Soos
2022-02-17 19:36:49 +01:00
parent 302653832e
commit bb7a0c8ca9
2 changed files with 7 additions and 22 deletions

View File

@@ -50,6 +50,11 @@ func CreateKubernetesSecretFromItem(kubeClient kubernetesClient.Client, secretNa
} }
secretAnnotations[RestartDeploymentsAnnotation] = autoRestart secretAnnotations[RestartDeploymentsAnnotation] = autoRestart
} }
// Default to Opaque secrets
if secretType == "" {
secretType = "Opaque"
}
secret := BuildKubernetesSecretFromOnePasswordItem(secretName, namespace, secretAnnotations, labels, secretType, *item) secret := BuildKubernetesSecretFromOnePasswordItem(secretName, namespace, secretAnnotations, labels, secretType, *item)
currentSecret := &corev1.Secret{} currentSecret := &corev1.Secret{}
@@ -67,15 +72,12 @@ func CreateKubernetesSecretFromItem(kubeClient kubernetesClient.Client, secretNa
if currentSecretType == "" { if currentSecretType == "" {
currentSecretType = "Opaque" currentSecretType = "Opaque"
} }
if secretType == "" {
secretType = "Opaque"
}
if !reflect.DeepEqual(currentAnnotations, secretAnnotations) || !reflect.DeepEqual(currentLabels, labels) || !reflect.DeepEqual(currentSecretType, secretType) { if !reflect.DeepEqual(currentAnnotations, secretAnnotations) || !reflect.DeepEqual(currentLabels, labels) || !reflect.DeepEqual(currentSecretType, secretType) {
log.Info(fmt.Sprintf("Updating Secret %v at namespace '%v'", secret.Name, secret.Namespace)) log.Info(fmt.Sprintf("Updating Secret %v at namespace '%v'", secret.Name, secret.Namespace))
currentSecret.ObjectMeta.Annotations = secretAnnotations currentSecret.ObjectMeta.Annotations = secretAnnotations
currentSecret.ObjectMeta.Labels = labels currentSecret.ObjectMeta.Labels = labels
currentSecret.Data = secret.Data currentSecret.Data = secret.Data
currentSecret.Type = KubernetesSecretTypes[secretType] currentSecret.Type = corev1.SecretType(secretType)
return kubeClient.Update(context.Background(), currentSecret) return kubeClient.Update(context.Background(), currentSecret)
} }
@@ -92,7 +94,7 @@ func BuildKubernetesSecretFromOnePasswordItem(name, namespace string, annotation
Labels: labels, Labels: labels,
}, },
Data: BuildKubernetesSecretData(item.Fields), Data: BuildKubernetesSecretData(item.Fields),
Type: KubernetesSecretTypes[secretType], Type: corev1.SecretType(secretType),
} }
} }

View File

@@ -1,17 +0,0 @@
package kubernetessecrets
import (
corev1 "k8s.io/api/core/v1"
)
// Default to Opaque as this is Kubernetes' default
var KubernetesSecretTypes = map[string]corev1.SecretType{
"Opaque": corev1.SecretTypeOpaque,
"kubernetes.io/basic-auth": corev1.SecretTypeBasicAuth,
"kubernetes.io/service-account-token": corev1.SecretTypeServiceAccountToken,
"kubernetes.io/dockercfg": corev1.SecretTypeDockercfg,
"kubernetes.io/dockerconfigjson": corev1.SecretTypeDockerConfigJson,
"kubernetes.io/ssh-auth": corev1.SecretTypeSSHAuth,
"kubernetes.io/tls": corev1.SecretTypeTLS,
"bootstrap.kubernetes.io/token": corev1.SecretTypeBootstrapToken,
}