Superuser toggle for team members
Make superuser toggleable for team members. Add and "admin" role to team members if superuser is disabled.
This commit is contained in:
parent
702d901bd9
commit
cec695d48e
|
|
@ -26,5 +26,6 @@ _testmain.go
|
||||||
/.glide/
|
/.glide/
|
||||||
/build/
|
/build/
|
||||||
/docker/build/
|
/docker/build/
|
||||||
|
.idea
|
||||||
|
|
||||||
scm-source.json
|
scm-source.json
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,9 @@ data:
|
||||||
resource_check_timeout: 10m
|
resource_check_timeout: 10m
|
||||||
resync_period: 5m
|
resync_period: 5m
|
||||||
super_username: postgres
|
super_username: postgres
|
||||||
|
enable_teams_api: "false"
|
||||||
|
enable_team_superuser: "false"
|
||||||
|
team_admin_role: "admin"
|
||||||
teams_api_url: http://fake-teams-api.default.svc.cluster.local
|
teams_api_url: http://fake-teams-api.default.svc.cluster.local
|
||||||
workers: "4"
|
workers: "4"
|
||||||
enable_load_balancer: "true"
|
enable_load_balancer: "true"
|
||||||
|
|
|
||||||
|
|
@ -644,8 +644,17 @@ func (c *Cluster) initHumanUsers() error {
|
||||||
return fmt.Errorf("could not get list of team members: %v", err)
|
return fmt.Errorf("could not get list of team members: %v", err)
|
||||||
}
|
}
|
||||||
for _, username := range teamMembers {
|
for _, username := range teamMembers {
|
||||||
flags := []string{constants.RoleFlagLogin, constants.RoleFlagSuperuser}
|
flags := []string{constants.RoleFlagLogin}
|
||||||
memberOf := []string{c.OpConfig.PamRoleName}
|
memberOf := []string{c.OpConfig.PamRoleName}
|
||||||
|
|
||||||
|
if c.OpConfig.EnableTeamSuperuser {
|
||||||
|
flags = append(flags, constants.RoleFlagSuperuser)
|
||||||
|
} else {
|
||||||
|
if c.OpConfig.TeamAdminRole != "" {
|
||||||
|
memberOf = append(memberOf, c.OpConfig.TeamAdminRole)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
c.pgUsers[username] = spec.PgUser{Name: username, Flags: flags, MemberOf: memberOf}
|
c.pgUsers[username] = spec.PgUser{Name: username, Flags: flags, MemberOf: memberOf}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,8 @@ type Config struct {
|
||||||
DebugLogging bool `name:"debug_logging" default:"true"`
|
DebugLogging bool `name:"debug_logging" default:"true"`
|
||||||
EnableDBAccess bool `name:"enable_database_access" default:"true"`
|
EnableDBAccess bool `name:"enable_database_access" default:"true"`
|
||||||
EnableTeamsAPI bool `name:"enable_teams_api" default:"true"`
|
EnableTeamsAPI bool `name:"enable_teams_api" default:"true"`
|
||||||
|
EnableTeamSuperuser bool `name:"enable_team_superuser" default:"false"`
|
||||||
|
TeamAdminRole string `name:"team_admin_role" default:"admin"`
|
||||||
EnableLoadBalancer bool `name:"enable_load_balancer" default:"true"`
|
EnableLoadBalancer bool `name:"enable_load_balancer" default:"true"`
|
||||||
MasterDNSNameFormat stringTemplate `name:"master_dns_name_format" default:"{cluster}.{team}.{hostedzone}"`
|
MasterDNSNameFormat stringTemplate `name:"master_dns_name_format" default:"{cluster}.{team}.{hostedzone}"`
|
||||||
ReplicaDNSNameFormat stringTemplate `name:"replica_dns_name_format" default:"{cluster}-repl.{team}.{hostedzone}"`
|
ReplicaDNSNameFormat stringTemplate `name:"replica_dns_name_format" default:"{cluster}-repl.{team}.{hostedzone}"`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue