From d4d66d2c1395e4efffb694a61e75e7f873cf4d01 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Wed, 12 Aug 2026 16:17:29 +0200 Subject: [PATCH] prepare v2.0.2 release --- .../postgres-operator-issue-template.md | 2 +- README.md | 2 +- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 39 +++++++++++++---- .../postgres-operator-ui-2.0.2.tgz | Bin 0 -> 3787 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 4 +- charts/postgres-operator/index.yaml | 40 ++++++++++++++---- .../postgres-operator-2.0.2.tgz | Bin 0 -> 53560 bytes charts/postgres-operator/values.yaml | 6 +-- docs/administrator.md | 2 +- docs/reference/operator_parameters.md | 4 +- manifests/configmap.yaml | 4 +- manifests/minimal-fake-pooler-deployment.yaml | 2 +- manifests/operatorconfiguration.crd.yaml | 4 +- manifests/postgres-operator.yaml | 2 +- ...gresql-operator-default-configuration.yaml | 4 +- .../v1/operator_configuration_type.go | 4 +- .../v1/operatorconfiguration.crd.yaml | 4 +- pkg/cluster/cluster_test.go | 4 +- pkg/controller/operator_config.go | 4 +- pkg/util/config/config.go | 4 +- ui/app/package.json | 2 +- ui/manifests/deployment.yaml | 2 +- 25 files changed, 97 insertions(+), 52 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-2.0.2.tgz create mode 100644 charts/postgres-operator/postgres-operator-2.0.2.tgz diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index 18568899d..3a9d402bf 100644 --- a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md +++ b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md @@ -9,7 +9,7 @@ assignees: '' Please, answer some short questions which should help us to understand your problem / question better? -- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v2.0.1 +- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v2.0.2 - **Where do you run it - cloud or metal? Kubernetes or OpenShift?** [AWS K8s | GCP ... | Bare Metal K8s] - **Are you running Postgres Operator in production?** [yes | no] - **Type of issue?** [Bug report, question, feature request, etc.] diff --git a/README.md b/README.md index 3454ec41c..a0c107078 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ production for over five years. | Release | Postgres versions | K8s versions | Golang | | :-------- | :---------------: | :---------------: | :-----: | -| v2.0.1 | 14 → 18 | 1.27+ | 1.26.4 | +| v2.0.2 | 14 → 18 | 1.27+ | 1.26.4 | | v1.15.1 | 13 → 17 | 1.27+ | 1.25.3 | | v1.14.0 | 13 → 17 | 1.27+ | 1.23.4 | | v1.13.0 | 12 → 16 | 1.27+ | 1.22.5 | diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index 759738933..45b2429f7 100644 --- a/charts/postgres-operator-ui/Chart.yaml +++ b/charts/postgres-operator-ui/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator-ui -version: 2.0.1 -appVersion: 2.0.1 +version: 2.0.2 +appVersion: 2.0.2 home: https://github.com/zalando/postgres-operator description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience keywords: diff --git a/charts/postgres-operator-ui/index.yaml b/charts/postgres-operator-ui/index.yaml index ff4456cbb..c76c25f0a 100644 --- a/charts/postgres-operator-ui/index.yaml +++ b/charts/postgres-operator-ui/index.yaml @@ -1,9 +1,32 @@ apiVersion: v1 entries: postgres-operator-ui: + - apiVersion: v2 + appVersion: 2.0.2 + created: "2026-08-12T16:14:09.689921+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: 2dea5c2768a611ec90f3531e32336c2be988e4a6cf2c4cc231835290b2863017 + home: https://github.com/zalando/postgres-operator + keywords: + - postgres + - operator + - ui + - cloud-native + - patroni + - spilo + maintainers: + - email: opensource@zalando.de + name: Zalando + name: postgres-operator-ui + sources: + - https://github.com/zalando/postgres-operator + urls: + - postgres-operator-ui-2.0.2.tgz + version: 2.0.2 - apiVersion: v2 appVersion: 2.0.1 - created: "2026-07-28T19:23:51.430413+02:00" + created: "2026-08-12T16:14:09.689744+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 9bd0cfb82bc9e849fc01fe5a2d14e42941d102d719ff6a182a5a63237138c2a3 @@ -26,7 +49,7 @@ entries: version: 2.0.1 - apiVersion: v2 appVersion: 2.0.0 - created: "2026-07-28T19:23:51.429462+02:00" + created: "2026-08-12T16:14:09.689359+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 80098eb9290d77fcaaf813347386c3b7d34de0d4e846b50ac177d4ac4a9e2ecb @@ -49,7 +72,7 @@ entries: version: 2.0.0 - apiVersion: v2 appVersion: 1.15.1 - created: "2026-07-28T19:23:51.429214+02:00" + created: "2026-08-12T16:14:09.688865+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 4bbb750934366038d692711f924151182b7be131b6822d011f5a4e51cf609482 @@ -72,7 +95,7 @@ entries: version: 1.15.1 - apiVersion: v2 appVersion: 1.14.0 - created: "2026-07-28T19:23:51.428962+02:00" + created: "2026-08-12T16:14:09.688617+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e87ed898079a852957a67a4caf3fbd27b9098e413f5d961b7a771a6ae8b3e17c @@ -95,7 +118,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.13.0 - created: "2026-07-28T19:23:51.428701+02:00" + created: "2026-08-12T16:14:09.688362+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e0444e516b50f82002d1a733527813c51759a627cefdd1005cea73659f824ea8 @@ -118,7 +141,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2026-07-28T19:23:51.428173+02:00" + created: "2026-08-12T16:14:09.68809+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: cbcef400c23ccece27d97369ad629278265c013e0a45c0b7f33e7568a082fedd @@ -141,7 +164,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2026-07-28T19:23:51.427892+02:00" + created: "2026-08-12T16:14:09.687752+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: a45f2284045c2a9a79750a36997386444f39b01ac722b17c84b431457577a3a2 @@ -162,4 +185,4 @@ entries: urls: - postgres-operator-ui-1.11.0.tgz version: 1.11.0 -generated: "2026-07-28T19:23:51.42722+02:00" +generated: "2026-08-12T16:14:09.687119+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-2.0.2.tgz b/charts/postgres-operator-ui/postgres-operator-ui-2.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..0c226f835f05b93fb3cc9125aa8cad314e8a951d GIT binary patch literal 3787 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 G>IDGh>W?G< literal 0 HcmV?d00001 diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 7b383f63a..2563a1f79 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -1,7 +1,7 @@ image: registry: ghcr.io repository: zalando/postgres-operator - tag: v2.0.1 + tag: v2.0.2 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -385,7 +385,7 @@ configLogicalBackup: # logical_backup_memory_request: "" # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" # path of google cloud service account json file # logical_backup_google_application_credentials: "" @@ -463,7 +463,7 @@ configConnectionPooler: # db user for pooler to use connection_pooler_user: "pooler" # docker image - connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" # max db connections the pooler should hold connection_pooler_max_db_connections: 60 # default pooling mode diff --git a/docs/administrator.md b/docs/administrator.md index 289bef8fb..66831bf99 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -1578,7 +1578,7 @@ make docker # build in image in minikube docker env eval $(minikube docker-env) -docker buildx build --load -t ghcr.io/zalando/postgres-operator-ui:v2.0.1 . +docker buildx build --load -t ghcr.io/zalando/postgres-operator-ui:v2.0.2 . # apply UI manifests next to a running Postgres Operator kubectl apply -f manifests/ diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index e0b1aea79..5b56d98af 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -851,7 +851,7 @@ grouped under the `logical_backup` key. runs `pg_dumpall` on a replica if possible and uploads compressed results to an S3 bucket under the key `////logical_backups`. The default image is the same image built with the Zalando-internal CI - pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. @@ -1092,7 +1092,7 @@ operator being able to provide some reasonable defaults. * **connection_pooler_image** Docker image to use for connection pooler deployment. - Default: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" + Default: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" * **connection_pooler_max_db_connections** How many connections the pooler can max hold. This value is divided among the diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index b9628ebbc..53d6c71a3 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -17,7 +17,7 @@ data: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" connection_pooler_max_db_connections: "60" connection_pooler_mode: "transaction" connection_pooler_number_of_instances: "2" @@ -86,7 +86,7 @@ data: # logical_backup_cpu_limit: "" # logical_backup_cpu_request: "" logical_backup_cronjob_environment_secret: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" # logical_backup_memory_limit: "" diff --git a/manifests/minimal-fake-pooler-deployment.yaml b/manifests/minimal-fake-pooler-deployment.yaml index 0de2dc57d..933a9145c 100644 --- a/manifests/minimal-fake-pooler-deployment.yaml +++ b/manifests/minimal-fake-pooler-deployment.yaml @@ -23,7 +23,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 + image: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 0f21f7cf4..40994c4d6 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -98,7 +98,7 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: - default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 type: string connection_pooler_max_db_connections: format: int32 @@ -606,7 +606,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2 type: string logical_backup_failed_jobs_history_limit: default: 3 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 7e2705dea..7264256c1 100644 --- a/manifests/postgres-operator.yaml +++ b/manifests/postgres-operator.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: ghcr.io/zalando/postgres-operator:v2.0.1 + image: ghcr.io/zalando/postgres-operator:v2.0.2 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index 80d848e6b..c3f379f80 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -182,7 +182,7 @@ configuration: # logical_backup_cpu_request: "" # logical_backup_memory_limit: "" # logical_backup_memory_request: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" @@ -227,7 +227,7 @@ configuration: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" # connection_pooler_max_db_connections: 60 connection_pooler_mode: "transaction" connection_pooler_number_of_instances: 2 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 23db5b196..4401c674b 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -331,7 +331,7 @@ type ConnectionPoolerConfiguration struct { Schema string `json:"connection_pooler_schema,omitempty"` // +kubebuilder:default=pooler User string `json:"connection_pooler_user,omitempty"` - // +kubebuilder:default="ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" Image string `json:"connection_pooler_image,omitempty"` // +kubebuilder:validation:Enum=session;transaction // +kubebuilder:default=transaction @@ -352,7 +352,7 @@ type OperatorLogicalBackupConfiguration struct { // +kubebuilder:validation:Pattern=`^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$` // +kubebuilder:default="30 00 * * *" Schedule string `json:"logical_backup_schedule,omitempty"` - // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" DockerImage string `json:"logical_backup_docker_image,omitempty"` // +kubebuilder:validation:Enum=az;gcs;s3 // +kubebuilder:default=s3 diff --git a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml index 0f21f7cf4..40994c4d6 100644 --- a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml +++ b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml @@ -98,7 +98,7 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: - default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 type: string connection_pooler_max_db_connections: format: int32 @@ -606,7 +606,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2 type: string logical_backup_failed_jobs_history_limit: default: 3 diff --git a/pkg/cluster/cluster_test.go b/pkg/cluster/cluster_test.go index d651bea12..a5a127fb4 100644 --- a/pkg/cluster/cluster_test.go +++ b/pkg/cluster/cluster_test.go @@ -1692,8 +1692,8 @@ func newCronJob(image, schedule string, vars []v1.EnvVar, mounts []v1.VolumeMoun func TestCompareLogicalBackupJob(t *testing.T) { - img1 := "ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1" - img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + img1 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" + img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" clientSet := fake.NewSimpleClientset() acidClientSet := fakeacidv1.NewSimpleClientset() diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 6ee4522d8..dacedf34a 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -184,7 +184,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur // logical backup config result.LogicalBackupSchedule = util.Coalesce(fromCRD.LogicalBackup.Schedule, "30 00 * * *") - result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupAzureStorageAccountName = fromCRD.LogicalBackup.AzureStorageAccountName result.LogicalBackupAzureStorageAccountKey = fromCRD.LogicalBackup.AzureStorageAccountKey @@ -270,7 +270,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.ConnectionPooler.Image = util.Coalesce( fromCRD.ConnectionPooler.Image, - "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1") + "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2") result.ConnectionPooler.Mode = util.Coalesce( fromCRD.ConnectionPooler.Mode, diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 749fdaa90..d5fe2cb32 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -128,7 +128,7 @@ type Scalyr struct { // LogicalBackup defines configuration for logical backup type LogicalBackup struct { LogicalBackupSchedule string `name:"logical_backup_schedule" default:"30 00 * * *"` - LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2"` LogicalBackupProvider string `name:"logical_backup_provider" default:"s3"` LogicalBackupAzureStorageAccountName string `name:"logical_backup_azure_storage_account_name" default:""` LogicalBackupAzureStorageContainer string `name:"logical_backup_azure_storage_container" default:""` @@ -158,7 +158,7 @@ type ConnectionPooler struct { NumberOfInstances *int32 `name:"connection_pooler_number_of_instances" default:"2"` Schema string `name:"connection_pooler_schema" default:"pooler"` User string `name:"connection_pooler_user" default:"pooler"` - Image string `name:"connection_pooler_image" default:"ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1"` + Image string `name:"connection_pooler_image" default:"ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2"` Mode string `name:"connection_pooler_mode" default:"transaction"` MaxDBConnections *int32 `name:"connection_pooler_max_db_connections" default:"60"` ConnectionPoolerDefaultCPURequest string `name:"connection_pooler_default_cpu_request"` diff --git a/ui/app/package.json b/ui/app/package.json index 16e760ae5..d875d2156 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "2.0.1", + "version": "2.0.2", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index b34ca5465..5bbc047df 100644 --- a/ui/manifests/deployment.yaml +++ b/ui/manifests/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: postgres-operator-ui containers: - name: "service" - image: ghcr.io/zalando/postgres-operator-ui:v2.0.1 + image: ghcr.io/zalando/postgres-operator-ui:v2.0.2 ports: - containerPort: 8081 protocol: "TCP"