prepare v2.0.2 release

This commit is contained in:
Felix Kunde 2026-08-12 16:17:29 +02:00
parent bbc3eab7e0
commit d4d66d2c13
25 changed files with 97 additions and 52 deletions

View File

@ -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.]

View File

@ -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 |

View File

@ -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:

View File

@ -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"

View File

@ -8,7 +8,7 @@ replicaCount: 1
image:
registry: ghcr.io
repository: zalando/postgres-operator-ui
tag: v2.0.1
tag: v2.0.2
pullPolicy: "IfNotPresent"
# Optionally specify an array of imagePullSecrets.

View File

@ -1,7 +1,7 @@
apiVersion: v2
name: postgres-operator
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 creates and manages PostgreSQL clusters running in Kubernetes
keywords:

View File

@ -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

View File

@ -1,9 +1,31 @@
apiVersion: v1
entries:
postgres-operator:
- apiVersion: v2
appVersion: 2.0.2
created: "2026-08-12T16:12:26.118121+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 1edaea3e18156f2e87586c12940ecb4607ab1d9f55aeba0faf3df39f57b96acc
home: https://github.com/zalando/postgres-operator
keywords:
- postgres
- operator
- cloud-native
- patroni
- spilo
maintainers:
- email: opensource@zalando.de
name: Zalando
name: postgres-operator
sources:
- https://github.com/zalando/postgres-operator
urls:
- postgres-operator-2.0.2.tgz
version: 2.0.2
- apiVersion: v2
appVersion: 2.0.1
created: "2026-07-30T05:31:19.462094+02:00"
created: "2026-08-12T16:12:26.116697+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: bb54c367441fe36cefc08d1c83e52e4baaea3522e32da14d40ea45eba4669ff1
@ -25,7 +47,7 @@ entries:
version: 2.0.1
- apiVersion: v2
appVersion: 2.0.0
created: "2026-07-30T05:31:19.460757+02:00"
created: "2026-08-12T16:12:26.115528+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 2622899b573e4c46cd2a70677d5941a9e5da24c7db2a0ff774ddc49ad9d5c544
@ -47,7 +69,7 @@ entries:
version: 2.0.0
- apiVersion: v2
appVersion: 1.15.1
created: "2026-07-30T05:31:19.45921+02:00"
created: "2026-08-12T16:12:26.114099+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 9f3edc3d796105c02c04eaae28a78e58fb08c1847a9de012245fd6ac2c0d2c00
@ -69,7 +91,7 @@ entries:
version: 1.15.1
- apiVersion: v2
appVersion: 1.15.0
created: "2026-07-30T05:31:19.458416+02:00"
created: "2026-08-12T16:12:26.113403+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 002dd47647bf51fbba023bd1762d807be478cf37de7a44b80cd01ac1f20bd94a
@ -91,7 +113,7 @@ entries:
version: 1.15.0
- apiVersion: v2
appVersion: 1.14.0
created: "2026-07-30T05:31:19.457596+02:00"
created: "2026-08-12T16:12:26.112666+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 36e1571f3f455b213f16cdda7b1158648e8e84deb804ba47ed6b9b6d19263ba8
@ -113,7 +135,7 @@ entries:
version: 1.14.0
- apiVersion: v2
appVersion: 1.13.0
created: "2026-07-30T05:31:19.456373+02:00"
created: "2026-08-12T16:12:26.111869+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: a839601689aea0a7e6bc0712a5244d435683cf3314c95794097ff08540e1dfef
@ -135,7 +157,7 @@ entries:
version: 1.13.0
- apiVersion: v2
appVersion: 1.12.2
created: "2026-07-30T05:31:19.45558+02:00"
created: "2026-08-12T16:12:26.111041+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 65858d14a40d7fd90c32bd9fc60021acc9555c161079f43a365c70171eaf21d8
@ -157,7 +179,7 @@ entries:
version: 1.12.2
- apiVersion: v2
appVersion: 1.11.0
created: "2026-07-30T05:31:19.454725+02:00"
created: "2026-08-12T16:12:26.109758+02:00"
description: Postgres Operator creates and manages PostgreSQL clusters running
in Kubernetes
digest: 3914b5e117bda0834f05c9207f007e2ac372864cf6e86dcc2e1362bbe46c14d9
@ -177,4 +199,4 @@ entries:
urls:
- postgres-operator-1.11.0.tgz
version: 1.11.0
generated: "2026-07-30T05:31:19.453397+02:00"
generated: "2026-08-12T16:12:26.108838+02:00"

Binary file not shown.

View File

@ -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

View File

@ -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/

View File

@ -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 `/<configured-s3-bucket-prefix>/<pg_cluster_name>/<cluster_k8s_uuid>/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

View File

@ -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: ""

View File

@ -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:

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()

View File

@ -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,

View File

@ -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"`

View File

@ -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": {

View File

@ -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"