diff --git a/pkg/cluster/resources.go b/pkg/cluster/resources.go index 46b48293e..c75457a5a 100644 --- a/pkg/cluster/resources.go +++ b/pkg/cluster/resources.go @@ -727,16 +727,23 @@ func (c *Cluster) deleteEndpoint(role PostgresRole) error { func (c *Cluster) deleteSecrets() error { c.setProcessName("deleting secrets") + var errors []string + errorCount := 0 for uid, secret := range c.Secrets { c.logger.Debugf("deleting secret %q", util.NameFromMeta(secret.ObjectMeta)) err := c.KubeClient.Secrets(secret.Namespace).Delete(context.TODO(), secret.Name, c.deleteOptions) if err != nil { - return err + errors = append(errors, fmt.Sprintf("could not delete secret %q: %v", util.NameFromMeta(secret.ObjectMeta), err)) + errorCount++ } c.logger.Infof("secret %q has been deleted", util.NameFromMeta(secret.ObjectMeta)) c.Secrets[uid] = nil } + if errorCount > 0 { + return fmt.Errorf("could not delete all secrets: %v", errors) + } + return nil }