From f9150aa6db85e6b7d18553f2d104dcb7b43d69dc Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Wed, 3 Nov 2021 16:55:01 +0100 Subject: [PATCH] bump operator to v1.7.1 (#1670) * bump operator to v1.7.1 * update UI image in manifest example --- .../postgres-operator-issue-template.md | 2 +- Makefile | 2 +- README.md | 2 +- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 41 ++++++++++++++---- .../postgres-operator-ui-1.7.1.tgz | Bin 0 -> 4750 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 6 +-- charts/postgres-operator/index.yaml | 40 +++++++++++++---- .../postgres-operator-1.7.1.tgz | Bin 0 -> 15699 bytes charts/postgres-operator/values.yaml | 8 ++-- docs/administrator.md | 2 +- docs/index.md | 8 +++- docs/reference/operator_parameters.md | 2 +- go.mod | 14 +++--- go.sum | 33 +++++++------- kubectl-pg/go.mod | 2 +- manifests/complete-postgres-manifest.yaml | 2 +- manifests/configmap.yaml | 6 +-- manifests/minimal-fake-pooler-deployment.yaml | 2 +- manifests/operatorconfiguration.crd.yaml | 6 +-- manifests/postgres-operator.yaml | 2 +- ...gresql-operator-default-configuration.yaml | 6 +-- .../acid.zalan.do/v1/zz_generated.deepcopy.go | 17 ++++++++ pkg/controller/operator_config.go | 4 +- .../versioned/fake/clientset_generated.go | 5 ++- pkg/util/config/config.go | 4 +- ui/manifests/deployment.yaml | 2 +- 29 files changed, 151 insertions(+), 77 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-1.7.1.tgz create mode 100644 charts/postgres-operator/postgres-operator-1.7.1.tgz diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index a62ac5fe6..70d77b80a 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. registry.opensource.zalan.do/acid/postgres-operator:v1.7.0 +- **Which image of the operator are you using?** e.g. registry.opensource.zalan.do/acid/postgres-operator:v1.7.1 - **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/Makefile b/Makefile index 59558c339..b83f7156b 100644 --- a/Makefile +++ b/Makefile @@ -85,7 +85,7 @@ mocks: GO111MODULE=on go generate ./... tools: - GO111MODULE=on go get k8s.io/client-go@kubernetes-1.22.2 + GO111MODULE=on go get k8s.io/client-go@kubernetes-1.22.3 GO111MODULE=on go get github.com/golang/mock/mockgen@v1.6.0 GO111MODULE=on go mod tidy diff --git a/README.md b/README.md index 223d5b28c..c69e0ca29 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ We introduce the major version into the backup path to smoothen the [major versi The new operator configuration can set a compatibility flag *enable_spilo_wal_path_compat* to make Spilo look for wal segments in the current path but also old format paths. This comes at potential performance costs and should be disabled after a few days. -The newest Spilo image is: `registry.opensource.zalan.do/acid/spilo-14:2.1-p2` +The newest Spilo image is: `registry.opensource.zalan.do/acid/spilo-14:2.1-p3` The last Spilo 12 image is: `registry.opensource.zalan.do/acid/spilo-12:1.6-p5` diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index e28073cb1..9e38f218a 100644 --- a/charts/postgres-operator-ui/Chart.yaml +++ b/charts/postgres-operator-ui/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 name: postgres-operator-ui -version: 1.7.0 -appVersion: 1.7.0 +version: 1.7.1 +appVersion: 1.7.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 5358ed58a..f0005e003 100644 --- a/charts/postgres-operator-ui/index.yaml +++ b/charts/postgres-operator-ui/index.yaml @@ -2,11 +2,34 @@ apiVersion: v1 entries: postgres-operator-ui: - apiVersion: v1 - appVersion: 1.7.0 - created: "2021-08-27T10:23:17.723412079+02:00" + appVersion: 1.7.1 + created: "2021-11-03T11:44:00.75040818+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience - digest: ad08ee5fe31bb2e7c3cc1299c2e778511a3c05305bc17357404b2615b32ea92a + digest: 97aed1a1d37cd5f8441eea9522f38e56cc829786ad2134c437a5e6a15c995869 + 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.7.1.tgz + version: 1.7.1 + - apiVersion: v1 + appVersion: 1.7.0 + created: "2021-11-03T11:44:00.748544296+01:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: 37fba1968347daad393dbd1c6ee6e5b6a24d1095f972c0102197531c62dcada8 home: https://github.com/zalando/postgres-operator keywords: - postgres @@ -26,7 +49,7 @@ entries: version: 1.7.0 - apiVersion: v1 appVersion: 1.6.3 - created: "2021-08-27T10:23:17.722255571+02:00" + created: "2021-11-03T11:44:00.745261041+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 08b810aa632dcc719e4785ef184e391267f7c460caa99677f2d00719075aac78 @@ -49,7 +72,7 @@ entries: version: 1.6.3 - apiVersion: v1 appVersion: 1.6.2 - created: "2021-08-27T10:23:17.721712848+02:00" + created: "2021-11-03T11:44:00.743617168+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 14d1559bb0bd1e1e828f2daaaa6f6ac9ffc268d79824592c3589b55dd39241f6 @@ -72,7 +95,7 @@ entries: version: 1.6.2 - apiVersion: v1 appVersion: 1.6.1 - created: "2021-08-27T10:23:17.721175629+02:00" + created: "2021-11-03T11:44:00.741913772+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 3d321352f2f1e7bb7450aa8876e3d818aa9f9da9bd4250507386f0490f2c1969 @@ -95,7 +118,7 @@ entries: version: 1.6.1 - apiVersion: v1 appVersion: 1.6.0 - created: "2021-08-27T10:23:17.720655498+02:00" + created: "2021-11-03T11:44:00.740290409+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 1e0aa1e7db3c1daa96927ffbf6fdbcdb434562f961833cb5241ddbe132220ee4 @@ -118,7 +141,7 @@ entries: version: 1.6.0 - apiVersion: v1 appVersion: 1.5.0 - created: "2021-08-27T10:23:17.720112359+02:00" + created: "2021-11-03T11:44:00.738607341+01:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: c91ea39e6d51d57f4048fb1b6ec53b40823f2690eb88e4e4f1a036367b9fdd61 @@ -139,4 +162,4 @@ entries: urls: - postgres-operator-ui-1.5.0.tgz version: 1.5.0 -generated: "2021-08-27T10:23:17.719397521+02:00" +generated: "2021-11-03T11:44:00.736383918+01:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-1.7.1.tgz b/charts/postgres-operator-ui/postgres-operator-ui-1.7.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..45c01d715a63692c8c1e66ede96cc1f08be9fd9a GIT binary patch literal 4750 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 literal 0 HcmV?d00001 diff --git a/charts/postgres-operator/values.yaml b/charts/postgres-operator/values.yaml index 0d67e62d2..1ad096403 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.7.0 + tag: v1.7.1 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. @@ -35,7 +35,7 @@ configGeneral: # Select if setup uses endpoints (default), or configmaps to manage leader (DCS=k8s) # kubernetes_use_configmaps: false # Spilo docker image - docker_image: registry.opensource.zalan.do/acid/spilo-14:2.1-p2 + docker_image: registry.opensource.zalan.do/acid/spilo-14:2.1-p3 # min number of instances in Postgres cluster. -1 = no limit min_instances: -1 # max number of instances in Postgres cluster. -1 = no limit @@ -280,7 +280,7 @@ configAwsOrGcp: # configure K8s cron job managed by the operator configLogicalBackup: # image for pods of the logical backup job (example runs pg_dumpall) - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1" # path of google cloud service account json file # logical_backup_google_application_credentials: "" @@ -345,7 +345,7 @@ configConnectionPooler: # db user for pooler to use connection_pooler_user: "pooler" # docker image - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-19" # 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 ddd5287f6..f03326f5a 100644 --- a/docs/administrator.md +++ b/docs/administrator.md @@ -1075,7 +1075,7 @@ make docker # build in image in minikube docker env eval $(minikube docker-env) -docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.7.0 . +docker build -t registry.opensource.zalan.do/acid/postgres-operator-ui:v1.7.1 . # apply UI manifests next to a running Postgres Operator kubectl apply -f manifests/ diff --git a/docs/index.md b/docs/index.md index 10c90e0b7..fde3f0ba2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -71,6 +71,8 @@ Please, report any issues discovered to https://github.com/zalando/postgres-oper ## Talks +- "Watching after your PostGIS herd" talk by Felix Kunde, FOSS4G 2021: [video](https://www.youtube.com/watch?v=T96FvjSv98A) | [slides](https://docs.google.com/presentation/d/1IICz2RsjNAcosKVGFna7io-65T2zBbGcBHFFtca24cc/edit?usp=sharing) + - "PostgreSQL on K8S at Zalando: Two years in production" talk by Alexander Kukushkin, FOSSDEM 2020: [video](https://fosdem.org/2020/schedule/event/postgresql_postgresql_on_k8s_at_zalando_two_years_in_production/) | [slides](https://fosdem.org/2020/schedule/event/postgresql_postgresql_on_k8s_at_zalando_two_years_in_production/attachments/slides/3883/export/events/attachments/postgresql_postgresql_on_k8s_at_zalando_two_years_in_production/slides/3883/PostgreSQL_on_K8s_at_Zalando_Two_years_in_production.pdf) - "Postgres as a Service at Zalando" talk by Jan Mußler, DevOpsDays Poznań 2019: [video](https://www.youtube.com/watch?v=FiWS5m72XI8) @@ -87,10 +89,14 @@ Please, report any issues discovered to https://github.com/zalando/postgres-oper ## Posts +- "Getting started with the Zalando Operator for PostgreSQL" by Daniel Westermann on [dbi services blog](https://blog.dbi-services.com/getting-started-with-the-zalando-operator-for-postgresql/), Mar. 2021. + +- "Our experience with Postgres Operator for Kubernetes by Zalando" by Nikolay Bogdanov on [flant blog](https://blog.flant.com/our-experience-with-postgres-operator-for-kubernetes-by-zalando/), Feb. 2021. + - "How to set up continuous backups and monitoring" by Pål Kristensen on [GitHub](https://github.com/zalando/postgres-operator/issues/858#issuecomment-608136253), Mar. 2020. - "Postgres on Kubernetes with the Zalando operator" by Vito Botta on [has_many :code](https://vitobotta.com/2020/02/05/postgres-kubernetes-zalando-operator/), Feb. 2020. -- "Running PostgreSQL in Google Kubernetes Engine" by Kenneth Rørvik on [Repill Linpro](https://www.redpill-linpro.com/techblog/2019/09/28/postgres-in-kubernetes.html), Sep. 2019. +- "Running PostgreSQL in Google Kubernetes Engine" by Kenneth Rørvik on [Repill Linpro blog](https://www.redpill-linpro.com/techblog/2019/09/28/postgres-in-kubernetes.html), Sep. 2019. - "Zalando Postgres Operator: One Year Later" by Sergey Dudoladov on [Open Source Zalando](https://opensource.zalando.com/blog/2018/11/postgres-operator/), Nov. 2018 diff --git a/docs/reference/operator_parameters.md b/docs/reference/operator_parameters.md index 3a0467e97..bba917d88 100644 --- a/docs/reference/operator_parameters.md +++ b/docs/reference/operator_parameters.md @@ -606,7 +606,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.7.0" + pipeline. Default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.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 50e344167..ac550f810 100644 --- a/go.mod +++ b/go.mod @@ -3,18 +3,18 @@ module github.com/zalando/postgres-operator go 1.16 require ( - github.com/aws/aws-sdk-go v1.41.0 + github.com/aws/aws-sdk-go v1.41.16 github.com/golang/mock v1.6.0 github.com/lib/pq v1.10.3 github.com/motomux/pretty v0.0.0-20161209205251-b2aad2c9a95d github.com/r3labs/diff v1.1.0 github.com/sirupsen/logrus v1.8.1 github.com/stretchr/testify v1.7.0 - golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.22.2 - k8s.io/apiextensions-apiserver v0.22.2 - k8s.io/apimachinery v0.22.2 - k8s.io/client-go v0.22.2 - k8s.io/code-generator v0.22.2 + k8s.io/api v0.22.3 + k8s.io/apiextensions-apiserver v0.22.3 + k8s.io/apimachinery v0.22.3 + k8s.io/client-go v0.22.3 + k8s.io/code-generator v0.22.3 ) diff --git a/go.sum b/go.sum index b50987df2..5666613bb 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws/aws-sdk-go v1.41.0 h1:XUzHLFWQVhmFtmKTodnAo5QdooPQfpVfilCxIV3aLoE= -github.com/aws/aws-sdk-go v1.41.0/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.41.16 h1:rNbPreEO4K2b8LwhHOe5+iNRH3Ih35L+H9U5tLdcevo= +github.com/aws/aws-sdk-go v1.41.16/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= @@ -435,8 +435,9 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 h1:/ZScEX8SfEmUGRHs0gxpqteO5nfNW6axyZbBdw9A12g= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -500,6 +501,7 @@ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210614182718-04defd469f4e h1:XpT3nA5TvE525Ne3hInMh6+GETgn27Zfm9dxsThnX2Q= @@ -563,6 +565,7 @@ golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22 h1:RqytpXGR1iVNX7psjB3ff8y7sNFinVFvkx1c8SjBkio= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -733,18 +736,18 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.22.2 h1:M8ZzAD0V6725Fjg53fKeTJxGsJvRbk4TEm/fexHMtfw= -k8s.io/api v0.22.2/go.mod h1:y3ydYpLJAaDI+BbSe2xmGcqxiWHmWjkEeIbiwHvnPR8= -k8s.io/apiextensions-apiserver v0.22.2 h1:zK7qI8Ery7j2CaN23UCFaC1hj7dMiI87n01+nKuewd4= -k8s.io/apiextensions-apiserver v0.22.2/go.mod h1:2E0Ve/isxNl7tWLSUDgi6+cmwHi5fQRdwGVCxbC+KFA= -k8s.io/apimachinery v0.22.2 h1:ejz6y/zNma8clPVfNDLnPbleBo6MpoFy/HBiBqCouVk= -k8s.io/apimachinery v0.22.2/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apiserver v0.22.2/go.mod h1:vrpMmbyjWrgdyOvZTSpsusQq5iigKNWv9o9KlDAbBHI= -k8s.io/client-go v0.22.2 h1:DaSQgs02aCC1QcwUdkKZWOeaVsQjYvWv8ZazcZ6JcHc= -k8s.io/client-go v0.22.2/go.mod h1:sAlhrkVDf50ZHx6z4K0S40wISNTarf1r800F+RlCF6U= -k8s.io/code-generator v0.22.2 h1:+bUv9lpTnAWABtPkvO4x0kfz7j/kDEchVt0P/wXU3jQ= -k8s.io/code-generator v0.22.2/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/component-base v0.22.2/go.mod h1:5Br2QhI9OTe79p+TzPe9JKNQYvEKbq9rTJDWllunGug= +k8s.io/api v0.22.3 h1:wOoES2GoSkUsdped2RB4zYypPqWtvprGoKCENTOOjP4= +k8s.io/api v0.22.3/go.mod h1:azgiXFiXqiWyLCfI62/eYBOu19rj2LKmIhFPP4+33fs= +k8s.io/apiextensions-apiserver v0.22.3 h1:bKku7MqawIbtTZc084BZoMV4fz0WZuvCnB5E+yrQXGM= +k8s.io/apiextensions-apiserver v0.22.3/go.mod h1:f4plF+CXeqI89jAXL0Ml4LI/kSAZ54JS94+XOX1sae8= +k8s.io/apimachinery v0.22.3 h1:mrvBG5CZnEfwgpVqWcrRKvdsYECTrhAR6cApAgdsflk= +k8s.io/apimachinery v0.22.3/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= +k8s.io/apiserver v0.22.3/go.mod h1:oam7lH/F1Kto/WTamyQYrD68fS0mGUBORAFf6x/9Mxs= +k8s.io/client-go v0.22.3 h1:6onkOSc+YNdwq5zXE0wFXicq64rrym+mXwHu/CPVGO4= +k8s.io/client-go v0.22.3/go.mod h1:ElDjYf8gvZsKDYexmsmnMQ0DYO8W9RwBjfQ1PI53yow= +k8s.io/code-generator v0.22.3 h1:24xLuKySzFl1XupMarNBkpt10q0N+73R9dF7wzJO/hE= +k8s.io/code-generator v0.22.3/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= +k8s.io/component-base v0.22.3/go.mod h1:kuybv1miLCMoOk3ebrqF93GbQHQx6W2287FC0YEQY6s= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027 h1:Uusb3oh8XcdzDF/ndlI4ToKTYVlkCSJP39SRY2mfRAw= k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= diff --git a/kubectl-pg/go.mod b/kubectl-pg/go.mod index ef5edc7e8..8c54afc99 100644 --- a/kubectl-pg/go.mod +++ b/kubectl-pg/go.mod @@ -5,7 +5,7 @@ go 1.16 require ( github.com/spf13/cobra v1.1.3 github.com/spf13/viper v1.7.1 - github.com/zalando/postgres-operator v1.7.0 + github.com/zalando/postgres-operator v1.7.1 k8s.io/api v0.22.2 k8s.io/apiextensions-apiserver v0.22.2 k8s.io/apimachinery v0.22.2 diff --git a/manifests/complete-postgres-manifest.yaml b/manifests/complete-postgres-manifest.yaml index fd3f903a7..46e79ba21 100644 --- a/manifests/complete-postgres-manifest.yaml +++ b/manifests/complete-postgres-manifest.yaml @@ -9,7 +9,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: registry.opensource.zalan.do/acid/spilo-14:2.1-p2 + dockerImage: registry.opensource.zalan.do/acid/spilo-14:2.1-p3 teamId: "acid" numberOfInstances: 2 users: # Application/Robot users diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 7d8a180bb..e91e2f19e 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -16,7 +16,7 @@ data: # connection_pooler_default_cpu_request: "500m" # connection_pooler_default_memory_limit: 100Mi # connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-19" # connection_pooler_max_db_connections: 60 # connection_pooler_mode: "transaction" # connection_pooler_number_of_instances: 2 @@ -32,7 +32,7 @@ data: # default_memory_request: 100Mi # delete_annotation_date_key: delete-date # delete_annotation_name_key: delete-clustername - docker_image: registry.opensource.zalan.do/acid/spilo-14:2.1-p2 + docker_image: registry.opensource.zalan.do/acid/spilo-14:2.1-p3 # downscaler_annotations: "deployment-time,downscaler/*" # enable_admin_role_for_users: "true" # enable_crd_validation: "true" @@ -65,7 +65,7 @@ data: # inherited_labels: application,environment # kube_iam_role: "" # log_s3_bucket: "" - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" diff --git a/manifests/minimal-fake-pooler-deployment.yaml b/manifests/minimal-fake-pooler-deployment.yaml index 574da772c..c432b4613 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: registry.opensource.zalan.do/acid/pgbouncer:master-18 + image: registry.opensource.zalan.do/acid/pgbouncer:master-19 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 15367f013..d202125f3 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -61,7 +61,7 @@ spec: properties: docker_image: type: string - default: "registry.opensource.zalan.do/acid/spilo-14:2.1-p2" + default: "registry.opensource.zalan.do/acid/spilo-14:2.1-p3" enable_crd_validation: type: boolean default: true @@ -395,7 +395,7 @@ spec: properties: logical_backup_docker_image: type: string - default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" + default: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1" logical_backup_google_application_credentials: type: string logical_backup_job_prefix: @@ -530,7 +530,7 @@ spec: default: "pooler" connection_pooler_image: type: string - default: "registry.opensource.zalan.do/acid/pgbouncer:master-18" + default: "registry.opensource.zalan.do/acid/pgbouncer:master-19" connection_pooler_max_db_connections: type: integer default: 60 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 1d4095f19..eddd44650 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.7.0 + image: registry.opensource.zalan.do/acid/postgres-operator:v1.7.1 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index 6433e510a..24d496b36 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: registry.opensource.zalan.do/acid/spilo-14:2.1-p2 + docker_image: registry.opensource.zalan.do/acid/spilo-14:2.1-p3 # enable_crd_validation: true # enable_lazy_spilo_upgrade: false enable_pgversion_env_var: true @@ -128,7 +128,7 @@ configuration: # wal_gs_bucket: "" # wal_s3_bucket: "" logical_backup: - logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.0" + logical_backup_docker_image: "registry.opensource.zalan.do/acid/logical-backup:v1.7.1" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" @@ -169,7 +169,7 @@ configuration: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-18" + connection_pooler_image: "registry.opensource.zalan.do/acid/pgbouncer:master-19" # 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/zz_generated.deepcopy.go b/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go index a98f6e666..c0be8fdf9 100644 --- a/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go +++ b/pkg/apis/acid.zalan.do/v1/zz_generated.deepcopy.go @@ -315,6 +315,22 @@ func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MajorVersionUpgradeConfiguration) DeepCopyInto(out *MajorVersionUpgradeConfiguration) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MajorVersionUpgradeConfiguration. +func (in *MajorVersionUpgradeConfiguration) DeepCopy() *MajorVersionUpgradeConfiguration { + if in == nil { + return nil + } + out := new(MajorVersionUpgradeConfiguration) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OperatorConfiguration) DeepCopyInto(out *OperatorConfiguration) { *out = *in @@ -370,6 +386,7 @@ func (in *OperatorConfigurationData) DeepCopyInto(out *OperatorConfigurationData } } out.PostgresUsersConfiguration = in.PostgresUsersConfiguration + out.MajorVersionUpgrade = in.MajorVersionUpgrade in.Kubernetes.DeepCopyInto(&out.Kubernetes) out.PostgresPodResources = in.PostgresPodResources out.Timeouts = in.Timeouts diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index af4aa6c6e..fc56dbf96 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.EnableSpiloWalPathCompat = fromCRD.EnableSpiloWalPathCompat result.EtcdHost = fromCRD.EtcdHost result.KubernetesUseConfigMaps = fromCRD.KubernetesUseConfigMaps - result.DockerImage = util.Coalesce(fromCRD.DockerImage, "registry.opensource.zalan.do/acid/spilo-14:2.1-p2") + result.DockerImage = util.Coalesce(fromCRD.DockerImage, "registry.opensource.zalan.do/acid/spilo-14:2.1-p3") result.Workers = util.CoalesceUInt32(fromCRD.Workers, 8) result.MinInstances = fromCRD.MinInstances result.MaxInstances = fromCRD.MaxInstances @@ -155,7 +155,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.7.0") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "registry.opensource.zalan.do/acid/logical-backup:v1.7.1") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupS3Bucket = fromCRD.LogicalBackup.S3Bucket result.LogicalBackupS3Region = fromCRD.LogicalBackup.S3Region diff --git a/pkg/generated/clientset/versioned/fake/clientset_generated.go b/pkg/generated/clientset/versioned/fake/clientset_generated.go index 6ae5db2d3..65d918801 100644 --- a/pkg/generated/clientset/versioned/fake/clientset_generated.go +++ b/pkg/generated/clientset/versioned/fake/clientset_generated.go @@ -80,7 +80,10 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -var _ clientset.Interface = &Clientset{} +var ( + _ clientset.Interface = &Clientset{} + _ testing.FakeClient = &Clientset{} +) // AcidV1 retrieves the AcidV1Client func (c *Clientset) AcidV1() acidv1.AcidV1Interface { diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 1d6142c01..78e0a6c49 100644 --- a/pkg/util/config/config.go +++ b/pkg/util/config/config.go @@ -114,7 +114,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.7.0"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"registry.opensource.zalan.do/acid/logical-backup:v1.7.1"` LogicalBackupProvider string `name:"logical_backup_provider" default:"s3"` LogicalBackupS3Bucket string `name:"logical_backup_s3_bucket" default:""` LogicalBackupS3Region string `name:"logical_backup_s3_region" default:""` @@ -152,7 +152,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:"registry.opensource.zalan.do/acid/spilo-14:2.1-p2"` + DockerImage string `name:"docker_image" default:"registry.opensource.zalan.do/acid/spilo-14:2.1-p3"` 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/manifests/deployment.yaml b/ui/manifests/deployment.yaml index d70885d32..865acd6b9 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.6.0 + image: registry.opensource.zalan.do/acid/postgres-operator-ui:v1.7.1 ports: - containerPort: 8081 protocol: "TCP"