From c3318a5247a10d03abeaca2e4922dc305a62a75b Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Thu, 24 Sep 2026 14:55:24 +0200 Subject: [PATCH] bump to v2.0.3 --- .../postgres-operator-issue-template.md | 2 +- README.md | 2 +- charts/postgres-operator-ui/Chart.yaml | 4 +- charts/postgres-operator-ui/index.yaml | 37 ++++++++++++--- .../postgres-operator-ui-2.0.3.tgz | Bin 0 -> 5102 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 4 +- charts/postgres-operator/index.yaml | 42 +++++++++++++----- .../postgres-operator-2.0.3.tgz | Bin 0 -> 53621 bytes charts/postgres-operator/values.yaml | 6 +-- docs/administrator.md | 2 +- docs/reference/operator_parameters.md | 4 +- manifests/configmap.yaml | 4 +- manifests/minimal-fake-pooler-deployment.yaml | 2 +- manifests/operatorconfiguration.crd.yaml | 4 +- manifests/postgres-operator.yaml | 2 +- ...gresql-operator-default-configuration.yaml | 4 +- .../v1/operator_configuration_type.go | 4 +- .../v1/operatorconfiguration.crd.yaml | 4 +- pkg/cluster/cluster_test.go | 2 +- pkg/controller/operator_config.go | 4 +- pkg/util/config/config.go | 4 +- ui/app/package.json | 2 +- ui/manifests/deployment.yaml | 2 +- 25 files changed, 96 insertions(+), 51 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-2.0.3.tgz create mode 100644 charts/postgres-operator/postgres-operator-2.0.3.tgz diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index 3a9d402bf..fe44efd09 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. ghcr.io/zalando/postgres-operator:v2.0.2 +- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v2.0.3 - **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/README.md b/README.md index a0c107078..ca33988c0 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ production for over five years. | Release | Postgres versions | K8s versions | Golang | | :-------- | :---------------: | :---------------: | :-----: | -| v2.0.2 | 14 → 18 | 1.27+ | 1.26.4 | +| v2.0.3 | 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 | diff --git a/charts/postgres-operator-ui/Chart.yaml b/charts/postgres-operator-ui/Chart.yaml index 45b2429f7..df9966e6e 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: 2.0.2 -appVersion: 2.0.2 +version: 2.0.3 +appVersion: 2.0.3 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 ced2f08db..0795d568c 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.3 + created: "2026-09-24T14:54:24.170009+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: f130d55770f4eab524f179a7316117504e7c53d063c703140f55652d8c475152 + 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.3.tgz + version: 2.0.3 - apiVersion: v2 appVersion: 2.0.2 - created: "2026-09-01T16:41:12.626492+02:00" + created: "2026-09-24T14:54:24.169638+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 748ca68be5f190ecf2f80b547f3d3d4e473b9ea0735feb7f39692eb22f682d8e @@ -26,7 +49,7 @@ entries: version: 2.0.2 - apiVersion: v2 appVersion: 1.15.1 - created: "2026-09-01T16:41:12.626235+02:00" + created: "2026-09-24T14:54:24.169325+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 4bbb750934366038d692711f924151182b7be131b6822d011f5a4e51cf609482 @@ -49,7 +72,7 @@ entries: version: 1.15.1 - apiVersion: v2 appVersion: 1.14.0 - created: "2026-09-01T16:41:12.625981+02:00" + created: "2026-09-24T14:54:24.169091+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e87ed898079a852957a67a4caf3fbd27b9098e413f5d961b7a771a6ae8b3e17c @@ -72,7 +95,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.13.0 - created: "2026-09-01T16:41:12.625703+02:00" + created: "2026-09-24T14:54:24.168861+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: e0444e516b50f82002d1a733527813c51759a627cefdd1005cea73659f824ea8 @@ -95,7 +118,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2026-09-01T16:41:12.625439+02:00" + created: "2026-09-24T14:54:24.168634+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: cbcef400c23ccece27d97369ad629278265c013e0a45c0b7f33e7568a082fedd @@ -118,7 +141,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2026-09-01T16:41:12.625156+02:00" + created: "2026-09-24T14:54:24.168269+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: a45f2284045c2a9a79750a36997386444f39b01ac722b17c84b431457577a3a2 @@ -139,4 +162,4 @@ entries: urls: - postgres-operator-ui-1.11.0.tgz version: 1.11.0 -generated: "2026-09-01T16:41:12.624491+02:00" +generated: "2026-09-24T14:54:24.167574+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-2.0.3.tgz b/charts/postgres-operator-ui/postgres-operator-ui-2.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6ef004888b8db8e0b0a68dd53cbbb71e26ced8ff GIT binary patch literal 5102 zcmVDc zVQyr3R8em|NM&qo0PH>Oa@#nP`OT;3m3QlAvO|ibNKsPlY@NsPOu3SAT>i-1-qw~1 zB%2b(6v!b!C7#6h>{kFtiPVRsBwiyFIQXOEF=+qV0jr+#hQUj4QEefOE;yT0!_e$RHF+43iN2KJ-Wz9W@fkm8yB z*>$Zp?hlekPTyd`X~sq{cMX!~i&xjOt)3Ahj|!R#_35JG7IZeSqsW8-5EDT{!qFt$BqqmVP9ubpV*&Us$ATh@(3oa3 z9KlqGoR7NQ2^G^aw4!X*{hg$Q#aVZaca2-Tdz%$89~mapxrPagd=pA)m=L8|8Jmm< zI!6gfM3FI>!E>5s#*9!V2xV9(L^vZf9Z4jNXJrxLe^vxoF&Y4jNHYIhe=_vjrdeg^ z!V2X_HEP}-kjEYWjq`s_(h~Wj34k5*KX3wjG5_6OAm_jD`-l1e6zK?FU_#1NfF5); zT{kg>WgNlvlyabQqW|Og=T~Nu6*D3P#*okyCBO@eQc@tyNkK`NA_tK{h>#P`F_uCh zgS)IOK;SG-i9l`{MuB-sBXW|JOpL%Wj3X&65;`dhgpvZCkqH{=@5lfsa6-8#?nW?~ zMukN)^)1gh6`B0Hbt1_*2q4HrN;)-_0P-?TFS3+IcO&SWCFhyAD3Bu)9ZAM(CH6>~ z-T}`sqRAZ)2Bav+9b}0n?4nH5D~t*hT=qcq2(yw4+431-r9u!DNQCMG5K~lAgXbht z-Bw_-6m+*`hy_F0H#FJBuN0GzZDT*l;aQVaW2^3g~FW}RxOk>%$s!0Y^Pa_aT ziH1=L^y4T}L%IbmfvXnWZp0GLb=7yW|7Aa};1HQqBbEX^OMqnpI0_&vu24z#mB_vW zqVZ4;6J(M@Fou#-Hc@z!GEG%}&8fAdZ?mUVe_6cj9b@q%o1M}b73v8f%F7YBwmnmC zGn^@Ab#41+su=jU5_t>OS%q~J>}vI==Wn=yY|eE*pZ$FC`ttht{CWhxOlgV>-3O60 z>QqnMoYgM{0%bAg$YNyTI}p_bmp!o5;30~)h)m(XIa4SWSdTBxEI4Bv3!zHY%Dg#7 zO<Hknnfg?W?YO0_Q2^Fuqbw%(-!2~#Fi!OW{H!uQ04f8S;VROM=RsPV`bHOOxZDv(JkrF3Cf2rcPnL~{g*V~n9g2>_el|om^cDTAYd-ZyJ)f@kCeDd<h|eQ&|s)>=xPI8zpb?ZW{$n`mRn-E>Eu;KwpH$%~Uk$d~y2Y@y)C2@#X1H zXRpt{2$35|*v23~+?>2Ty>2te-*^wgGP*?}^=k~_T}!h6eN8P@dZ4xiWNXA-E`?wv zoX;+#7|gRmjG&{%w^G>>t%R(VN3BpOhx07Pi%jY*Rj!_=)huqQZ&rgQ6w|ngyPYG^ zDkGuB@f~CZ&;+P}DUo@)2c&951_TN@=V!Wp%2j75>^0gE^jzO{q=IWp>~)!aa|V>j z@#L1WRS;v0N6s_KOTQ+gXpYT-K~Wtf!}6GL-gPQ;Xt;GdmtM~XR-$`>v0 zz^oWpqb;c^QeHFf0)NHIrba&_HG1O+@`7ds6?dT8rIs!YV_zyTqXub{ZydpKl29hg z>IF{>gmXGkYQi{z%a5?g)o^MZr*TM=+msB^Jt9>tCSkEjn4o6;#i$=f6=O*5hE$p> z{L^SEITq%mq%n47=kbR@C)fXDMp3Ke4_oeIOONQ0*0q8oI{vS&#ph zUiTi7P83Y(>wUBB&l92kUUq-u#8_&V^{D()*+k3A;gH39D!#ugqI7Mr5mqS z58An+ynGmIw+ZF&O|>|BaegIX<&s1$FTS;mvjhq)AvKc9?ZGQ|oc2e`-00ri$G&VYa z?LcST`KXcm(gOGkrycsga&Q+}il4q6yhHyxe&28Ff7kB2-a-FAMSB0fsTqopL{_y? zc7Ja)gF{pnDaAA^=CF}7SZ0O%_|6nfA1xPLNvv6X7OoP37&n*R}yN0V4ac~VPt}_8Qv*;3$0S^Qf@Cu z85e{_*e-Tn3FD$nb=(Na=}$#g=Bg`9AQ6o%wGUy%S#wiMXV;DRO?lPkScFxE9%1zu zV~W+|1cmxdDc27<5z$mVm3b@+tP#-ZY^pV0scsGNTZMQpY!y>HgmJxF@|>?@iZM^K zyBRXUHD*BsCS}S|d=&OgRJQj0wqbhzUMZcgOXut_|3k`R$|j$n26oB+p1tD#ab3sj zALRd2q<@qA|3Nd$K@B{r8pu+tb_Q#i^uV|n0PAY`^GAV~;jb78rH(ZIb_mX+3^ZE? zO>A>3ex2g<50`ex|E1FWjA+nZ@t?lmd*=9V&viV{?FZ8S_dNR`|DPf?MZC0|meTyi zV(42^{QtQOZb-KsBsRP)`wKOmW2A#zRp1oYptW{x1j=fZyx!B*fr8Ske$^PCM;xI~ z>8ZMgin<09$&|JTeN<9Eg;*6m@!r(2G(HN7W%zj-w63mU+^vQHF9FwsgKGqf25rOf0d_VMU>UZ&?5#Tbs8cnf zv&gCF89}GP`|6Wb$9}{8eRo4<9Rv>d_oKCJK_+m2zgEpfBLaM_%rZQ@$y_>YsnHhQ zo<%El9MHfXI4uZ(yvRfrW$6ey*C!WEQVJw7WytwOk%idCJQX7U3B_m?84=SFbh=X{ zshD?E5#z$X_47j_AXPC^B1zJju&6f1jlXn zBC`2vA67hZd~q?pxqP+Ss45t(F-*wj+|r@MZQKoHuP;t7kFQ@}j*lBymR(&OpX^)DN+9&^YEF-TzS@HOgSqk@;Gb(>G)ESMP4JtF<5ws` zGUMN_5>OXa;=3mCyDivT0&b;zO1Rii;kJg$^sgOUb#pd8d42xl*-!iT%li$)b>b}I zYCEe9T2b*`yM~6FZ1lFO{<1{1jI3%gm;>AAY7!l(M5%`weHS1BqlN$?E2G+;dw3tcz z0GAw#y#S+(i!p}0GXmSPhrYWVie`BQX7{&4iD{9QlWATG4eJFD07qGY8q5#;?O^(J ziUxGN-WJfLK&*-E*|xnMs70gWZbqlJ+-rOTdmBOx*23s+gIzky$JL&u#Jx$j0Cb$e zMz)qY!PcDq)*OFpj<-79VNF)ZbibyK8+PB~tih_>X>R#1fj-o#e7oY_AORQAtj4<0 zSm$jt7F(gI8wxk`HzH_8mToBD$lg$VrK{GWg_qTA2qbRkxvd2o9rdM``Ww>@|4$t_ z{#i$XcldvLp4(fC|8fuh|0hYSYs6~2tCI%Hc%Gz8)AK5(XYVMJWpO@_)S-*f_p5;? zmO4sNg_$T?IL_u+oMf|{6bPNafA3h%(6l>XosgV_G^K(fw_cVZR<0}SCo1Y_5OZbU zf}yC6OEvZ@7U4i!s`DPTx)23%+962IBKS@qQwpaItEGl^#+~VL*}R{!9Gt!VOb0*S zy0fR|eX{EDSwCg7+0)}K5m$q!Jv>|H*y_O=U3&evP17s!K+#6ETPhT3)gYk&eZ54OryaS#tt-Xf|#m?Z0vPwS+qBgKmb z=(9>Khh9~S%4r)xX61oVZC*2v9u#DM-dnUZk;>|>)fu{r0u%bKl^K%g7FoRNBx)SL zYo~3(qn(r&X@dpI%2|koE?hMM4$kxBBe?KKs%t`AO3b z`>$5g|4#eQ={x;3`_DPpe@~KH_dnHJf0b@M?E5`vFVu765$%O1+FfjHUzpWSLBq&s z8RpAnwsPXGZEaMh24OLLgTJleP$#)N^}+4VTG+X@IF8+N2wZHVX&rpcxL9toT%TO5 z?U8=U#^58dyFUNEp;4-nD`ELh~y%PWDxc$TVuO~_E_`j9I zAe$orSJgxv`1QE4euq`;9@6RaW8gNANl?4HOifIayGz)d?5oMF_pukjJtf|(k zjqilT#t|@_=-act$<-njV{KIZ>01k4v-A!!rb|~pi>~@xf0$0X@=yKB=d8O#Bp0M*uFk%4lCFj;vR@5r&Z8{G?jL9gxpDqW z`}EyY-T&*@j_;`ZKRqw#`>wkGvlkrVKc6J6D0XC`pxVc_i8Jc+HLW{?E5+5iH&}nI z?r|JJ$F<$QX%9`?xpw*^&lx$c)pz^e(EY3Jj%-_RbN)N-8diAsx^GxP(g|`gg1{R@ zq(2DJPn@BRQQ{^8JM_IE>BYU+LoeusLnL<4^Aik%q&MsjT?}0}=?~m^ppkvT1;(K7 z?5Zv?t`}(4MaKHI1*qjiGi>s*8>Fo4(u_RG=tr2juO%}Z0OP@MUtWU(Oo@H-jR?UL@Fl%pLW)1A#SIVrm=SfM~4}CisxVG)a4heca z-wg&%FY=whACkTsM3}^}W7~d&BrD}lGXA1UnjE?&re);;MtxZxnxL!Vc^@O*B=gp-k|S!UeX(ewnL)8 zbwekJ243j(9M2E@ARs+*uvwpqS)DDCRkGmX-zIEjK+hX4?9eam=s2W9I;2B7q*nUh Q00030|C*U@`T%eM0A?fWT>t<8 literal 0 HcmV?d00001 diff --git a/charts/postgres-operator-ui/values.yaml b/charts/postgres-operator-ui/values.yaml index 5611a9fec..098b160a1 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: v2.0.2 + tag: v2.0.3 pullPolicy: "IfNotPresent" # Optionally specify an array of imagePullSecrets. diff --git a/charts/postgres-operator/Chart.yaml b/charts/postgres-operator/Chart.yaml index e765b8896..b2da5c16b 100644 --- a/charts/postgres-operator/Chart.yaml +++ b/charts/postgres-operator/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: postgres-operator -version: 2.0.2 -appVersion: 2.0.2 +version: 2.0.3 +appVersion: 2.0.3 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 40994c4d6..5f48d89ab 100644 --- a/charts/postgres-operator/crds/operatorconfigurations.yaml +++ b/charts/postgres-operator/crds/operatorconfigurations.yaml @@ -98,7 +98,7 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: - default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3 type: string connection_pooler_max_db_connections: format: int32 @@ -606,7 +606,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3 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 7f90a6e04..f2a554117 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.3 + created: "2026-09-24T14:51:59.555703+02:00" + description: Postgres Operator creates and manages PostgreSQL clusters running + in Kubernetes + digest: 1669599940223a93c128198eba87aad71ee004260b13a5cdc2c62c113df9564d + 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.3.tgz + version: 2.0.3 - apiVersion: v2 appVersion: 2.0.2 - created: "2026-08-12T16:12:26.118121+02:00" + created: "2026-09-24T14:51:59.554276+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 1edaea3e18156f2e87586c12940ecb4607ab1d9f55aeba0faf3df39f57b96acc @@ -25,7 +47,7 @@ entries: version: 2.0.2 - apiVersion: v2 appVersion: 2.0.1 - created: "2026-08-12T16:12:26.116697+02:00" + created: "2026-09-24T14:51:59.552942+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: bb54c367441fe36cefc08d1c83e52e4baaea3522e32da14d40ea45eba4669ff1 @@ -47,7 +69,7 @@ entries: version: 2.0.1 - apiVersion: v2 appVersion: 2.0.0 - created: "2026-08-12T16:12:26.115528+02:00" + created: "2026-09-24T14:51:59.552033+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 2622899b573e4c46cd2a70677d5941a9e5da24c7db2a0ff774ddc49ad9d5c544 @@ -69,7 +91,7 @@ entries: version: 2.0.0 - apiVersion: v2 appVersion: 1.15.1 - created: "2026-08-12T16:12:26.114099+02:00" + created: "2026-09-24T14:51:59.550855+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 9f3edc3d796105c02c04eaae28a78e58fb08c1847a9de012245fd6ac2c0d2c00 @@ -91,7 +113,7 @@ entries: version: 1.15.1 - apiVersion: v2 appVersion: 1.15.0 - created: "2026-08-12T16:12:26.113403+02:00" + created: "2026-09-24T14:51:59.550291+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 002dd47647bf51fbba023bd1762d807be478cf37de7a44b80cd01ac1f20bd94a @@ -113,7 +135,7 @@ entries: version: 1.15.0 - apiVersion: v2 appVersion: 1.14.0 - created: "2026-08-12T16:12:26.112666+02:00" + created: "2026-09-24T14:51:59.549719+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 36e1571f3f455b213f16cdda7b1158648e8e84deb804ba47ed6b9b6d19263ba8 @@ -135,7 +157,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.13.0 - created: "2026-08-12T16:12:26.111869+02:00" + created: "2026-09-24T14:51:59.549128+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: a839601689aea0a7e6bc0712a5244d435683cf3314c95794097ff08540e1dfef @@ -157,7 +179,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.12.2 - created: "2026-08-12T16:12:26.111041+02:00" + created: "2026-09-24T14:51:59.548463+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 65858d14a40d7fd90c32bd9fc60021acc9555c161079f43a365c70171eaf21d8 @@ -179,7 +201,7 @@ entries: version: 1.12.2 - apiVersion: v2 appVersion: 1.11.0 - created: "2026-08-12T16:12:26.109758+02:00" + created: "2026-09-24T14:51:59.547337+02:00" description: Postgres Operator creates and manages PostgreSQL clusters running in Kubernetes digest: 3914b5e117bda0834f05c9207f007e2ac372864cf6e86dcc2e1362bbe46c14d9 @@ -199,4 +221,4 @@ entries: urls: - postgres-operator-1.11.0.tgz version: 1.11.0 -generated: "2026-08-12T16:12:26.108838+02:00" +generated: "2026-09-24T14:51:59.546372+02:00" diff --git a/charts/postgres-operator/postgres-operator-2.0.3.tgz b/charts/postgres-operator/postgres-operator-2.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9f6cb86f6bc1de899de0349cbd90100dcd5dfdf8 GIT binary patch literal 53621 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

flFVDBg=`dHD{ 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�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///logical_backups`. The default image is the same image built with the Zalando-internal CI - pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" + pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. @@ -1094,7 +1094,7 @@ operator being able to provide some reasonable defaults. * **connection_pooler_image** Docker image to use for connection pooler deployment. - Default: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" + Default: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3" * **connection_pooler_max_db_connections** How many connections the pooler can max hold. This value is divided among the diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 53d6c71a3..0ee789c2b 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -17,7 +17,7 @@ data: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3" connection_pooler_max_db_connections: "60" connection_pooler_mode: "transaction" connection_pooler_number_of_instances: "2" @@ -86,7 +86,7 @@ data: # logical_backup_cpu_limit: "" # logical_backup_cpu_request: "" logical_backup_cronjob_environment_secret: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" # logical_backup_memory_limit: "" diff --git a/manifests/minimal-fake-pooler-deployment.yaml b/manifests/minimal-fake-pooler-deployment.yaml index 933a9145c..6db81d1bd 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: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 + image: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 40994c4d6..5f48d89ab 100644 --- a/manifests/operatorconfiguration.crd.yaml +++ b/manifests/operatorconfiguration.crd.yaml @@ -98,7 +98,7 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: - default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3 type: string connection_pooler_max_db_connections: format: int32 @@ -606,7 +606,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3 type: string logical_backup_failed_jobs_history_limit: default: 3 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 7264256c1..31bcebfba 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:v2.0.2 + image: ghcr.io/zalando/postgres-operator:v2.0.3 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index c3f379f80..07af921f6 100644 --- a/manifests/postgresql-operator-default-configuration.yaml +++ b/manifests/postgresql-operator-default-configuration.yaml @@ -182,7 +182,7 @@ configuration: # logical_backup_cpu_request: "" # logical_backup_memory_limit: "" # logical_backup_memory_request: "" - logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3" # logical_backup_google_application_credentials: "" logical_backup_job_prefix: "logical-backup-" logical_backup_provider: "s3" @@ -227,7 +227,7 @@ configuration: connection_pooler_default_cpu_request: "500m" connection_pooler_default_memory_limit: 100Mi connection_pooler_default_memory_request: 100Mi - connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3" # 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/operator_configuration_type.go b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go index 20e3efeec..5af67982e 100644 --- a/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go +++ b/pkg/apis/acid.zalan.do/v1/operator_configuration_type.go @@ -331,7 +331,7 @@ type ConnectionPoolerConfiguration struct { Schema string `json:"connection_pooler_schema,omitempty"` // +kubebuilder:default=pooler User string `json:"connection_pooler_user,omitempty"` - // +kubebuilder:default="ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3" Image string `json:"connection_pooler_image,omitempty"` // +kubebuilder:validation:Enum=session;transaction // +kubebuilder:default=transaction @@ -352,7 +352,7 @@ type OperatorLogicalBackupConfiguration struct { // +kubebuilder:validation:Pattern=`^(\d+|\*)(/\d+)?(\s+(\d+|\*)(/\d+)?){4}$` // +kubebuilder:default="30 00 * * *" Schedule string `json:"logical_backup_schedule,omitempty"` - // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3" DockerImage string `json:"logical_backup_docker_image,omitempty"` // +kubebuilder:validation:Enum=az;gcs;s3 // +kubebuilder:default=s3 diff --git a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml index 40994c4d6..5f48d89ab 100644 --- a/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml +++ b/pkg/apis/acid.zalan.do/v1/operatorconfiguration.crd.yaml @@ -98,7 +98,7 @@ spec: pattern: ^(\d+(e\d+)?|\d+(\.\d+)?(e\d+)?[EPTGMK]i?)$ type: string connection_pooler_image: - default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2 + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3 type: string connection_pooler_max_db_connections: format: int32 @@ -606,7 +606,7 @@ spec: logical_backup_cronjob_environment_secret: type: string logical_backup_docker_image: - default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3 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 c36dc4b30..bef28caf5 100644 --- a/pkg/cluster/cluster_test.go +++ b/pkg/cluster/cluster_test.go @@ -1693,7 +1693,7 @@ func newCronJob(image, schedule string, vars []v1.EnvVar, mounts []v1.VolumeMoun func TestCompareLogicalBackupJob(t *testing.T) { img1 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" - img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2" + img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3" clientSet := fake.NewSimpleClientset() acidClientSet := fakeacidv1.NewSimpleClientset() diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index b8edd399c..4c683b637 100644 --- a/pkg/controller/operator_config.go +++ b/pkg/controller/operator_config.go @@ -184,7 +184,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur // logical backup config result.LogicalBackupSchedule = util.Coalesce(fromCRD.LogicalBackup.Schedule, "30 00 * * *") - result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.2") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3") result.LogicalBackupProvider = util.Coalesce(fromCRD.LogicalBackup.BackupProvider, "s3") result.LogicalBackupAzureStorageAccountName = fromCRD.LogicalBackup.AzureStorageAccountName result.LogicalBackupAzureStorageAccountKey = fromCRD.LogicalBackup.AzureStorageAccountKey @@ -270,7 +270,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur result.ConnectionPooler.Image = util.Coalesce( fromCRD.ConnectionPooler.Image, - "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2") + "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3") result.ConnectionPooler.Mode = util.Coalesce( fromCRD.ConnectionPooler.Mode, diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index e5ca0a36c..718b5ba23 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:v2.0.2"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v2.0.3"` LogicalBackupProvider string `name:"logical_backup_provider" default:"s3"` LogicalBackupAzureStorageAccountName string `name:"logical_backup_azure_storage_account_name" default:""` LogicalBackupAzureStorageContainer string `name:"logical_backup_azure_storage_container" default:""` @@ -158,7 +158,7 @@ type ConnectionPooler struct { NumberOfInstances *int32 `name:"connection_pooler_number_of_instances" default:"2"` Schema string `name:"connection_pooler_schema" default:"pooler"` User string `name:"connection_pooler_user" default:"pooler"` - Image string `name:"connection_pooler_image" default:"ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.2"` + Image string `name:"connection_pooler_image" default:"ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.3"` Mode string `name:"connection_pooler_mode" default:"transaction"` MaxDBConnections *int32 `name:"connection_pooler_max_db_connections" default:"60"` ConnectionPoolerDefaultCPURequest string `name:"connection_pooler_default_cpu_request"` diff --git a/ui/app/package.json b/ui/app/package.json index e6719a177..a915197ea 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "2.0.2", + "version": "2.0.3", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index 5bbc047df..6949ecd72 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:v2.0.2 + image: ghcr.io/zalando/postgres-operator-ui:v2.0.3 ports: - containerPort: 8081 protocol: "TCP"