From 21693bb4bb7cba3a41cf318bd45f7aa8f9b4e291 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Tue, 21 Jul 2026 16:48:06 +0200 Subject: [PATCH] bump to v2.0 --- README.md | 11 +++- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 58 +++++++++--------- .../postgres-operator-ui-1.10.1.tgz | Bin 5016 -> 0 bytes .../postgres-operator-ui-2.0.0.tgz | Bin 0 -> 5106 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 4 +- charts/postgres-operator/index.yaml | 58 +++++++++--------- .../postgres-operator-1.10.1.tgz | Bin 17424 -> 0 bytes .../postgres-operator-2.0.0.tgz | Bin 0 -> 42974 bytes charts/postgres-operator/values.yaml | 6 +- docs/administrator.md | 2 +- docs/reference/operator_parameters.md | 2 +- e2e/run.sh | 2 +- e2e/tests/test_e2e.py | 2 +- manifests/complete-postgres-manifest.yaml | 2 +- manifests/configmap.yaml | 4 +- manifests/operatorconfiguration.crd.yaml | 4 +- manifests/postgres-operator.yaml | 2 +- ...gresql-operator-default-configuration.yaml | 4 +- mkdocs.yml | 1 + .../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 +- 29 files changed, 101 insertions(+), 95 deletions(-) delete mode 100644 charts/postgres-operator-ui/postgres-operator-ui-1.10.1.tgz create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-2.0.0.tgz delete mode 100644 charts/postgres-operator/postgres-operator-1.10.1.tgz create mode 100644 charts/postgres-operator/postgres-operator-2.0.0.tgz diff --git a/README.md b/README.md index 31e9c1748..5e3668674 100644 --- a/README.md +++ b/README.md @@ -20,12 +20,13 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as * Pod protection during bootstrap phase and configurable maintenance windows * Restore and cloning Postgres clusters on AWS, GCS and Azure * Additionally logical backups to S3 or GCS bucket can be configured -* Standby cluster from S3 or GCS WAL archive +* Standby cluster from S3 or GCS WAL archive or remote host * Configurable for non-cloud environments * Basic credential and user management on K8s, eases application deployments * Support for custom TLS certificates * UI to create and edit Postgres cluster manifests * Compatible with OpenShift +* Multi-arch support ### PostgreSQL features @@ -63,19 +64,22 @@ production for over five years. | Release | Postgres versions | K8s versions | Golang | | :-------- | :---------------: | :---------------: | :-----: | -| next | 14 → 18 | 1.27+ | 1.26.4 | +| v2.0.0 | 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 | | v1.12.0 | 11 → 16 | 1.27+ | 1.22.3 | | v1.11.0 | 11 → 16 | 1.27+ | 1.21.7 | -| v1.10.1 | 10 → 15 | 1.21+ | 1.19.8 | ## Getting started For a quick first impression follow the instructions of this [tutorial](docs/quickstart.md). +## Migrating from v1 to v2 operator + +If you have been using Postgres Operator since v1.x (thank you), make sure you have read the [migration docs](docs/migrate.md) before deploying a v2 operator. + ## Supported setups of Postgres and Applications ![Features](docs/diagrams/neutral_operator_dark.png#gh-dark-mode-only) @@ -88,6 +92,7 @@ There is a browser-friendly version of this documentation at * [How it works](docs/index.md) * [Installation](docs/quickstart.md#deployment-options) +* [Migration from v1](docs/migrate.md) * [The Postgres experience on K8s](docs/user.md) * [The Postgres Operator UI](docs/operator-ui.md) * [DBA options - from RBAC to backup](docs/administrator.md) diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index 871640467..7dba22103 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: 1.15.1 -appVersion: 1.15.1 +version: 2.0.0 +appVersion: 2.0.0 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 20408aeaf..6072ad362 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.0 + created: "2026-07-21T16:45:34.851811+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: 29cf37fcb1a1d2c9a9e169af06d69b0f525f058b6a2a6763b0a760004168eda9 + 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.0.tgz + version: 2.0.0 - apiVersion: v2 appVersion: 1.15.1 - created: "2025-12-11T12:44:25.470723322+01:00" + created: "2026-07-21T16:45:34.851565+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 4bbb750934366038d692711f924151182b7be131b6822d011f5a4e51cf609482 @@ -26,7 +49,7 @@ entries: version: 1.15.1 - apiVersion: v2 appVersion: 1.14.0 - created: "2025-12-11T12:44:25.468680645+01:00" + created: "2026-07-21T16:45:34.851322+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e87ed898079a852957a67a4caf3fbd27b9098e413f5d961b7a771a6ae8b3e17c @@ -49,7 +72,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.13.0 - created: "2025-12-11T12:44:25.466716836+01:00" + created: "2026-07-21T16:45:34.851066+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e0444e516b50f82002d1a733527813c51759a627cefdd1005cea73659f824ea8 @@ -72,7 +95,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2025-12-11T12:44:25.464739895+01:00" + created: "2026-07-21T16:45:34.850781+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: cbcef400c23ccece27d97369ad629278265c013e0a45c0b7f33e7568a082fedd @@ -95,7 +118,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2025-12-11T12:44:25.462698399+01:00" + created: "2026-07-21T16:45:34.85048+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: a45f2284045c2a9a79750a36997386444f39b01ac722b17c84b431457577a3a2 @@ -116,27 +139,4 @@ entries: urls: - postgres-operator-ui-1.11.0.tgz version: 1.11.0 - - apiVersion: v2 - appVersion: 1.10.1 - created: "2025-12-11T12:44:25.460357063+01:00" - description: Postgres Operator UI provides a graphical interface for a convenient - database-as-a-service user experience - digest: 2e5e7a82aebee519ec57c6243eb8735124aa4585a3a19c66ffd69638fbeb11ce - 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-1.10.1.tgz - version: 1.10.1 -generated: "2025-12-11T12:44:25.45732896+01:00" +generated: "2026-07-21T16:45:34.850084+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.10.1.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.10.1.tgz deleted file mode 100644 index c0719f7bf222094a686a773ca38a9c19510dacc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5016 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 ibF5W3>T}2DPUTci5rqhxD diff --git a/charts/postgres-operator-ui/postgres-operator-ui-2.0.0.tgz b/charts/postgres-operator-ui/postgres-operator-ui-2.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..35e888107bf557c7fa4f9b7bbd3bf832bb358287 GIT binary patch literal 5106 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 U@}FA%HvjDc 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 T@cjP)00960IDEtT0ImT5Y=5`F diff --git a/charts/postgres-operator/postgres-operator-2.0.0.tgz b/charts/postgres-operator/postgres-operator-2.0.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e59facf0c1ff279ac07c9fdf3bbf13863b6fa515 GIT binary patch literal 42974 zcmV)iK%&1NiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMYad*e3JIGDfvDX{MOJ#A-9`RZ%5zr3@K+v)M755KmP+1Vt^ zKqMp~CJ6=rWvh?~?3~7=k-fV@ zpsi#|Q~A~2t=n4c+baB-CK||KOty{A(F0{1V`;)R|dz zwC{cXm-qjSMj2CgNdVgS|I;Vtx7+^*PoI3XxBqni$+L(3e; zOs0VxZ~@O!p|}?2Y4Z{$MAM0(9+I?gZN2W&#k?=&~Q7;wY z#-k-%hZ~QGXX!;eKeq$=J)7hEw=`xO8>tA7l0;}~hCvO+ZP)dnGmwI9gPw@Z=YnWJUK0H9kg0o80G zBxj0bNysF*p7LNy0vRgT%7~GOE6u_UVxIfOCk8iNUi63(F9l1C=ef`cqe)smf(^o&7A6=fldt2a>PAmYQ zB{P3UWf>byr6x3)lZ0K9kZL-jijh==`DjKw=63lLkq|YFNz7s)=S2%@8v8R5Wo9Sk zpxyE$*F1`dnkNBHTh3!#Pnkq2fN0A?oTxngtdtU-q6G{r0}K1qaRWD0%Oepzl}t@V6joZ#-*+{C!6FuD!pCOm zXDJRmOTtv}L@TltvN6pfy}d&We+mf1G*t#YubgmGaZTr8Eg>AQpzQf?Dvc*Sc&+=$8Uz@Y1{<@h(HB^d6EM- z+(QTfP0aS6nR6&$(j50Bpk~>Kv86pQKY@s2uFY}fD65ZeecOhw1+LEgNX21G4Isrs z7Ep<7h*=NiEsjgwR`JWb-Oe*%H#ANoHYA(&7t#Xzho%!d@5Ka3k!ha5hAIwkqEdRD zK>Mi_fmwQPfXvVZnUpNiks-F%LS7jeh`caod~uo+l=()6(B<=;cEr3D(z;LIC82Qei3FA!>4o+O~mnPMSyL$WmD z0RnbADBq>H<=lJUeLXbCXA+L)Rp2U1nKX5f_~V>A7JM`(JmESVZ4j(jf|d*EcKN)a zzX@s83_n;737Xmzu-CYVd@|G%B$- zBC;ow`$P)?r0O>zeaFPuw)|KaPR%uFxkGrRkmUew!}OU-X-K|dX3QApq+X0I+X*}e zFeC{vUo1FU%_KYHus+(ei}rNrgorH2o1J}>wKj}5DE>HwGolV%s8ZNrmC}i_eN<^xqf$+tcF{OGho6KwiGRAfYhluW8$C zZ`&oyPv(S`=UOZyRbU+-zZ~YrVk80@EucgqknRXoicbzCGcH70S#+M@+La zJ8527o)TYr=1CWK+ugFA&wTurTZZATv|JKDECTs9C=GckMM@_ymt!g7ys3gHin8bm z>exc~Mr6cwq5>K*xjZResj{cJMc*rZv->q72LuYvnfw$q8%IxVzd`>3$1*axi+p2Q z(ickk`8Pg-D<8~8KpyjiM*Ka}Zo(3kNd}BIvhroI!f*jNs7Bc1Lb`och`8kV-0CK{ zB6KErsLZfMtOUmLhE=92=E|^()HXnnmqemq$ZbIw9+5Bu5fN%~krX{H`cjcF;iZD( z^ElT<8Qf)-*fUO%5gQx93S~#GP{0LhZh@Q6{X&;jlAE=dOrU`=38p+M51Cb$OzDgf znjqUmBpWlyjEvJTezrx+#JSq4s^!SrEErR4%#PsMkH;YXyOq2=T&X!Tlwo$PF2D~W z%46Tvtm$GZLP8VG2_28kfXsgH85^Cr2~N4aFpT zW&!M1p@m$@4D@RLC<{S@SHe;NM9Iw2X*ly#iV+f;G7T*um{;|o>S{xrv#D*PY%A4` zs#}>(unCq|XC#t|dF>V^jutb7iuuu9|Q>>1W7O+aIu>(Z3G|BK+TkusT>swk@Sl(_5;So^&79R z#*!*6vp^d{gwhWRe1_yYmfb2gDwR>(vE%JmIpg0WuUgrI%1!5iIisxTV?DGRd*#K%O0%<|m8?wBnaiy8AR>>)YWi#KvTs_U+k zEAwkhGr5Ko&k&^BXsIyAf?K|UNX$A%Wfu)md@|Kb+Zb6b%l6h^`T

d!gT5@|D(?N`)%n%(dXPT{Xaf&Q|iR4#<`NBc# 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 Y*0rv6?TOp}9{>RV|3~6<004Xh00HQ0xc~qF literal 0 HcmV?d00001 diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 4ea5b6319..716899831 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: v1.15.1 + tag: v2.0.0 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -41,7 +41,7 @@ configGeneral: # etcd connection string for Patroni. Empty uses K8s-native DCS. etcd_host: "" # Spilo docker image - docker_image: ghcr.io/zalando/spilo-18:4.1-p1 + docker_image: ghcr.io/zalando/spilo-18:4.1-p2 # key name for annotation to ignore globally configured instance limits # ignore_instance_limits_annotation_key: "" @@ -389,7 +389,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:v1.15.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" # path of google cloud service account json file # logical_backup_google_application_credentials: "" diff --git a/docs/administrator.md b/docs/administrator.md index 49718d1ea..3ac4eb539 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -1565,7 +1565,7 @@ make docker # build in image in minikube docker env eval $(minikube docker-env) -docker build -t ghcr.io/zalando/postgres-operator-ui:v1.15.1 . +docker build -t ghcr.io/zalando/postgres-operator-ui:v2.0.0 . # 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 02c6db8d0..25327fdd5 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -849,7 +849,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:v1.15.1" + pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. diff --git a/e2e/run.sh b/e2e/run.sh index c5daf81f6..cdde2e83f 100755 --- a/e2e/run.sh +++ b/e2e/run.sh @@ -8,7 +8,7 @@ IFS=$'\n\t' readonly cluster_name="postgres-operator-e2e-tests" readonly kubeconfig_path="${HOME}/kind-config-${cluster_name}" -readonly spilo_image="ghcr.io/zalando/spilo-18:4.1-p1" +readonly spilo_image="ghcr.io/zalando/spilo-18:4.1-p2" readonly e2e_test_runner_image="ghcr.io/zalando/postgres-operator-e2e-tests-runner:latest" export GOPATH=${GOPATH-~/go} diff --git a/e2e/tests/test_e2e.py b/e2e/tests/test_e2e.py index 8b64185e9..ca13966ed 100644 --- a/e2e/tests/test_e2e.py +++ b/e2e/tests/test_e2e.py @@ -14,7 +14,7 @@ from kubernetes.client.rest import ApiException SPILO_CURRENT = "ghcr.io/zalando/spilo-e2e:dev-18.3" SPILO_LAZY = "ghcr.io/zalando/spilo-e2e:dev-18.4" -SPILO_FULL_IMAGE = "ghcr.io/zalando/spilo-18:4.1-p1" +SPILO_FULL_IMAGE = "ghcr.io/zalando/spilo-18:4.1-p2" def to_selector(labels): return ",".join(["=".join(lbl) for lbl in labels.items()]) diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index 93797e0e1..aac75d05b 100644 --- a/manifests/complete-postgres-manifest.yaml +++ b/manifests/complete-postgres-manifest.yaml @@ -10,7 +10,7 @@ metadata: # "delete-date": "2020-08-31" # can only be deleted on that day if "delete-date "key is configured # "delete-clustername": "acid-test-cluster" # can only be deleted when name matches if "delete-clustername" key is configured spec: - dockerImage: ghcr.io/zalando/spilo-18:4.1-p1 + dockerImage: ghcr.io/zalando/spilo-18:4.1-p2 teamId: "acid" numberOfInstances: 2 users: # Application/Robot users diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index c7f4d2655..4052f2bb8 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -34,7 +34,7 @@ data: default_memory_request: 100Mi # delete_annotation_date_key: delete-date # delete_annotation_name_key: delete-clustername - docker_image: ghcr.io/zalando/spilo-18:4.1-p1 + docker_image: ghcr.io/zalando/spilo-18:4.1-p2 # downscaler_annotations: "deployment-time,downscaler/*" enable_admin_role_for_users: "true" enable_crd_registration: "true" @@ -88,7 +88,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:v1.15.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" # logical_backup_memory_limit: "" diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index ebe4e7089..2f0f769af 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -142,7 +142,7 @@ spec: type: boolean type: object docker_image: - default: ghcr.io/zalando/spilo-18:4.1-p1 + default: ghcr.io/zalando/spilo-18:4.1-p2 type: string enable_crd_registration: default: true @@ -649,7 +649,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0 type: string logical_backup_failed_jobs_history_limit: default: 3 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 253649078..80e4fa28b 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:v1.15.1 + image: ghcr.io/zalando/postgres-operator:v2.0.0 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index e25a7b339..6535f2e1a 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -3,7 +3,7 @@ kind: OperatorConfiguration metadata: name: postgresql-operator-default-configuration configuration: - docker_image: ghcr.io/zalando/spilo-18:4.1-p1 + docker_image: ghcr.io/zalando/spilo-18:4.1-p2 # enable_crd_registration: true # crd_categories: # - all @@ -184,7 +184,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:v1.15.1" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" diff --git a/mkdocs.yml b/mkdocs.yml index b8e8c3e04..09fc841e6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -5,6 +5,7 @@ theme: readthedocs nav: - Concepts: 'index.md' - Quickstart: 'quickstart.md' + - Migration from v1: 'migrate.md' - Postgres Operator UI: 'operator-ui.md' - Admin guide: 'administrator.md' - User guide: 'user.md' 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 046dd0761..d78f2c974 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -354,7 +354,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:v1.15.1" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" DockerImage string `json:"logical_backup_docker_image,omitempty"` // +kubebuilder:validation:Enum=az;gcs;s3 // +kubebuilder:default=s3 @@ -412,7 +412,7 @@ type OperatorConfigurationData struct { EtcdHost string `json:"etcd_host,omitempty"` // +kubebuilder:default=true KubernetesUseConfigMaps *bool `json:"kubernetes_use_configmaps,omitempty"` - // +kubebuilder:default="ghcr.io/zalando/spilo-18:4.1-p1" + // +kubebuilder:default="ghcr.io/zalando/spilo-18:4.1-p2" DockerImage string `json:"docker_image,omitempty"` // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=8 diff --git a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml index ebe4e7089..2f0f769af 100644 --- a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml +++ b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml @@ -142,7 +142,7 @@ spec: type: boolean type: object docker_image: - default: ghcr.io/zalando/spilo-18:4.1-p1 + default: ghcr.io/zalando/spilo-18:4.1-p2 type: string enable_crd_registration: default: true @@ -649,7 +649,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0 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 2db1223b4..94e237815 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.14.0" - img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1" + img1 := "ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1" + img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" clientSet := fake.NewSimpleClientset() acidClientSet := fakeacidv1.NewSimpleClientset() diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 667384e30..3960a5196 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -36,7 +36,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.EnableTeamIdClusternamePrefix = fromCRD.EnableTeamIdClusternamePrefix result.EtcdHost = fromCRD.EtcdHost result.KubernetesUseConfigMaps = util.CoalesceBool(fromCRD.KubernetesUseConfigMaps, util.True()) - result.DockerImage = util.Coalesce(fromCRD.DockerImage, "ghcr.io/zalando/spilo-18:4.1-p1") + result.DockerImage = util.Coalesce(fromCRD.DockerImage, "ghcr.io/zalando/spilo-18:4.1-p2") result.Workers = util.CoalesceUInt32(fromCRD.Workers, 8) result.MinInstances = fromCRD.MinInstances result.MaxInstances = fromCRD.MaxInstances @@ -186,7 +186,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:v1.15.1") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupAzureStorageAccountName = fromCRD.LogicalBackup.AzureStorageAccountName result.LogicalBackupAzureStorageAccountKey = fromCRD.LogicalBackup.AzureStorageAccountKey diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 95324a747..f20e9b724 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:v1.15.1"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0"` 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:""` @@ -181,7 +181,7 @@ type Config struct { EtcdHost string `name:"etcd_host" default:""` // special values: the empty string "" means Patroni will use K8s as a DCS EnableMaintenanceWindows *bool `name:"enable_maintenance_windows" default:"true"` MaintenanceWindows []string `name:"maintenance_windows"` - DockerImage string `name:"docker_image" default:"ghcr.io/zalando/spilo-18:4.1-p1"` + DockerImage string `name:"docker_image" default:"ghcr.io/zalando/spilo-18:4.1-p2"` SidecarImages map[string]string `name:"sidecar_docker_images"` // deprecated in favour of SidecarContainers SidecarContainers []v1.Container `name:"sidecars"` PodServiceAccountName string `name:"pod_service_account_name" default:"postgres-pod"` diff --git a/ui/app/package.json b/ui/app/package.json index c5f1e61df..91aa478b0 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "1.15.1", + "version": "2.0.0", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index e19a850b8..f3fdb046b 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:v1.15.1 + image: ghcr.io/zalando/postgres-operator-ui:v2.0.0 ports: - containerPort: 8081 protocol: "TCP"