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 c0719f7bf..000000000 Binary files a/charts/postgres-operator-ui/postgres-operator-ui-1.10.1.tgz and /dev/null differ 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 000000000..35e888107 Binary files /dev/null and b/charts/postgres-operator-ui/postgres-operator-ui-2.0.0.tgz differ diff --git a/charts/postgres-operator-ui/values.yaml b/charts/postgres-operator-ui/values.yaml index c308335b2..4f15dd565 100644 --- a/charts/postgres-operator-ui/values.yaml +++ b/charts/postgres-operator-ui/values.yaml @@ -8,7 +8,7 @@ replicaCount: 1 image: registry: ghcr.io repository: zalando/postgres-operator-ui - tag: v1.15.1 + tag: v2.0.0 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. diff --git a/charts/postgres-operator/Chart.yaml b/charts/postgres-operator/Chart.yaml index 6f0d2e762..e33d783eb 100644 --- a/charts/postgres-operator/Chart.yaml +++ b/charts/postgres-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator -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 creates and manages PostgreSQL clusters running in Kubernetes keywords: diff --git a/charts/postgres-operator/crds/operatorconfigurations.yaml b/charts/postgres-operator/crds/operatorconfigurations.yaml index ebe4e7089..2f0f769af 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.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/charts/postgres-operator/index.yaml b/charts/postgres-operator/index.yaml index 7128b8eb9..fb251d24e 100644 --- a/charts/postgres-operator/index.yaml +++ b/charts/postgres-operator/index.yaml @@ -1,9 +1,31 @@ apiVersion: v1 entries: postgres-operator: + - apiVersion: v2 + appVersion: 2.0.0 + created: "2026-07-21T16:44:28.284962+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes + digest: 2c71062f4961e770aaba086cb3d6065daaa71b878510a6c01fd34bb9645e7caa + 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.0.tgz + version: 2.0.0 - apiVersion: v2 appVersion: 1.15.1 - created: "2025-12-17T14:48:33.832345061+01:00" + created: "2026-07-21T16:44:28.283564+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 9f3edc3d796105c02c04eaae28a78e58fb08c1847a9de012245fd6ac2c0d2c00 @@ -25,7 +47,7 @@ entries: version: 1.15.1 - apiVersion: v2 appVersion: 1.15.0 - created: "2025-12-17T14:48:33.826117296+01:00" + created: "2026-07-21T16:44:28.282671+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 002dd47647bf51fbba023bd1762d807be478cf37de7a44b80cd01ac1f20bd94a @@ -47,7 +69,7 @@ entries: version: 1.15.0 - apiVersion: v2 appVersion: 1.14.0 - created: "2025-12-17T14:48:33.819729144+01:00" + created: "2026-07-21T16:44:28.28145+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 36e1571f3f455b213f16cdda7b1158648e8e84deb804ba47ed6b9b6d19263ba8 @@ -69,7 +91,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.13.0 - created: "2025-12-17T14:48:33.81038602+01:00" + created: "2026-07-21T16:44:28.280586+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: a839601689aea0a7e6bc0712a5244d435683cf3314c95794097ff08540e1dfef @@ -91,7 +113,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2025-12-17T14:48:33.803256825+01:00" + created: "2026-07-21T16:44:28.279696+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 65858d14a40d7fd90c32bd9fc60021acc9555c161079f43a365c70171eaf21d8 @@ -113,7 +135,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2025-12-17T14:48:33.797369053+01:00" + created: "2026-07-21T16:44:28.27882+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 3914b5e117bda0834f05c9207f007e2ac372864cf6e86dcc2e1362bbe46c14d9 @@ -133,26 +155,4 @@ entries: urls: - postgres-operator-1.11.0.tgz version: 1.11.0 - - apiVersion: v2 - appVersion: 1.10.1 - created: "2025-12-17T14:48:33.791368349+01:00" - description: Postgres Operator creates and manages PostgreSQL clusters running - in Kubernetes - digest: cc3baa41753da92466223d0b334df27e79c882296577b404a8e9071411fcf19c - 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-1.10.1.tgz - version: 1.10.1 -generated: "2025-12-17T14:48:33.785159183+01:00" +generated: "2026-07-21T16:44:28.277403+02:00" diff --git a/charts/postgres-operator/postgres-operator-1.10.1.tgz b/charts/postgres-operator/postgres-operator-1.10.1.tgz deleted file mode 100644 index 5ecb27a5b..000000000 Binary files a/charts/postgres-operator/postgres-operator-1.10.1.tgz and /dev/null differ 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 000000000..e59facf0c Binary files /dev/null and b/charts/postgres-operator/postgres-operator-2.0.0.tgz differ 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"