Skip to content

Commit 7c2337c

Browse files
committed
return error and log event if TLS special secret is not valid
1 parent d735830 commit 7c2337c

File tree

1 file changed

+22
-10
lines changed

1 file changed

+22
-10
lines changed

internal/k8s/controller.go

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1850,22 +1850,19 @@ func (lbc *LoadBalancerController) handleSecretUpdate(secret *api_v1.Secret, res
18501850
warnings, addOrUpdateErr = lbc.configurator.AddOrUpdateResources(resourceExes, !lbc.configurator.DynamicSSLReloadEnabled())
18511851
if addOrUpdateErr != nil {
18521852
nl.Errorf(lbc.Logger, "Error when updating Secret %v: %v", secretNsName, addOrUpdateErr)
1853-
lbc.recorder.Eventf(secret, api_v1.EventTypeWarning, "UpdatedWithError", "%v was updated, but not applied: %v", secretNsName, addOrUpdateErr)
1853+
lbc.recorder.Eventf(lbc.metadata.pod, api_v1.EventTypeWarning, "UpdatedWithError", "%v was updated, but not applied: %v", secretNsName, addOrUpdateErr)
18541854
}
18551855

18561856
lbc.updateResourcesStatusAndEvents(resources, warnings, addOrUpdateErr)
18571857
}
18581858

1859-
func (lbc *LoadBalancerController) validationTLSSpecialSecret(secret *api_v1.Secret, secretName string, secretList *[]string) {
1860-
secretNsName := generateSecretNSName(secret)
1861-
1859+
func (lbc *LoadBalancerController) validationTLSSpecialSecret(secret *api_v1.Secret, secretName string, secretList *[]string) error {
18621860
err := secrets.ValidateTLSSecret(secret)
18631861
if err != nil {
1864-
nl.Errorf(lbc.Logger, "Couldn't validate the special Secret %v: %v", secretNsName, err)
1865-
lbc.recorder.Eventf(secret, api_v1.EventTypeWarning, "Rejected", "the special Secret %v was rejected, using the previous version: %v", secretNsName, err)
1866-
return
1862+
return err
18671863
}
18681864
*secretList = append(*secretList, secretName)
1865+
return nil
18691866
}
18701867

18711868
func (lbc *LoadBalancerController) handleSpecialSecretUpdate(secret *api_v1.Secret, reload bool) {
@@ -1932,10 +1929,20 @@ func (lbc *LoadBalancerController) writeSpecialSecrets(secret *api_v1.Secret, se
19321929

19331930
func (lbc *LoadBalancerController) specialSecretValidation(secretNsName string, secret *api_v1.Secret, specialTLSSecretsToUpdate *[]string) bool {
19341931
if secretNsName == lbc.specialSecrets.defaultServerSecret {
1935-
lbc.validationTLSSpecialSecret(secret, configs.DefaultServerSecretFileName, specialTLSSecretsToUpdate)
1932+
err := lbc.validationTLSSpecialSecret(secret, configs.DefaultServerSecretFileName, specialTLSSecretsToUpdate)
1933+
if err != nil {
1934+
nl.Errorf(lbc.Logger, "Couldn't validate the special Secret %v: %v", secretNsName, err)
1935+
lbc.recorder.Eventf(lbc.metadata.pod, api_v1.EventTypeWarning, "Rejected", "the special Secret %v was rejected, using the previous version: %v", secretNsName, err)
1936+
return false
1937+
}
19361938
}
19371939
if secretNsName == lbc.specialSecrets.wildcardTLSSecret {
1938-
lbc.validationTLSSpecialSecret(secret, configs.WildcardSecretFileName, specialTLSSecretsToUpdate)
1940+
err := lbc.validationTLSSpecialSecret(secret, configs.WildcardSecretFileName, specialTLSSecretsToUpdate)
1941+
if err != nil {
1942+
nl.Errorf(lbc.Logger, "Couldn't validate the special Secret %v: %v", secretNsName, err)
1943+
lbc.recorder.Eventf(lbc.metadata.pod, api_v1.EventTypeWarning, "Rejected", "the special Secret %v was rejected, using the previous version: %v", secretNsName, err)
1944+
return false
1945+
}
19391946
}
19401947
if secretNsName == lbc.specialSecrets.licenseSecret {
19411948
err := secrets.ValidateLicenseSecret(secret)
@@ -1954,7 +1961,12 @@ func (lbc *LoadBalancerController) specialSecretValidation(secretNsName string,
19541961
}
19551962
}
19561963
if secretNsName == lbc.specialSecrets.clientAuthSecret {
1957-
lbc.validationTLSSpecialSecret(secret, configs.ClientAuthCertSecretFileName, specialTLSSecretsToUpdate)
1964+
err := lbc.validationTLSSpecialSecret(secret, configs.ClientAuthCertSecretFileName, specialTLSSecretsToUpdate)
1965+
if err != nil {
1966+
nl.Errorf(lbc.Logger, "Couldn't validate the special Secret %v: %v", secretNsName, err)
1967+
lbc.recorder.Eventf(lbc.metadata.pod, api_v1.EventTypeWarning, "Rejected", "the special Secret %v was rejected, using the previous version: %v", secretNsName, err)
1968+
return false
1969+
}
19581970
}
19591971
return true
19601972
}

0 commit comments

Comments
 (0)