diff --git a/charts/postgres-operator/crds/operatorconfigurations.yaml b/charts/postgres-operator/crds/operatorconfigurations.yaml index cd0aa7377..043129516 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.yaml @@ -131,7 +131,7 @@ spec: major_version_upgrade_mode: type: string default: "off" - major_version_upgrade_team_whitelist: + major_version_upgrade_team_allow_list: type: array items: type: string diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index b85f03123..7b7f1f675 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -65,7 +65,7 @@ configMajorVersionUpgrade: # "off": no upgrade, "manual": manifest triggers action, "full": minimal version violation triggers too major_version_upgrade_mode: "off" # upgrades will only be carried out for clusters of listed teams - # major_version_upgrade_team_whitelist: + # major_version_upgrade_team_allow_list: # - acid # minimal Postgres major version that will not automatically be upgraded diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index 4a41c66d1..b0166fa47 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -184,7 +184,7 @@ CRD-configuration, they are grouped under the `major_version_upgrade` key. Note, that with all three modes increasing the version in the manifest will trigger a rolling update of the pods. The default is `"off"`. -* **major_version_upgrade_team_whitelist** +* **major_version_upgrade_team_allow_list** Upgrades will only be carried out for clusters of listed teams. The default is empty which means a team filter is not applied. diff --git a/docs/user.md b/docs/user.md index e0873f274..a2a65e63f 100644 --- a/docs/user.md +++ b/docs/user.md @@ -603,10 +603,9 @@ spec: ``` Some extensions require SUPERUSER rights on creation unless they are not -whitelisted by the [pgextwlist](https://github.com/dimitri/pgextwlist) -extension, that is shipped with the Spilo image. To see which extensions are -on the list check the `extwlist.extension` parameter in the postgresql.conf -file. +allowed by the [pgextwlist](https://github.com/dimitri/pgextwlist) extension, +that is shipped with the Spilo image. To see which extensions are on the list +check the `extwlist.extension` parameter in the postgresql.conf file. ```bash SHOW extwlist.extensions; diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index aecae70e1..7d3e14ce3 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -77,7 +77,7 @@ data: logical_backup_s3_sse: "AES256" logical_backup_schedule: "30 00 * * *" major_version_upgrade_mode: "manual" - # major_version_upgrade_team_whitelist: "" + # major_version_upgrade_team_allow_list: "" master_dns_name_format: "{cluster}.{team}.{hostedzone}" # master_pod_move_timeout: 20m # max_instances: "-1" diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 66f45cad9..bb64995ab 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -129,7 +129,7 @@ spec: major_version_upgrade_mode: type: string default: "off" - major_version_upgrade_team_whitelist: + major_version_upgrade_team_allow_list: type: array items: type: string diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index c58e6c19e..02d558543 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -28,7 +28,7 @@ configuration: super_username: postgres major_version_upgrade: major_version_upgrade_mode: "off" - # major_version_upgrade_team_whitelist: + # major_version_upgrade_team_allow_list: # - acid minimal_major_version: "9.6" target_major_version: "14" diff --git a/pkg/apis/acid.zalan.do/v1/crds.go b/pkg/apis/acid.zalan.do/v1/crds.go index 2f0bbd5a3..76fbbfa48 100644 --- a/pkg/apis/acid.zalan.do/v1/crds.go +++ b/pkg/apis/acid.zalan.do/v1/crds.go @@ -1019,7 +1019,7 @@ var OperatorConfigCRDResourceValidation = apiextv1.CustomResourceValidation{ "major_version_upgrade_mode": { Type: "string", }, - "major_version_upgrade_team_whitelist": { + "major_version_upgrade_team_allow_list": { Type: "array", Items: &apiextv1.JSONSchemaPropsOrArray{ Schema: &apiextv1.JSONSchemaProps{ diff --git a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go index 98c09d1a1..f8eb5b5d1 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -44,7 +44,7 @@ type PostgresUsersConfiguration struct { // MajorVersionUpgradeConfiguration defines how to execute major version upgrades of Postgres. type MajorVersionUpgradeConfiguration struct { MajorVersionUpgradeMode string `json:"major_version_upgrade_mode" default:"off"` // off - no actions, manual - manifest triggers action, full - manifest and minimal version violation trigger upgrade - MajorVersionUpgradeTeamWhitelist []string `json:"major_version_upgrade_team_whitelist,omitempty"` + MajorVersionUpgradeTeamAllowList []string `json:"major_version_upgrade_team_allow_list,omitempty"` MinimalMajorVersion string `json:"minimal_major_version" default:"9.6"` TargetMajorVersion string `json:"target_major_version" default:"14"` } diff --git a/pkg/cluster/majorversionupgrade.go b/pkg/cluster/majorversionupgrade.go index ff27d7972..498904034 100644 --- a/pkg/cluster/majorversionupgrade.go +++ b/pkg/cluster/majorversionupgrade.go @@ -45,25 +45,25 @@ func (c *Cluster) GetDesiredMajorVersion() string { return c.Spec.PgVersion } -func (c *Cluster) isTeamWhitelisted(owningTeam string) bool { - whitelistedTeams := c.OpConfig.MajorVersionUpgradeTeamWhitelist +func (c *Cluster) isUpgradeAllowedForTeam(owningTeam string) bool { + allowedTeams := c.OpConfig.MajorVersionUpgradeTeamAllowList - if len(whitelistedTeams) == 0 { + if len(allowedTeams) == 0 { return false } - return util.SliceContains(whitelistedTeams, owningTeam) + return util.SliceContains(allowedTeams, owningTeam) } /* - Execute upgrade when mode is set to manual or full or when the owning team is whitelisted for upgrade. + Execute upgrade when mode is set to manual or full or when the owning team is allowed for upgrade. Manual upgrade means, it is triggered by the user via manifest version change Full upgrade means, operator also determines the minimal version used accross all clusters and upgrades violators. */ func (c *Cluster) majorVersionUpgrade() error { - if c.OpConfig.MajorVersionUpgradeMode == "off" && !c.isTeamWhitelisted(c.Spec.TeamID) { + if c.OpConfig.MajorVersionUpgradeMode == "off" && !c.isUpgradeAllowedForTeam(c.Spec.TeamID) { return nil } diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 1eb7c9dfd..275898d8e 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -56,7 +56,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur // major version upgrade config result.MajorVersionUpgradeMode = util.Coalesce(fromCRD.MajorVersionUpgrade.MajorVersionUpgradeMode, "off") - result.MajorVersionUpgradeTeamWhitelist = fromCRD.MajorVersionUpgrade.MajorVersionUpgradeTeamWhitelist + result.MajorVersionUpgradeTeamAllowList = fromCRD.MajorVersionUpgrade.MajorVersionUpgradeTeamAllowList result.MinimalMajorVersion = util.Coalesce(fromCRD.MajorVersionUpgrade.MinimalMajorVersion, "9.6") result.TargetMajorVersion = util.Coalesce(fromCRD.MajorVersionUpgrade.TargetMajorVersion, "14") diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 53ddaf2e0..71bf406e4 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -212,7 +212,7 @@ type Config struct { EnablePgVersionEnvVar bool `name:"enable_pgversion_env_var" default:"true"` EnableSpiloWalPathCompat bool `name:"enable_spilo_wal_path_compat" default:"false"` MajorVersionUpgradeMode string `name:"major_version_upgrade_mode" default:"off"` - MajorVersionUpgradeTeamWhitelist []string `name:"major_version_upgrade_team_whitelist" default:""` + MajorVersionUpgradeTeamAllowList []string `name:"major_version_upgrade_team_allow_list" default:""` MinimalMajorVersion string `name:"minimal_major_version" default:"9.6"` TargetMajorVersion string `name:"target_major_version" default:"14"` }