From a2585e3ee14759194daa80cc34fa2d87fa111138 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Wed, 29 Jul 2026 10:51:00 +0200 Subject: [PATCH] prepare bugfix release (#3147) --- .../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.1.tgz | Bin 0 -> 5091 bytes charts/postgres-operator-ui/values.yaml | 2 +- charts/postgres-operator/Chart.yaml | 4 +- .../crds/operatorconfigurations.yaml | 4 +- .../postgres-operator-2.0.1.tgz | Bin 0 -> 42633 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 +- 24 files changed, 64 insertions(+), 41 deletions(-) create mode 100644 charts/postgres-operator-ui/postgres-operator-ui-2.0.1.tgz create mode 100644 charts/postgres-operator/postgres-operator-2.0.1.tgz diff --git a/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md b/.github/ISSUE_TEMPLATE/postgres-operator-issue-template.md index 8e676f799..18568899d 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.0 +- **Which image of the operator are you using?** e.g. ghcr.io/zalando/postgres-operator:v2.0.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/README.md b/README.md index a61af4568..3454ec41c 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ production for over five years. | Release | Postgres versions | K8s versions | Golang | | :-------- | :---------------: | :---------------: | :-----: | -| v2.0.0 | 14 → 18 | 1.27+ | 1.26.4 | +| v2.0.1 | 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 7dba22103..759738933 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.0 -appVersion: 2.0.0 +version: 2.0.1 +appVersion: 2.0.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 98bd89a9a..ff4456cbb 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.1 + created: "2026-07-28T19:23:51.430413+02:00" + description: Postgres Operator UI provides a graphical interface for a convenient + database-as-a-service user experience + digest: 9bd0cfb82bc9e849fc01fe5a2d14e42941d102d719ff6a182a5a63237138c2a3 + 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.1.tgz + version: 2.0.1 - apiVersion: v2 appVersion: 2.0.0 - created: "2026-07-28T16:30:58.763571+02:00" + created: "2026-07-28T19:23:51.429462+02:00" description: Postgres Operator UI provides a graphical interface for a convenient database-as-a-service user experience digest: 80098eb9290d77fcaaf813347386c3b7d34de0d4e846b50ac177d4ac4a9e2ecb @@ -26,7 +49,7 @@ entries: version: 2.0.0 - apiVersion: v2 appVersion: 1.15.1 - created: "2026-07-28T16:30:58.7632+02:00" + created: "2026-07-28T19:23:51.429214+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-07-28T16:30:58.76293+02:00" + created: "2026-07-28T19:23:51.428962+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-07-28T16:30:58.762624+02:00" + created: "2026-07-28T19:23:51.428701+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-07-28T16:30:58.762247+02:00" + created: "2026-07-28T19:23:51.428173+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-07-28T16:30:58.761377+02:00" + created: "2026-07-28T19:23:51.427892+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-07-28T16:30:58.760884+02:00" +generated: "2026-07-28T19:23:51.42722+02:00" diff --git a/charts/postgres-operator-ui/postgres-operator-ui-2.0.1.tgz b/charts/postgres-operator-ui/postgres-operator-ui-2.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..fc12a17ff9192143029b78468bfdf8b26e3e41e4 GIT binary patch literal 5091 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

`fb(DVxY55-888FT>}Q8ouY}?$ymt_Z8pA z^W}~n*d2V|)pwKYhR^-;uCC3^oF3or%}c;*jnno03{BSdX%Fx9m-Mvn^TzE5*x=JZl>{cf`m>T=NH%=SN6TK8V3Tb;gK8orG3*Y$U%%@P3(0Qvw8vO9v>JY zHgXHdu;`^S#Bf+jt1IK!a4yI#XOd*&(gQR4c0Gw~`ou4PB@7BXIv3&uLCX*q7GyB} z;1llX(M$%YltNoh*VsFVRhlT|5HDy*s3~Ee6jy*)+)`zTS)RlMmm_IB>^iU})Un?b zc`jE^iN5A+WZTX%xUrVPDT1VwgB%fitg0{UtlU~@{INxZWTb^N|7xQeHJy%sPyt6} z!?_VW-5Ei7iqlc7apMVPoWwi9)aZP&f&Y(<4MZp6A6YFi%p|E-8mbY0b%V#bKxz;$ zD0Z^n$cwepYZX4uu=~dZlv037N0nHPii=3EeB>hOd2t2)#8`8z-A*er6EisPT_A5g z$)(Z1)o33nTnZ~xMDc+%@lDMUO1)sQ*?AGAQ&(wL94A^XME}xBp66T zfJN?@Pd^1(ed;UXUfD(RfT^BCS4$SpaI7~nN`A_D3*0_i{oJ*e5>#|5a#(4%6s%<^ zseKm6rN#n@zKpBaT>FCRl&Udk%`CI;av5Bi2SpZ=DEvWi7Pv|jn;QynYpD!`ZHK?w@{?*=lV|E_-_!7GU`9u}yeAU@5BHQTklm*?^&q!h46O2i%6$KhT@2=c_o1 z*JTqAiGl#C?VDN&@xSvve^{z@+<~Zrup&UA)jUtNc(lE{8H-vy5TvrL#K^VOT?C1u zh)h^S4T77N_dyF8mvkiDBn^d7&_ySDhl_O<49P z5J;DAlgEL0RW1X%>H5t+bOk+*{|9BSPWHS$F^V+-O%dF|omE*^8U@8{2@i!!FG3e@ zgDQkY<-=6++P-jB{b>mGh2)6OqcY{+;2zz=d7RJWfOORJybbV&Fz?ui8%HmoNAiRx zYBVu30?6{Mg)%3kA^dB16d4bSyio5P4;Hx>MG4$p0$Uw&p>CFUR2dp&Ul=#$k#$Kj ziSam2!V!hGzRtW$0h|%B)j46 zEyyE?bqTy<=&$_^fF=SwJ@dcc99^94Px0CCW_Nk}+H1V`k){Y!&lx8b``h$4;TsluF6VCmSj>C?#a4oYS`2{4COg&Acv16F+0#Q9U^~4;6|}5K6`C zfn*8wkhNJKESy05^4HCNfV|@PTvq9QeM_M!U&7_`!d|_yBFlzn`c7=r(bBf6#OknF z_Eyv8f`jl=1@T_LtwxFLG;;-L`3sp%?qMJOhw69-4i@O62b2;SSQ>*d(;Qg~B?q!| zox|d$?fj%}>jyOQ!#!FHbXx<$F2tRDgfWR_@WLeHUV51u)_;9PMKh$nqs)t(RmHGM z*CS*8y*<9`dy9b=a>=BY9dwp|@SMAQ?yUITS+{wdk1`7g$%y!_nHnASJ0wE|lZ%%Y z@wcfEYGZ>k?l5#e3QUqUT2+_yKTkxh2s0AObtlehceu?PqQ7T53M6=hPC%)==Ok2j z$oc~O;q=CHl(i$tM)-V%!j{bToKZT;3CZ1U)DEE_iIf_62c;h*zdrhP-7Ujg-u?iVn(^b~~ohRex?0f2`ip zMTWrJfgu@@gt8|Ckaliwz3mc1vLX>&EP;m}R^em!pfKk#3vK8PsKMV+J|2==DCP_koGKhpn2t5{)hI&HCMk%-MFaC{2!b=zxWBi%bIf!o5{%{h<2iZ)vvo zW$sXleF5Qi;Yz>azDkDa`S(~H5I^{YQ(xqcv8i)cdQ7($>>DYDnj016llLM5SV>bO#>yP3M*^VFYuZB%JEgLO_2CHG6%MnNN9uBQ)fj}+9KR)w3 zT0We$3eiOL9y_DtQt39v^&vsxDcpuhuJpwjR#GD%XwdDdmvF-ReIf1*Sd!@^qkY$(`&fqqT&((3l`ITE!z0iUfC6_154|_ zry^{s!{d)aL5S8=6z*s^jN7Nh&gUcuCCg5RVAGG$V;MKR-tuLx3K}RBGa_VCHKuDb zk^)`oT(|Aj=(YzKI(%;#iIsuqmh6a-CoVD(XcyCSXK6v&;-^Nso z7*QjH5&(TCs7`~P_JeB*mETQOQJWKY^KEx)bQIq`KoG6*Yt6{RN$;ID5{O#4Fo)-v z5%F3o!DCx`f=G$65x=?BFmwqTk_?%O)~*>svUT1<&iL(irb>k!xw6b#g)tQCh%Nae zIpC4BMY3}tGAB`;`}$xj<5Ke&WO6C0NI0|~f(GML`HMB5&tvv)$C> zyqZ4YH<>#;_S(8m&cae;tN*uqeHP~WI4Gs5CfE7DwU`di?f>AN&7W5mW-gC|6Iwre z_0B(_HT>NCziM*a%k3U}{|7UE7rGPtxvXCT{Qkd6*5_wo8UMHHc!G%a;ohhd)J)?C zJcCi!hhogkY6D$xWJ!yIh$DgjwNJMT8>XSEOm2+w4j;uMpHMrb0NYo5Q#+1ssKe5z(@#tn`+jf zbLfWwHC~J)pe~6sDXl`;Fp^eM{wgvWxYM>}spA6{%+Dd-ifEQC8b4g!U~!w^m(wvT zo9J@gYfkp#D`ecjFfmI0vFxCYAXzeH*k&i|0if9pBooXh$PbiY7RvHQ7(Ug2|Cg2o z)xd%Vf`BWP=e@GQ-&_$3O}w{=B0S8t8OJN$!Negc<@->2RIvsG>fvDh5^G+ zq`z76b}+%aRe7@DfBoCVg2_AZo~Bv0O;J#C9j+82qlB@e(>UkQZK2zU0UaJ$qMxjB&t*LN$IA6nl5w7rpuS{=r1@Oz$|d6!X&f zCUu>E6Gh|&bzoEYlsg3p#_GWTqp%p$juoBUXPHMm>UJiKEhCr^;N!isx&jY4T5#&h zJo@|RWwp$1AK4bggYH(Ys`r&PI-e2#%I5VCFDm|ud;Coy$1^1L2anWh7TxM8QQhkz zhF#URlg+Or(6!aIhqd&d)5h3Ia?Hr2n1mNQ&objB^m&O8`riizl)M!X-?ce!8I)-GFc0nJ`4D4q?mEiKczqMj)aBg?tgN_JkiX4y#e$kbjS7}OQ1ZclvqH#+f zaYXCj@CV>OI9VR@p9tw7jekh)zMJPck2pW{80oBvxvU$$w78W0h3B@Ir&$;O-6ATJ zx`@|TRE^HS1L&UWW)4DSDp8!8Z`InQ7iE+HLxrCBh9v(W>v!6!os<@NemQ(mjvkvX zJu1=+iK9hLF)z=$W_)Z;x_{&eq^XRl_HiE)TENdm&FXNrURucTX%zUwXEH%+fcqFB z^yjS#OK*d_-XE%QkTvQElV8ZBTBJLlAmD^~g3(^o3gaXa5AI*75EE_zdX26X80qPz zxLagN6sg;q&A7w%>x$vfe!pYYe9V*<$s`m0q}zV9Swq35`M|;{WDi6qKgTYm<%85O zl~5&tF5UD8Qqw^T^9+x6TIEylA!cJU77VzqBRiP@7Nm!4?F{8UPL;8tLDZ{#`P7%p zU3=kv0Ms9Ap2jSCC$sSdabSuEwtbwZ!o6sf`Mc_h9lb~YyZj1>2T*zYYf z(E7oNMKY71oWxi;hoVnce_I`{%3+{~Wb-L+(9r~AhK+;i%6_+_6TJur;|>!B;b3|h z#+6`!4d{Fk!`#6ku)~^+x%@-L#K~Iz$O6tjy~Du5{i9&iy{Yx60)K&mO73}vY2F7@xPQP=tA}Ir)(q{@Op^01Pf~SKSfvhiMHZk9^N3!1)zhM(|HMbuO;F+F zAg$!uEZXBOtpxC0TxP4Uj)UM`wqO<5-yOdwZALv;ZDOYRhA>#RZxgJSwnt&Ne}^6y zBgqoou(i%j{7_1W`mfCUF_nJ@w<0+wAcLHufe_8+xcYK;fZLYvB&hXQ5~A+#cCpN8 zyRLJK87=2VL!LzGB&6?iCzVxK-%*At2GO$vq4I_UlLvlYJ%GqC+g6}4oWg9)kHZ{z zI&U51T9Q%_<`(OZFOgHJeM(hvVD z%6Rw6wBdn&k?uuT>dfXL65|RLZBH`GbK><{B`0Qf*ZfOE1AjO}Y=Ls*1f!kfJFDXY z_hH0)c5(fVlN|PM$Jp4gR<>d_3pmSybu-spFy@L6Ff$}GcI);Zy_AIXN^QkUO&LnR z0UK^iks~2K)tC=$CatDQ^ATv7o8ZVgFD0#RY;dN6&)$d{IBtT=ZE(UfGkeQdFjrL4G%21SQ*;7DU{WN>ds4k6gG5ci&k z5Ue81s^gCOt|zlung$lgo!x?+;I(89ZXPIc*it%o%jVgvNc0DO7h9}Y#0MWez(yHu z5|a+>t3NK8W8h`@?YfQ(Ez5_5%9;BW^z81?Mb(6nRBjk{2T!B7%PX3tCZnoH)g_YX z*Ub4|{HU)!UsHN6F1tTSKRm88HgyM=rT8vCpLf4M+NN-hFhC+0VL~al8oB%>KT9)K zBfejLeHyzy^O)w?D&4)3Bl~n`73K8EoE&4*@NE}bT|ZuZ%?y0?)#Ui%Mf-dnrP%#M zega4z_l{EyU0+x2x?cfbcgIYswaJg=s&3{L6Ql@ZDwGlG2v*L1#h%@J+-oM^!vW62 z7%8p!1jSW)!37nXbUiLGFzTn?Lo3vPO24H%0J@Z@nzB}ngc?)Hnk7`e`}&6du#f{= zn!HFh)`r7k9f8#r0L&u&hDB992{jwaJC3?DdOkFf0rQba1vWYe3Tj($t`M8OcPP>R z`JU4)Om0LByO32@=FG``t0AK$pXa>7`=?9wQ5OYBs=#UK@8SSue-SPy-f>u41-p(WrX>0JEMJhA?2SEHz)XUTB#z$;QGV+(ChK1{vA!AS)d zR20I>-H3K_Z`@nhxy*x#u2tvYsuvxY%T6Rt+TG_BlK=MfD`aoxKO~thQ;?u9*7qU>lrBsa)ma1nyi%AiNP#{ZrSipG_pODOZrMqRb7nrv3T z4dI%H1~*s_Ilw}IH8{3`Z)Bgm?M|&aOvPizBeg!S0di|Ix~KN=mW6fDfUG%g(FJp| z+Ig6}b6Z|MUFuJ3iq4PmNAn^bv*xv{ZqR->ontt3uJ7Jp_{YMujv zzDth^ncl#GFtp`Su{uaB$&?0YPLe64H3?>ZoqOVU-C9C(n+hwsJ)+JEYFTvVjxt|&$fV=OQjE>33z1J}r9h1>98BMKYGCC$>xqVqohUaVw{m*gi z*S*%cc&mMW(ps)%Jr8g}SuDM;!bdR;H--w{f&!`N+0q{kYx6U0GL3r^xb<^dvdUNV zZdU2to6fNbmRdtlmEL*trV4|Toj$w3##Y!BfJj5$93l~}+O@nw6!N>2W_2;fkPva3 zYEQvdtpiEh*#-m)>%%y&4C28O2|iadq)b|*uBJ=uHltlKm<~{wLT8wn(D^;RG94OR zWdl*9K7s$Jh06r|ILJL=Hd(|y4W!#4$i+dWsM(8V_ILS?`bH038`v9EiaJvD2KJx2 ztE*lDNcnJGmnx)P*iZw9Wwi1ut&@CB>m=Xi*E`9#lYC2BC;4`g zZ>L`Gn2gHSF&U986~Y_GCC&X%TcdyDPu=dgyo9Tu14Qnv+{OpuJi4O zpr;R$3nnCHr4^j&b@_80*7Ul>zqU@fA7hztMjOHjuJl_O-(-I18&z=NQlyp_G^=NF zCYVM7PsqnP4=em@oAUotMrAlI|JFB11bI~%tA~h)^Z4TfrWN+0$4Af4@h5f6A0s^d z$k|7=b^M-GFinq->WilzXJcI6do8l}+{mhXpAeZWKAM=qZSAFqcvU&0HZarXT`#KV zX$Gr&K`dA>OE}}Hc*K=j?&YJJb5L;@Z8}q^_hZ0QwzY$mGTKhpH5(uEaQmTZ_2XY9 zlqXa!-b7f4%hJ?pHND4N$Z0~vKTGy*DIKSM@d_t+o=Yodp4|MOcj%rZf^uD(IL0(7 zqp!L`W=1wptokF8n5+=}N*Syn0L^x@fy@0^f?)QcynDjZc@=}QGde8K1F9Y!RX;ke zesog(=(PM%?dq#ptiD}#D*#SNj1v;R#S)LPC_570gDZmTQolKPbs=D;NHOP92|saM zTBWB+Q)BYJ{2*!)NH*6oBA+B-wKl`2r#Fzi3~y*crH2Da&G6bsV_QrTGug_Qe5-oG zSzhy~NrB>9naT$`+VtpMM569oNsth!D20e|b!b}y2zgW)D1DfaIHCdGMg+O(dV3-2 zW`O63QNOMl{INmmW>t@iQnw+$C5v2Ig?TS`>rFhc&P@hYsk01eL6izv%I?94L3=(y z58&a{WvBW!`!P4^H&;LC%4%fJlSQ`virZupRI7DiyQ;OTLd5ANa!S4>0iELrF)Y&r zM`*&Mh(BltuXzvg1clXa)FC}C3w@=rj+#ygaXp4~N~NgH0&cVHj7flPrSDLI;aAByTxdZJ+gaeu4DANHGUARPNKn{3qUAg=m6EaOBoaAEH z(Sxf7m`(|R&5S1rR5q(GxTfynJxLa5MxuCnW!{N1l9)tN#t9OVMd^ZX3MA|Fur3i-F@!&V&8}rl8=U2Diz5o7K zy0K~PzyE@!rSb75(BnUNiUQ2+J+_!03xrV|Vd_jU3b^3c3H?OEKDfBn^lQJ;Rn{O4 z2wXlvkVq%05AhnE_s~@j-S*ITJ@meZ?gn-`H626VgVYsxd?1OsNb-T_>J6%{X%Ah| z9=fGH^d0S?_q2z;r_XxX_113wzC-$qH7-2x2)@^S+c4e0&|B`Q<7hgLrsHTjj;7c; zj%J-{bsSB{(R3Wm^KdjZ4_(r~)@Cm8R4Ti=+0&2&xJ(aRX;Uv;?Hm2QVZ6k0;nXoP zRWGvwL@_U?#HL7*HR;voT5n?B8cLKlIEQ%~Dyn^j2)kc%@M2k4cK;&=ZK!h=W#uKb z%?q^%5#g-5am}^!GD|eq%WCJxd6`STU$(#|ufO+rp{rGBPjbu_C{8GousLTpZ!RuS zFvAHBBuNA!pAmDb@mD}5HsFq@KafZp;{ zjrQk1!ib;HkA!*H(ec;ho&deJkkeB_6i&hjN?c4_acfQg^+7d^ zMVxyx<1H)jZ|>%OoA3(f1>1@=OAE8sno|a@FHAf}(~5F6)lFvmtj>Y8Sk?F8A9SHv zzxO!)o-D3OO(~V~MT3W_2{r%>sc3=j@XHAefuIm>!a=qYiQrS`(N3bHC zbkAH^&xIS+jZSz#1tOCP2_(HIkxPVo1ke3)sI;N4%$?Z8FHp(W= z*x3*S>n7~77ekc0E21K+)0eQQdjl3eq5OAdeZl4V>F&sjR z#Wp*h=(g!#h87VD>qZ9X1~;ue=Ji4a8G6?D*_ELRUn7x1Ef|63MB)%jJWz1hEB*;? zGd=X5?nj+#;pZ2B{r>zP|Ni3F|I9zbnaG)Y!DE_G<%RK(T*3_CPb5p}ej?1lZROZWkF8Mize?nO66_zvK>m<-aLZu{H_=UtM zd{Qhwy>mZm56{`X>RS}*MOnsxDHggRM-F--uF{(k zv+Sp$`$o8QyMxZuH3o~2c}Ld)xK}bmA%hcCv84W7iWyZniQEj2kukZ=x1!g`n$9bR z&Z2mR)$FH^8!bKJo{KCO^f!=mK#8lF!qNU|ZZca6&2Gmi85Vwmqsl@k%b%%^7Rr3Z zLlh(gSgtnr!k4FRstTWP>!U|CMjk)j^C+DYjrdGSJjW|o$o3Z3%vt7T2~`*v~{z$(kFJ7sM}sgbWMYqo5zSY^8`-=K5Unq+U0mGTQS zk9~Nper}7u9LCHVQ@?!@sn5CC7&vjr?zQ$Iai(4Ci*74>5>Z>;*|uH%*&vA1p6Ozs z&B5+Z63@t-Bsl5|$rC&!JvV^<%>89e^tmaleyxoZL7F6l$!KAv*v<2WZmZV3qA#3H zOe+W7H2@8<22J5h2^_frLxCp8qPnVfzO_V4A-$) zWDB0kIF&`0DbMXEpJFb+^kJ^clEgjoQ|0D855E4~-}`2F_vc~%)vsUg{xX1n{AKT( zz0dZKulM$LcYpr={dc!l=fBdu&p)$tey9KXy!$gb|JAdTy}fU${TK3WtwP_$W;bY^ z`(m@jzRs|gqx)L`^)^(gp~&Cz44#0D=)ks3nQU}#xpLw!e2~A>4}K96xfQgnl1(ou z;~W(`InWHD=dB+Tuq-R--1K%w8q99Cb=ITKdQ{f_m90lN`VMK;h39^CrlZFW)4aAm zpr6Xe-eK6)UTbuYr|ZUE*CWTqkHNyV370v?&0q0E7Ch$=BU0T@7z^CtYEI4g|I~UR znwfji%pgCljXKUj6oEpYuq??96O4F{NkA7@2!~-pM59_3$b!AfmaIb8I$oiNhUl;8 z6Z$JUJ~}!$uJ6vb=!aj~57o3uvBd`dG{X|UQhT6i4>gKE@=5XdII{b;5q~5#&{LnV z8nfwCFD99yv!@B|rp_2T|2r4*(p)bp%EyBIz{UI7=+y}%+$nxh$Uz^-h~gt=v;mkm z4}F{VdaXMahAz%7&pzJ#_y+v`K;4ou`p=Z)b+9oH2k0CJO=>nZ^Dx7FV6n<)`ZPVO z*9MxcwEl4#=pa`yW@y~Rf4S<|>aIDb(1w%pyj^j^B@cK5qvKfb+c#GmJgX}+IBbmC zlz~%P|M2#zr$&QlzMD6ws5fvqKL^AJb3736AWvzbs=-L@6*s@pcgUUl16 z@T+cH3xU<`v4OC)Zrcfp)otC-Sl!kSkTs+G>K#0TWy@yu$T+^WCt4dm`}`Aa z3aHhsEn41IaIJ1z3$fL0Yk{`9eF5RNx@{@wR=4#+Z*_aV`{1oHt4=baTgRhit>e*5 z>v*)%*70Z^kJj;MHLc^(R$9lSbv)YIX`ek(u9RsQMNA|9?ag-yPvhE5$|aRX>Jjc9kC+RF2vl%PWI$zIv;XA(sO3kk$R z`v+N@l$*t%Fpy$o^CMxvh|7bu&551sv98ifC7#O7aJ}zy$MC2Q;!1n4ZwDHXK8lFT zkJTo~wR1qpgy1s&3eOZ!@VUzXl^rSw#X9PRP0_b_oY3I>o-nDusJ9!HJZ%!4p>}8h zY`{gO6|9lCjj;@7H}tnkJFkybx!ImvBj2wpAv7*6G<8ST-Wwg+c})VY#L)FCi%e)F zt15*(M^%w}#(sk=R&y3QNS3sP@+SJu-9ngM$yMbO#8WxupUezu_&#;3S1xn)2Yw1K z2&KJMyHm@Yda|Z8e8Z!3-jD*ox3ekZNh8qbyKHu6jPWAkc$2eC%>2$bxRE{{1@7P) zF6d+AgnB-&fc8t@uz0WZVI{n;DV<1y=Vj!lX2)gJRH5Yd-A$g;RD76FKjv;%OYSPb z-_mFuMnZjh`}ynjmKc$%MucL4Um?iyo*) zdODim-*d?ap$||&*;>_qwg39}buxVF5xl&MYIJbt&$ z$!X}aW&h9rnc}Di_2JbPd?yD5XGC~h-Lt7?ua3g0chzSPGztTpn2=dO0Z4ES7uwgf zPMK^GPX-l2hr7i%ku(4+n!27-p45bOy_04|C?<&#(hy7MB!P<1^B5;oa3;`hV$;|Z zGS}RyQ8U!|#(iOrMwIGGkQYzyy1gL*XQ7`@WDU67E_axR8&JfPgmRrkjLymO&D_CU}1-Msc`rt zXA+rN>$XMH4p#n4ff{xeaeY_Tyie=0%KLidOMJBgbaW87ccSFRWF6{vL`}{Akjc1o{>vL^11l6rfzR{F@ zwtSkoIq8+UCpw(O+DkMl?rD}s^Cg&N*hanFFf=ephUO?ps7%j8AZNeh$m(XJce8zOtay!dh$|h|sK{ zO;~+dcHHvv5$AVlY)=l7I@X;( zWdWZXu3yg=q(K8peJvB}-?M|&zA6RTq(&>0U-&fPDcl@L%xR^K+*Z^sxpEL2ZrD{-K`Z6nsqu}6SM%aqj#a@7Nq`FJ! z2w2RJtC!tWmzQV{M(tE(Z)0NBItn?lG>R12*C}~GX3^RixYS0!I#t(P77w__XWY8^ zV>BkxroOjn1zoP`;znJtD;^ew@0ujkXxIK@>~v6-n!N3o1zU^e&GDz3JM!>&lmp%5 zB3{(yhGd!$*ff2M;8xA?Lf26u_e7m;NY$#xX>ImKFme2+0^A>%z>;h_H;#DwTjrJe(eEI;x{lW|xG;A>mEuX2>aeYg59EYSYT{g3H(*SY5fLls zvsOCJa#*Bh`X=3U8iAFqc^$1!##O{c55R@mztNm0#B^iOina-GBR4bx*+ss-9*uf7 zRkk&~jL8h&6Nm#ezZyYzF$q>H$tHGe`|TP40uan_GmZTg+1^~SV0hqt;-pJYar0DEP~1u zkVg+O@&NR(u$4<&mJ{wQxvaiFHi+27u!TsdW3@ujT_&L$Jes9ap}hz5`LO}bp^F-P8J`~f|f5+iWdrmRSQ z8ZXr!jfx3CnvQ-LZph(xb34?T4bTUeG~kjtC)&Sr#%-p5H3gB;jmqg6{1ilKr~}lO zs9Fsg?V}5j>t8qZ?xcSx%Mv=IST|_B6M>^$c?=F{n`$*;QFW=F!sehD&U0-a95s9J z@e!K?wS0fIfTjkweof23Q#rz>fJ&d6LQXuDW)?k&BAXhNrG6rzd2zz6K5bcNR5{cP zf|4_rl3oEye8JFekO$yx0m$@B9t&mmyuN?DpXF`Vl~p>Jr0K9(T7NeHI5gsoN#v+i z$A%bDQET{7Yyb@jlQdY$d%>BYAxT`i?tBIRI=2+ve#&}41P3$i8mtHScOApNGfsm$ zBCW|Ffx5qOD$y86m<0+RfvQ(4O(s^=BDo$!_gFhC9r=Q=VH8Y|edc9IO*(Sze%QRw zvqt5*t0hO0M3HcXP_;y- zxLCt6nq8KH_ zR@<-XU(~R{2%Y7HPjEeVXmh7<#ydJe6!RmfbOJXU*g-l$1akhwTnNA`fd8=&bgHZ8 zO{_l^2qCaO!^c++uwxkf9Z(u@FP#3on&g9*qdHCUI+ErU{LiU?8&$y^nl zK3d{B)g`O~l(`3cIVJMJ%l((5U9}hcdums5YT*5x8rXelW?B=@nNtLV1CdTBz?0Cp z_S%fPY6U_X5tPm?k=7ML+-T4>|U* zM55%aHT{-TL6Q=Eudj1UfhzqVNb+rjr@}=5PvEazkp?pbPa=&;qDJf?256I&n-Yxs zrg8VyxJa{#ik98eFvXFcdCBKBR#w8&dHIt*8ZTljL{i}Z(?@^%$JN=*&GoyRisy_s z^>F#2sgFSGh{hF<-&~)c-JZYwTjdNIzQ6p?(1ZRy;iUkU&EWdOyYq%Q)bwFzQPT@$ zGm_A9-Ak$g&0@7aeaRE z?&8ha?Zt=c@tb?O{LtKwyQ3A)Z+^Hszy9Io{JL@;O+8$GsPDroK%?9Tq6P^9x&Sep zvZ)R*zUC5kt3`-L?c7)zMZm(BSIKKY!aq?tyI@xl4#<}}y)SHDx^`wmX#0=4B5vlD zf~_B(oAQ_#M=2xtD;-@^Wpf=5FY~!Hv8l4V@!(q*3sMd2+ag&a(umqROx;XRd zq!FSvipNjxT#3!lktgumKT{=NfG3@ELUeg}ted7tqs)EOIJ8#B*{uY+WUig)%$9Xq znvo4e!%<`~gs^^R6{A#iz_|Oq^uy+$5B~t4ZG`tcKDejRqrHs_^RtEZtQXYd8`9$u z(6fzj9{*q-?`Q+xK%TatC|eEU*-i+L_n!HM@3h^qCkfqo;=rA!3)^WCwBs4F(;{HU zKU`<+U>%=Oou)t?uP`02ARV6tueDUK@SL{6IbJ8}e_fw6Eaypsa-KdUrxDs3UuYYQ zBPz2qZY)(_V`fgC;3;_%VNn6LO&w^VV6AWEEaB;N7N-^Ik6Oqz`|FA|vNFTm`dPE+ zZ!Pj=mG{&)R^ty7S6F)KdCY~JCPe%*T6&=Kwk`drMbNK2W+Wt*=@Kjy@X?hS_y%6g zE};IdZMRjd8D{Lq8Mvrk*GI>;Y zmQ}l7+Hdprt#;Q(b0TqwCC>dMVv?bQm5u~S?n#(aQkYAc|0Nx-6ectWhyMG2zWUR@ zShIJbZ;8gsAPL1w`?I_~@~g7xz19{eJ%|9Md03A^=64ZgnonY=@La;9h$Q_fVc_vGPH7a91Uk1v z-wy|)lfl7PMyX>y#&NvlBLdm4(F)*xWlHm+BJARThJ)X5gxMhEUn%sV`h`%^*QoeV zcVH*2lZ`pV*+2)H_0C<6lY0T8ivMkprt))hGvJDKs2<&-H0i`8^=g|Am@(O=djdt}13qQ+H`lkYZiJw)lE61XX>pSZZ>` z#|xAY*s_%6`YTtTyyxKkIN`5dMU*L(_J#(0K2O1e7cLter;;b)Wk~Kx^it4iA1A?# zN)pI4Aun-E`>+tE9d_s8zm+FluOR+#16mx9x)w%FnA3w~r(hF=UZ3CGW<|Yp?J5mZ znfj^feAI4IHi7sIn#Hao!a}H$V_X@ilD0%ThFZd|zVNCh?v3--Pva1m1ifA`^ajsK z^ahKSK({TQl{yvCSBKzrT6x^O{PHRfYY=3`(dJRYO-zEqbu(Gd0>hG;u=*85nYG)i z>wzb?nkft36UE(c${*sL(aeMWOiA3@X&Y)9jfv{hB*x9Hq*Ugqsry%>sd|JRwXlr$ zICgmVLdVZzA$UM_Jd4|z3XhB$@jUzX#@dW;%S%N(YX5;8=G>g@UT3!MmVP8pzO!zk zNR}qU_uAv_ZLL-&&GqG}2J+IqbcgXf0rHjy@UJY7uF8Luh2+y?MZQ9-m;Xk?lcOUe z{~aFgAD{ebI66EzI_%`Xr)YWE?|$?ZQ4EO+WUQbpl|eJi55pY{jCfmSCPN4M8# zXMebV+#jCw_fKy}$FC2DuSW-i(P+4Ty#MuZ|MhUV^VP~#cNoW|#n#IH;J-b%~(AQof08mqy6Lk{nJ;k#z!Xy39(E`Ad)~L;kW%N(H+!_}4ml zFV9#knRogqhA7GhqM!&K+h(;X#J;&5kICOoJIi}HTkoYu~`G3va2CkN^ z78L)l{`srym-5LMa8h{ey8h zIyv4CPlqRCa(HqYOb$*$a)J*J$EU*}9FA}>n(Pn9;j2U3f#CK)umlM@!14jXLr)Mq zIouyTBM2TGlhM)1XmT()JUSZhj}9iI;~)(2$#^t6Iz2u-C8y-{FeKyC;o%q`o{;c( z{Azq0j$Z8_AB^#72ZGxI!NUp=JoE;^15XeAb3y#f(PCp zxIftU0>PvG;o&oa;PKJv(P=n3#D~N1WD>p_1_%4&@YN(Z9uD_MI0#-H9UTRuVAC&SUnh~UZoDD1G{)eDlqr>o32ZGxI v!BGVkRDd-l49X%^gVn+Q>9GZ?=T///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.0" + pipeline. Default: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" * **logical_backup_google_application_credentials** Specifies the path of the google cloud service account json file. Default is empty. @@ -1080,7 +1080,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:latest" + Default: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" * **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 7c8d2233f..b9628ebbc 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:latest" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" 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.0" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" # 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 13f2cc68f..0de2dc57d 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:latest + image: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/operatorconfiguration.crd.yaml b/manifests/operatorconfiguration.crd.yaml index 5084b72aa..84d58cc8b 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:latest + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 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.0 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1 type: string logical_backup_failed_jobs_history_limit: default: 3 diff --git a/manifests/postgres-operator.yaml b/manifests/postgres-operator.yaml index 80e4fa28b..7e2705dea 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.0 + image: ghcr.io/zalando/postgres-operator:v2.0.1 imagePullPolicy: IfNotPresent resources: requests: diff --git a/manifests/postgresql-operator-default-configuration.yaml b/manifests/postgresql-operator-default-configuration.yaml index 28eba22db..80d848e6b 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.0" + logical_backup_docker_image: "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" # 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:latest" + connection_pooler_image: "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" # 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 920f379f4..d14ffc26e 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:latest" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1" 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.0" + // +kubebuilder:default="ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" 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 5084b72aa..84d58cc8b 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:latest + default: ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1 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.0 + default: ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1 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 94e237815..d651bea12 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:v1.15.1" - img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.0" + img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1" clientSet := fake.NewSimpleClientset() acidClientSet := fakeacidv1.NewSimpleClientset() diff --git a/pkg/controller/operator_config.go b/pkg/controller/operator_config.go index 136ca78e7..6ee4522d8 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.0") + result.LogicalBackupDockerImage = util.Coalesce(fromCRD.LogicalBackup.DockerImage, "ghcr.io/zalando/postgres-operator/logical-backup:v2.0.1") 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:latest") + "ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1") result.ConnectionPooler.Mode = util.Coalesce( fromCRD.ConnectionPooler.Mode, diff --git a/pkg/util/config/config.go b/pkg/util/config/config.go index 042c02d2b..749fdaa90 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.0"` + LogicalBackupDockerImage string `name:"logical_backup_docker_image" default:"ghcr.io/zalando/postgres-operator/logical-backup:v2.0.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:""` @@ -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:latest"` + Image string `name:"connection_pooler_image" default:"ghcr.io/zalando/postgres-operator/pgbouncer:v2.0.1"` 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 91aa478b0..16e760ae5 100644 --- a/ui/app/package.json +++ b/ui/app/package.json @@ -1,6 +1,6 @@ { "name": "postgres-operator-ui", - "version": "2.0.0", + "version": "2.0.1", "description": "PostgreSQL Operator UI", "main": "src/app.js", "config": { diff --git a/ui/manifests/deployment.yaml b/ui/manifests/deployment.yaml index 5facce7c6..b34ca5465 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.0 + image: ghcr.io/zalando/postgres-operator-ui:v2.0.1 ports: - containerPort: 8081 protocol: "TCP"