@@ -128,14 +128,7 @@ func New(cfg Config, kubeClient k8sutil.KubernetesClient, pgSpec cpov1.Postgresq
128128 passwordEncryption = "scram-sha-256"
129129 }
130130 if pgSpec .Spec .Monitoring != nil {
131- flg := cpov1.UserFlags {constants .RoleFlagLogin }
132- if pgSpec .Spec .Users != nil {
133- pgSpec .Spec .Users [monitorUsername ] = flg
134- } else {
135- users := make (map [string ]cpov1.UserFlags )
136- pgSpec .Spec .Users = users
137- pgSpec .Spec .Users [monitorUsername ] = flg
138- }
131+ pgSpec .AddMonitoringUser (monitorUsername )
139132 }
140133 cluster := & Cluster {
141134 Config : cfg ,
@@ -961,22 +954,12 @@ func (c *Cluster) Update(oldSpec, newSpec *cpov1.Postgresql) error {
961954 updateFailed = true
962955 }
963956 }
964- //Add monitoring user if required
965- if newSpec .Spec .Monitoring != nil {
966- flags := []string {constants .RoleFlagLogin }
967- monitorUser := map [string ]spec.PgUser {
968- monitorUsername : {
969- Origin : spec .RoleOriginInfrastructure ,
970- Name : monitorUsername ,
971- Namespace : c .Namespace ,
972- Flags : flags ,
973- },
974- }
975- c .pgUsers [monitorUsername ] = monitorUser [monitorUsername ]
976- }
977957 //Check if monitoring user is added in manifest
978958 if _ , ok := newSpec .Spec .Users ["cpo-exporter" ]; ok {
979959 c .logger .Error ("creating user of name cpo-exporter is not allowed as it is reserved for monitoring" )
960+ updateFailed = true
961+ } else if newSpec .Spec .Monitoring != nil {
962+ newSpec .AddMonitoringUser (monitorUsername )
980963 }
981964
982965 // Users
0 commit comments