disable PostgresTeam by default

This commit is contained in:
Felix Kunde 2020-10-28 17:18:03 +01:00
parent e10e0fec9e
commit 7ed296d562
11 changed files with 17 additions and 17 deletions

View File

@ -257,7 +257,7 @@ configTeamsApi:
# enable_admin_role_for_users: true # enable_admin_role_for_users: true
# operator watches for PostgresTeam CRs to assign additional teams and members to clusters # operator watches for PostgresTeam CRs to assign additional teams and members to clusters
enable_postgres_team_crd: true enable_postgres_team_crd: false
# toogle to create additional superuser teams from PostgresTeam CRs # toogle to create additional superuser teams from PostgresTeam CRs
# enable_postgres_team_crd_superusers: "false" # enable_postgres_team_crd_superusers: "false"

View File

@ -1,7 +1,7 @@
image: image:
registry: registry.opensource.zalan.do registry: registry.opensource.zalan.do
repository: acid/postgres-operator repository: acid/postgres-operator
tag: v1.5.0-61-ged2b3239-dirty tag: v1.5.0-61-ged2b3239-dirty
pullPolicy: "IfNotPresent" pullPolicy: "IfNotPresent"
# Optionally specify an array of imagePullSecrets. # Optionally specify an array of imagePullSecrets.
@ -249,7 +249,7 @@ configTeamsApi:
# enable_admin_role_for_users: "true" # enable_admin_role_for_users: "true"
# operator watches for PostgresTeam CRs to assign additional teams and members to clusters # operator watches for PostgresTeam CRs to assign additional teams and members to clusters
enable_postgres_team_crd: "true" enable_postgres_team_crd: "false"
# toogle to create additional superuser teams from PostgresTeam CRs # toogle to create additional superuser teams from PostgresTeam CRs
# enable_postgres_team_crd_superusers: "false" # enable_postgres_team_crd_superusers: "false"

View File

@ -635,7 +635,7 @@ key.
* **enable_postgres_team_crd** * **enable_postgres_team_crd**
toggle to make the operator watch for created or updated `PostgresTeam` CRDs toggle to make the operator watch for created or updated `PostgresTeam` CRDs
and create roles for specified additional teams and members. and create roles for specified additional teams and members.
The default is `true`. The default is `false`.
* **enable_postgres_team_crd_superusers** * **enable_postgres_team_crd_superusers**
in a `PostgresTeam` CRD additional superuser teams can assigned to teams that in a `PostgresTeam` CRD additional superuser teams can assigned to teams that

View File

@ -330,6 +330,11 @@ spec:
- "foo" - "foo"
``` ```
Note, by default the `PostgresTeam` support is disabled in the configuration.
Switch `enable_postgres_team_crd` flag to `true` and the operator will start to
watch for this CRD. Make sure, the cluster role is up to date and contains a
section for [PostgresTeam](../manifests/operator-service-account-rbac.yaml#L30).
## Prepared databases with roles and default privileges ## Prepared databases with roles and default privileges
The `users` section in the manifests only allows for creating database roles The `users` section in the manifests only allows for creating database roles

View File

@ -41,7 +41,7 @@ data:
enable_master_load_balancer: "false" enable_master_load_balancer: "false"
# enable_pod_antiaffinity: "false" # enable_pod_antiaffinity: "false"
# enable_pod_disruption_budget: "true" # enable_pod_disruption_budget: "true"
# enable_postgres_team_crd: "true" # enable_postgres_team_crd: "false"
# enable_postgres_team_crd_superusers: "false" # enable_postgres_team_crd_superusers: "false"
enable_replica_load_balancer: "false" enable_replica_load_balancer: "false"
# enable_shm_volume: "true" # enable_shm_volume: "true"

View File

@ -122,7 +122,7 @@ configuration:
enable_database_access: true enable_database_access: true
teams_api: teams_api:
# enable_admin_role_for_users: true # enable_admin_role_for_users: true
# enable_postgres_team_crd: true # enable_postgres_team_crd: false
# enable_postgres_team_crd_superusers: false # enable_postgres_team_crd_superusers: false
enable_team_superuser: false enable_team_superuser: false
enable_teams_api: false enable_teams_api: false

View File

@ -145,7 +145,7 @@ type TeamsAPIConfiguration struct {
PamConfiguration string `json:"pam_configuration,omitempty"` PamConfiguration string `json:"pam_configuration,omitempty"`
ProtectedRoles []string `json:"protected_role_names,omitempty"` ProtectedRoles []string `json:"protected_role_names,omitempty"`
PostgresSuperuserTeams []string `json:"postgres_superuser_teams,omitempty"` PostgresSuperuserTeams []string `json:"postgres_superuser_teams,omitempty"`
EnablePostgresTeamCRD *bool `json:"enable_postgres_team_crd,omitempty"` EnablePostgresTeamCRD bool `json:"enable_postgres_team_crd,omitempty"`
EnablePostgresTeamCRDSuperusers bool `json:"enable_postgres_team_crd_superusers,omitempty"` EnablePostgresTeamCRDSuperusers bool `json:"enable_postgres_team_crd_superusers,omitempty"`
} }

View File

@ -1114,11 +1114,6 @@ func (in *TeamsAPIConfiguration) DeepCopyInto(out *TeamsAPIConfiguration) {
*out = make([]string, len(*in)) *out = make([]string, len(*in))
copy(*out, *in) copy(*out, *in)
} }
if in.EnablePostgresTeamCRD != nil {
in, out := &in.EnablePostgresTeamCRD, &out.EnablePostgresTeamCRD
*out = new(bool)
**out = **in
}
return return
} }

View File

@ -329,7 +329,7 @@ func (c *Controller) initController() {
c.initSharedInformers() c.initSharedInformers()
if c.opConfig.EnablePostgresTeamCRD != nil && *c.opConfig.EnablePostgresTeamCRD { if c.opConfig.EnablePostgresTeamCRD {
c.loadPostgresTeams() c.loadPostgresTeams()
} else { } else {
c.pgTeamMap = teams.PostgresTeamMap{} c.pgTeamMap = teams.PostgresTeamMap{}
@ -380,7 +380,7 @@ func (c *Controller) initSharedInformers() {
}) })
// PostgresTeams // PostgresTeams
if c.opConfig.EnablePostgresTeamCRD != nil && *c.opConfig.EnablePostgresTeamCRD { if c.opConfig.EnablePostgresTeamCRD {
c.postgresTeamInformer = acidv1informer.NewPostgresTeamInformer( c.postgresTeamInformer = acidv1informer.NewPostgresTeamInformer(
c.KubeClient.AcidV1ClientSet, c.KubeClient.AcidV1ClientSet,
c.opConfig.WatchedNamespace, c.opConfig.WatchedNamespace,
@ -453,7 +453,7 @@ func (c *Controller) Run(stopCh <-chan struct{}, wg *sync.WaitGroup) {
go c.apiserver.Run(stopCh, wg) go c.apiserver.Run(stopCh, wg)
go c.kubeNodesInformer(stopCh, wg) go c.kubeNodesInformer(stopCh, wg)
if c.opConfig.EnablePostgresTeamCRD != nil && *c.opConfig.EnablePostgresTeamCRD { if c.opConfig.EnablePostgresTeamCRD {
go c.runPostgresTeamInformer(stopCh, wg) go c.runPostgresTeamInformer(stopCh, wg)
} }

View File

@ -163,7 +163,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
result.PamConfiguration = util.Coalesce(fromCRD.TeamsAPI.PamConfiguration, "https://info.example.com/oauth2/tokeninfo?access_token= uid realm=/employees") result.PamConfiguration = util.Coalesce(fromCRD.TeamsAPI.PamConfiguration, "https://info.example.com/oauth2/tokeninfo?access_token= uid realm=/employees")
result.ProtectedRoles = util.CoalesceStrArr(fromCRD.TeamsAPI.ProtectedRoles, []string{"admin"}) result.ProtectedRoles = util.CoalesceStrArr(fromCRD.TeamsAPI.ProtectedRoles, []string{"admin"})
result.PostgresSuperuserTeams = fromCRD.TeamsAPI.PostgresSuperuserTeams result.PostgresSuperuserTeams = fromCRD.TeamsAPI.PostgresSuperuserTeams
result.EnablePostgresTeamCRD = util.CoalesceBool(fromCRD.TeamsAPI.EnablePostgresTeamCRD, util.True()) result.EnablePostgresTeamCRD = fromCRD.TeamsAPI.EnablePostgresTeamCRD
result.EnablePostgresTeamCRDSuperusers = fromCRD.TeamsAPI.EnablePostgresTeamCRDSuperusers result.EnablePostgresTeamCRDSuperusers = fromCRD.TeamsAPI.EnablePostgresTeamCRDSuperusers
// logging REST API config // logging REST API config

View File

@ -169,7 +169,7 @@ type Config struct {
EnableTeamSuperuser bool `name:"enable_team_superuser" default:"false"` EnableTeamSuperuser bool `name:"enable_team_superuser" default:"false"`
TeamAdminRole string `name:"team_admin_role" default:"admin"` TeamAdminRole string `name:"team_admin_role" default:"admin"`
EnableAdminRoleForUsers bool `name:"enable_admin_role_for_users" default:"true"` EnableAdminRoleForUsers bool `name:"enable_admin_role_for_users" default:"true"`
EnablePostgresTeamCRD *bool `name:"enable_postgres_team_crd" default:"true"` EnablePostgresTeamCRD bool `name:"enable_postgres_team_crd" default:"false"`
EnablePostgresTeamCRDSuperusers bool `name:"enable_postgres_team_crd_superusers" default:"false"` EnablePostgresTeamCRDSuperusers bool `name:"enable_postgres_team_crd_superusers" default:"false"`
EnableMasterLoadBalancer bool `name:"enable_master_load_balancer" default:"true"` EnableMasterLoadBalancer bool `name:"enable_master_load_balancer" default:"true"`
EnableReplicaLoadBalancer bool `name:"enable_replica_load_balancer" default:"false"` EnableReplicaLoadBalancer bool `name:"enable_replica_load_balancer" default:"false"`