delete secrets of system users too (#974)
This commit is contained in:
parent
8ff7658ed3
commit
3a49b485e5
|
|
@ -822,10 +822,6 @@ func (c *Cluster) Delete() {
|
|||
}
|
||||
|
||||
for _, obj := range c.Secrets {
|
||||
if doDelete, user := c.shouldDeleteSecret(obj); !doDelete {
|
||||
c.logger.Warningf("not removing secret %q for the system user %q", obj.GetName(), user)
|
||||
continue
|
||||
}
|
||||
if err := c.deleteSecret(obj); err != nil {
|
||||
c.logger.Warningf("could not delete secret: %v", err)
|
||||
}
|
||||
|
|
@ -1300,11 +1296,6 @@ func (c *Cluster) Unlock() {
|
|||
c.mu.Unlock()
|
||||
}
|
||||
|
||||
func (c *Cluster) shouldDeleteSecret(secret *v1.Secret) (delete bool, userName string) {
|
||||
secretUser := string(secret.Data["username"])
|
||||
return (secretUser != c.OpConfig.ReplicationUsername && secretUser != c.OpConfig.SuperUsername), secretUser
|
||||
}
|
||||
|
||||
type simpleActionWithResult func() error
|
||||
|
||||
type clusterObjectGet func(name string) (spec.NamespacedName, error)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import (
|
|||
"github.com/zalando/postgres-operator/pkg/util/constants"
|
||||
"github.com/zalando/postgres-operator/pkg/util/k8sutil"
|
||||
"github.com/zalando/postgres-operator/pkg/util/teams"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/client-go/tools/record"
|
||||
)
|
||||
|
|
@ -334,36 +333,6 @@ func TestInitHumanUsersWithSuperuserTeams(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestShouldDeleteSecret(t *testing.T) {
|
||||
testName := "TestShouldDeleteSecret"
|
||||
|
||||
tests := []struct {
|
||||
secret *v1.Secret
|
||||
outcome bool
|
||||
}{
|
||||
{
|
||||
secret: &v1.Secret{Data: map[string][]byte{"username": []byte("foobar")}},
|
||||
outcome: true,
|
||||
},
|
||||
{
|
||||
secret: &v1.Secret{Data: map[string][]byte{"username": []byte(superUserName)}},
|
||||
|
||||
outcome: false,
|
||||
},
|
||||
{
|
||||
secret: &v1.Secret{Data: map[string][]byte{"username": []byte(replicationUserName)}},
|
||||
outcome: false,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
if outcome, username := cl.shouldDeleteSecret(tt.secret); outcome != tt.outcome {
|
||||
t.Errorf("%s expects the check for deletion of the username %q secret to return %t, got %t",
|
||||
testName, username, tt.outcome, outcome)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPodAnnotations(t *testing.T) {
|
||||
testName := "TestPodAnnotations"
|
||||
tests := []struct {
|
||||
|
|
|
|||
Loading…
Reference in New Issue