From 618e787b14d1689644ede1c6cb62ea888cc5ad14 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Wed, 19 Apr 2023 16:26:32 +0200 Subject: [PATCH] bump to v1.9.1 --- README.md | 2 +- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 37 ++++++++++++++---- .../postgres-operator-ui-1.9.1.tgz | Bin 0 -> 5000 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 4 +- charts/postgres-operator/index.yaml | 36 +++++++++++++---- .../postgres-operator-1.9.1.tgz | Bin 0 -> 17385 bytes charts/postgres-operator/values.yaml | 6 +-- docs/reference/operator_parameters.md | 8 +++- go.mod | 2 +- go.sum | 3 +- 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 +- pkg/controller/operator_config.go | 4 +- pkg/util/config/config.go | 4 +- ui/app/package.json | 2 +- ui/manifests/deployment.yaml | 2 +- 22 files changed, 94 insertions(+), 42 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-1.9.1.tgz create mode 100644 charts/postgres-operator/postgres-operator-1.9.1.tgz diff --git a/README.md b/README.md index f49e312ef..a274e6658 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as [timescaledb](https://github.com/timescale/timescaledb) The Postgres Operator has been developed at Zalando and is being used in -production for over three years. +production for over five years. ## Supported Postgres & K8s versions diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index 2c86208dc..ea4c80966 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.9.0 -appVersion: 1.9.0 +version: 1.9.1 +appVersion: 1.9.1 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 2da263625..c020b29ed 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: 1.9.1 + created: "2023-04-19T16:24:45.093299431+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: 7536d7603287fde5540aed43dc4a2b3c5a17fe7eb24cf098f3ab4f743943defc + 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.9.1.tgz + version: 1.9.1 - apiVersion: v2 appVersion: 1.9.0 - created: "2023-01-17T15:45:57.564334046+01:00" + created: "2023-04-19T16:24:45.092696928+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: df434af6c8b697fe0631017ecc25e3c79e125361ae6622347cea41a545153bdc @@ -26,7 +49,7 @@ entries: version: 1.9.0 - apiVersion: v2 appVersion: 1.8.2 - created: "2023-01-17T15:45:57.562574292+01:00" + created: "2023-04-19T16:24:45.092105911+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: fbfc90fa8fd007a08a7c02e0ec9108bb8282cbb42b8c976d88f2193d6edff30c @@ -49,7 +72,7 @@ entries: version: 1.8.2 - apiVersion: v2 appVersion: 1.8.1 - created: "2023-01-17T15:45:57.561981294+01:00" + created: "2023-04-19T16:24:45.091588695+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: d26342e385ea51a0fbfbe23477999863e9489664ae803ea5c56da8897db84d24 @@ -72,7 +95,7 @@ entries: version: 1.8.1 - apiVersion: v1 appVersion: 1.8.0 - created: "2023-01-17T15:45:57.561383172+01:00" + created: "2023-04-19T16:24:45.091060957+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: d4a7b40c23fd167841cc28342afdbd5ecc809181913a5c31061c83139187f148 @@ -95,7 +118,7 @@ entries: version: 1.8.0 - apiVersion: v1 appVersion: 1.7.1 - created: "2023-01-17T15:45:57.560738084+01:00" + created: "2023-04-19T16:24:45.090526799+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 97aed1a1d37cd5f8441eea9522f38e56cc829786ad2134c437a5e6a15c995869 @@ -118,7 +141,7 @@ entries: version: 1.7.1 - apiVersion: v1 appVersion: 1.7.0 - created: "2023-01-17T15:45:57.560150807+01:00" + created: "2023-04-19T16:24:45.089983642+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 37fba1968347daad393dbd1c6ee6e5b6a24d1095f972c0102197531c62dcada8 @@ -139,4 +162,4 @@ entries: urls: - postgres-operator-ui-1.7.0.tgz version: 1.7.0 -generated: "2023-01-17T15:45:57.558968127+01:00" +generated: "2023-04-19T16:24:45.088885981+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.9.1.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.9.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..731c6da83c669938908320d5eac641f0bae9f3f8 GIT binary patch literal 5000 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 literal 0 HcmV?d00001 diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index aa17bcc68..041627ee6 100644 --- a/charts/postgres-operator/values.yaml +++ b/charts/postgres-operator/values.yaml @@ -1,7 +1,7 @@ image: registry: registry.opensource.zalan.do repository: acid/postgres-operator - tag: v1.9.0 + tag: v1.9.1 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -38,7 +38,7 @@ configGeneral: # etcd connection string for Patroni. Empty uses K8s-native DCS. etcd_host: "" # Spilo docker image - docker_image: ghcr.io/zalando/spilo-15:2.1-p9 + docker_image: ghcr.io/zalando/spilo-15:3.0-p1 # key name for annotation to ignore globally configured instance limits # ignore_instance_limits_annotation_key: "" @@ -348,7 +348,7 @@ configLogicalBackup: # logical_backup_memory_request: "" # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.1" # path of google cloud service account json file # logical_backup_google_application_credentials: "" diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index 198870d77..c7218295e 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -491,6 +491,12 @@ configuration they are grouped under the `kubernetes` key. override [topology key](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#built-in-node-labels) for pod anti affinity. The default is `kubernetes.io/hostname`. +* **pod_antiaffinity_preferred_during_scheduling** + when scaling the number of pods beyond the available number of topology + keys the anti affinity has to be configured to preferred during scheduling. + The default is `false` which means the pod anti affinity will use + `requiredDuringSchedulingIgnoredDuringExecution`. + * **pod_management_policy** specify the [pod management policy](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies) of stateful sets of PG clusters. The default is `ordered_ready`, the second @@ -755,7 +761,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 `/spilo/pg_cluster_name/cluster_k8s_uuid/logical_backups`. The default image is the same image built with the Zalando-internal CI - pipeline. Default: "registry.opensource.zalan.do/acid/logical-backup:v1.9.0" + pipeline. Default: "registry.opensource.zalan.do/acid/logical-backup:v1.9.1" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. diff --git a/go.mod b/go.mod index 38cf2dabb..f5679f96c 100644 --- a/go.mod +++ b/go.mod @@ -59,7 +59,7 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + gopkg.in/yaml.v3 v3.0.0 // indirect k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c // indirect k8s.io/klog/v2 v2.30.0 // indirect k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect diff --git a/go.sum b/go.sum index f925cc505..b20048912 100644 --- a/go.sum +++ b/go.sum @@ -910,8 +910,9 @@ gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index 8d197a75d..05ee671a0 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-15:2.1-p9 + dockerImage: ghcr.io/zalando/spilo-15:3.0-p1 teamId: "acid" numberOfInstances: 2 users: # Application/Robot users diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index af9dd8acf..f42a9e1d8 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-15:2.1-p9 + docker_image: ghcr.io/zalando/spilo-15:3.0-p1 # downscaler_annotations: "deployment-time,downscaler/*" # enable_admin_role_for_users: "true" # enable_crd_registration: "true" @@ -80,7 +80,7 @@ data: # logical_backup_azure_storage_account_key: "" # logical_backup_cpu_limit: "" # logical_backup_cpu_request: "" - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.1" # 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 6b917a31c..2326172ba 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -66,7 +66,7 @@ spec: type: string docker_image: type: string - default: "ghcr.io/zalando/spilo-15:2.1-p9" + default: "ghcr.io/zalando/spilo-15:3.0-p1" enable_crd_registration: type: boolean default: true @@ -487,7 +487,7 @@ spec: pattern: '^(\d+m|\d+(\.\d{1,3})?)$' logical_backup_docker_image: type: string - default: "registry.opensource.zalan.do/acid/logical-backup:v1.9.0" + default: "registry.opensource.zalan.do/acid/logical-backup:v1.9.1" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index a8f565c8e..0931b0f6c 100644 --- a/manifests/postgres-operator.yaml +++ b/manifests/postgres-operator.yaml @@ -19,7 +19,7 @@ spec: serviceAccountName: postgres-operator containers: - name: postgres-operator - image: registry.opensource.zalan.do/acid/postgres-operator:v1.9.0 + image: registry.opensource.zalan.do/acid/postgres-operator:v1.9.1 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index bff5a634e..17e0c41d4 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-15:2.1-p9 + docker_image: ghcr.io/zalando/spilo-15:3.0-p1 # enable_crd_registration: true # crd_categories: # - all @@ -160,7 +160,7 @@ configuration: # logical_backup_cpu_request: "" # logical_backup_memory_limit: "" # logical_backup_memory_request: "" - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.9.1" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index a66ece2fa..2cde573e7 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -39,7 +39,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.EnableTeamIdClusternamePrefix = fromCRD.EnableTeamIdClusternamePrefix result.EtcdHost = fromCRD.EtcdHost result.KubernetesUseConfigMaps = fromCRD.KubernetesUseConfigMaps - result.DockerImage = util.Coalesce(fromCRD.DockerImage, "ghcr.io/zalando/spilo-15:2.1-p9") + result.DockerImage = util.Coalesce(fromCRD.DockerImage, "ghcr.io/zalando/spilo-15:3.0-p1") result.Workers = util.CoalesceUInt32(fromCRD.Workers, 8) result.MinInstances = fromCRD.MinInstances result.MaxInstances = fromCRD.MaxInstances @@ -174,7 +174,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, "registry.opensource.zalan.do/acid/logical-backup:v1.9.0") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "registry.opensource.zalan.do/acid/logical-backup:v1.9.1") 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 df1cf6bb8..2722dc6a7 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -126,7 +126,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:"registry.opensource.zalan.do/acid/logical-backup:v1.9.0"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"registry.opensource.zalan.do/acid/logical-backup:v1.9.1"` 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:""` @@ -172,7 +172,7 @@ type Config struct { WatchedNamespace string `name:"watched_namespace"` // special values: "*" means 'watch all namespaces', the empty string "" means 'watch a namespace where operator is deployed to' KubernetesUseConfigMaps bool `name:"kubernetes_use_configmaps" default:"false"` EtcdHost string `name:"etcd_host" default:""` // special values: the empty string "" means Patroni will use K8s as a DCS - DockerImage string `name:"docker_image" default:"ghcr.io/zalando/spilo-15:2.1-p9"` + DockerImage string `name:"docker_image" default:"ghcr.io/zalando/spilo-15:3.0-p1"` 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 9f66d760b..1e33144aa 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "1.9.0", + "version": "1.9.1", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index df23e1aad..06f760470 100644 --- a/ui/manifests/deployment.yaml +++ b/ui/manifests/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: postgres-operator-ui containers: - name: "service" - image: registry.opensource.zalan.do/acid/postgres-operator-ui:v1.9.0 + image: registry.opensource.zalan.do/acid/postgres-operator-ui:v1.9.1 ports: - containerPort: 8081 protocol: "TCP"