From bf7415a3d92ec14c220bd0ce62988f6b7ac39fcc Mon Sep 17 00:00:00 2001 From: Paul Abel Date: Tue, 19 Nov 2024 16:51:29 +0000 Subject: [PATCH] expand special secret validation --- internal/k8s/controller.go | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/internal/k8s/controller.go b/internal/k8s/controller.go index 9ad044b69f..ce6de31387 100644 --- a/internal/k8s/controller.go +++ b/internal/k8s/controller.go @@ -1763,7 +1763,8 @@ func (lbc *LoadBalancerController) handleSecretUpdate(secret *api_v1.Secret, res lbc.updateResourcesStatusAndEvents(resources, warnings, addOrUpdateErr) } -func (lbc *LoadBalancerController) validationTLSSpecialSecret(secret *api_v1.Secret, secretName string, secretList *[]string) { +func (lbc *LoadBalancerController) validationTLSSpecialSecret(secret *api_v1.Secret, secretName string) { + var specialSecretsToUpdate []string secretNsName := secret.Namespace + "/" + secret.Name err := secrets.ValidateTLSSecret(secret) @@ -1772,28 +1773,25 @@ func (lbc *LoadBalancerController) validationTLSSpecialSecret(secret *api_v1.Sec lbc.recorder.Eventf(secret, api_v1.EventTypeWarning, "Rejected", "the special Secret %v was rejected, using the previous version: %v", secretNsName, err) return } - *secretList = append(*secretList, secretName) -} + specialSecretsToUpdate = append(specialSecretsToUpdate, secretName) -func (lbc *LoadBalancerController) handleSpecialSecretUpdate(secret *api_v1.Secret) { - var specialTLSSecretsToUpdate []string - secretNsName := secret.Namespace + "/" + secret.Name - switch secretNsName { - case lbc.specialSecrets.defaultServerSecret: - lbc.validationTLSSpecialSecret(secret, configs.DefaultServerSecretFileName, &specialTLSSecretsToUpdate) - case lbc.specialSecrets.wildcardTLSSecret: - lbc.validationTLSSpecialSecret(secret, configs.WildcardSecretFileName, &specialTLSSecretsToUpdate) - default: - nl.Warnf(lbc.Logger, "special secret not found") - return - } - err := lbc.configurator.AddOrUpdateSpecialTLSSecrets(secret, specialTLSSecretsToUpdate) + err = lbc.configurator.AddOrUpdateSpecialTLSSecrets(secret, specialSecretsToUpdate) if err != nil { nl.Errorf(lbc.Logger, "Error when updating the special Secret %v: %v", secretNsName, err) lbc.recorder.Eventf(secret, api_v1.EventTypeWarning, "UpdatedWithError", "the special Secret %v was updated, but not applied: %v", secretNsName, err) return } - lbc.recorder.Eventf(secret, api_v1.EventTypeNormal, "Updated", "the special Secret %v was updated", secretNsName) +} + +func (lbc *LoadBalancerController) handleSpecialSecretUpdate(secret *api_v1.Secret) { + switch secret.Name { + case lbc.specialSecrets.defaultServerSecret: + lbc.validationTLSSpecialSecret(secret, configs.DefaultServerSecretFileName) + case lbc.specialSecrets.wildcardTLSSecret: + lbc.validationTLSSpecialSecret(secret, configs.WildcardSecretFileName) + } + + lbc.recorder.Eventf(secret, api_v1.EventTypeNormal, "Updated", "the special Secret %v was updated", secret.Namespace+"/"+secret.Name) } func getStatusFromEventTitle(eventTitle string) string {