mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-21 09:15:48 +02:00
reflect code review
This commit is contained in:
@@ -646,11 +646,10 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error {
|
|||||||
c.logger.Debugf("initialize users")
|
c.logger.Debugf("initialize users")
|
||||||
// save current state of pgUsers to check for deleted roles later
|
// save current state of pgUsers to check for deleted roles later
|
||||||
if len(c.pgUsers) > 0 {
|
if len(c.pgUsers) > 0 {
|
||||||
usersCache := map[string]spec.PgUser{}
|
c.pgUsersCache = map[string]spec.PgUser{}
|
||||||
for k, v := range c.pgUsers {
|
for k, v := range c.pgUsers {
|
||||||
usersCache[k] = v
|
c.pgUsersCache[k] = v
|
||||||
}
|
}
|
||||||
c.pgUsersCache = usersCache
|
|
||||||
}
|
}
|
||||||
if err := c.initUsers(); err != nil {
|
if err := c.initUsers(); err != nil {
|
||||||
c.logger.Errorf("could not init users: %v", err)
|
c.logger.Errorf("could not init users: %v", err)
|
||||||
|
|||||||
+3
-4
@@ -39,11 +39,10 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error {
|
|||||||
|
|
||||||
// save current state of pgUsers to check for deleted roles later
|
// save current state of pgUsers to check for deleted roles later
|
||||||
if len(c.pgUsers) > 0 {
|
if len(c.pgUsers) > 0 {
|
||||||
usersCache := map[string]spec.PgUser{}
|
c.pgUsersCache = map[string]spec.PgUser{}
|
||||||
for k, v := range c.pgUsers {
|
for k, v := range c.pgUsers {
|
||||||
usersCache[k] = v
|
c.pgUsersCache[k] = v
|
||||||
}
|
}
|
||||||
c.pgUsersCache = usersCache
|
|
||||||
}
|
}
|
||||||
if err = c.initUsers(); err != nil {
|
if err = c.initUsers(); err != nil {
|
||||||
err = fmt.Errorf("could not init users: %v", err)
|
err = fmt.Errorf("could not init users: %v", err)
|
||||||
@@ -586,7 +585,7 @@ func (c *Cluster) syncRoles() (err error) {
|
|||||||
|
|
||||||
for _, u := range c.pgUsers {
|
for _, u := range c.pgUsers {
|
||||||
userNames = append(userNames, u.Name)
|
userNames = append(userNames, u.Name)
|
||||||
// add team user name with rename suffix in case we need to rename it back
|
// add team member role name with rename suffix in case we need to rename it back
|
||||||
if u.Origin == spec.RoleOriginTeamsAPI {
|
if u.Origin == spec.RoleOriginTeamsAPI {
|
||||||
userNames = append(userNames, u.Name+constants.RoleRenameSuffix)
|
userNames = append(userNames, u.Name+constants.RoleRenameSuffix)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-14
@@ -72,8 +72,8 @@ func (strategy DefaultUserSyncStrategy) ProduceSyncRequests(dbUsers spec.PgUserM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// No existing roles are deleted or stripped of role memebership/flags
|
// No existing roles are deleted or stripped of role membership/flags
|
||||||
// but they will be renamed acting as a simple blocker
|
// but they will be renamed acting as a simple login blocker
|
||||||
for name, dbUser := range dbUsers {
|
for name, dbUser := range dbUsers {
|
||||||
if _, exists := newUsers[name]; !exists {
|
if _, exists := newUsers[name]; !exists {
|
||||||
reqs = append(reqs, spec.PgSyncUserRequest{Kind: spec.PGSyncUserRename, User: dbUser})
|
reqs = append(reqs, spec.PgSyncUserRequest{Kind: spec.PGSyncUserRename, User: dbUser})
|
||||||
@@ -141,18 +141,10 @@ func (strategy DefaultUserSyncStrategy) alterPgUserSet(user spec.PgUser, db *sql
|
|||||||
func (strategy DefaultUserSyncStrategy) alterPgUserRename(user spec.PgUser, db *sql.DB) error {
|
func (strategy DefaultUserSyncStrategy) alterPgUserRename(user spec.PgUser, db *sql.DB) error {
|
||||||
var query string
|
var query string
|
||||||
|
|
||||||
renamedBack := false
|
if strings.HasSuffix(user.Name, constants.RoleRenameSuffix) {
|
||||||
|
newName := strings.TrimSuffix(user.Name, constants.RoleRenameSuffix)
|
||||||
nameSuffixDiff := len(user.Name) - len(constants.RoleRenameSuffix)
|
query = fmt.Sprintf(alterUserRenameSQL, user.Name, newName, "")
|
||||||
|
} else {
|
||||||
if nameSuffixDiff > 0 {
|
|
||||||
if user.Name[nameSuffixDiff:] == constants.RoleRenameSuffix {
|
|
||||||
query = fmt.Sprintf(alterUserRenameSQL, user.Name, user.Name[:nameSuffixDiff], "")
|
|
||||||
renamedBack = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !renamedBack {
|
|
||||||
query = fmt.Sprintf(alterUserRenameSQL, user.Name, user.Name, constants.RoleRenameSuffix)
|
query = fmt.Sprintf(alterUserRenameSQL, user.Name, user.Name, constants.RoleRenameSuffix)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user