From 3dbfc5abad27801aa6621342f8cfd93f2a7f17bc Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Wed, 13 May 2026 11:56:23 -0300 Subject: [PATCH 1/7] Update PG Operator versions for 3.0.0 release --- api-tests/apply_route_test.go | 29 +- api-tests/operator_route_test.go | 2 + sources/operator.3.0.0.pg-operator.dep.json | 272 +++++++++++++++++ sources/operator.3.0.0.pg-operator.json | 313 ++++++++++++++++++++ 4 files changed, 614 insertions(+), 2 deletions(-) create mode 100644 sources/operator.3.0.0.pg-operator.dep.json create mode 100644 sources/operator.3.0.0.pg-operator.json diff --git a/api-tests/apply_route_test.go b/api-tests/apply_route_test.go index a481eb7f..2f5f0691 100644 --- a/api-tests/apply_route_test.go +++ b/api-tests/apply_route_test.go @@ -52,7 +52,7 @@ func TestApplyShouldReturnJustOneVersion(t *testing.T) { pgParams := &version_service.VersionServiceApplyParams{ Apply: "latest", - OperatorVersion: "2.9.0", + OperatorVersion: "3.0.0", Product: "pg-operator", } pgParams.WithTimeout(2 * time.Second) @@ -135,7 +135,7 @@ func TestApplyPgShouldReturnSameMajorVersion(t *testing.T) { pgParams := &version_service.VersionServiceApplyParams{ Apply: "latest", - OperatorVersion: "2.9.0", + OperatorVersion: "3.0.0", Product: "pg-operator", } pgParams.WithTimeout(2 * time.Second) @@ -923,6 +923,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { version string }{ // test latest + {"latest", "3.0.0", "", "18.3"}, + {"latest", "3.0.0", "17.9", "17.9"}, + {"latest", "3.0.0", "16.13", "16.13"}, + {"latest", "3.0.0", "15.17", "15.17"}, + {"latest", "3.0.0", "14.22", "14.22"}, {"latest", "2.9.0", "", "18.3"}, {"latest", "2.9.0", "17.9", "17.9"}, {"latest", "2.9.0", "16.13", "16.13"}, @@ -991,6 +996,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"latest", "2.2.0", "12.14", "12.14"}, // test recommended + {"recommended", "3.0.0", "", "18.3"}, + {"recommended", "3.0.0", "17.9", "17.9"}, + {"recommended", "3.0.0", "16.13", "16.13"}, + {"recommended", "3.0.0", "15.17", "15.17"}, + {"recommended", "3.0.0", "14.22", "14.22"}, {"recommended", "2.9.0", "", "18.3"}, {"recommended", "2.9.0", "17.9", "17.9"}, {"recommended", "2.9.0", "16.13", "16.13"}, @@ -1056,6 +1066,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"recommended", "2.2.0", "12.14", "12.14"}, // test exact + {"18.3", "3.0.0", "", "18.3"}, + {"17.9", "3.0.0", "", "17.9"}, + {"16.13", "3.0.0", "", "16.13"}, + {"15.17", "3.0.0", "", "15.17"}, + {"14.22", "3.0.0", "", "14.22"}, {"18.3", "2.9.0", "", "18.3"}, {"17.9", "2.9.0", "", "17.9"}, {"16.13", "2.9.0", "", "16.13"}, @@ -1142,6 +1157,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"14.11", "1.6.0", "", "14.11"}, //test with suffix + {"14-latest", "3.0.0", "", "14.22"}, + {"15-latest", "3.0.0", "", "15.17"}, + {"16-latest", "3.0.0", "", "16.13"}, + {"17-latest", "3.0.0", "", "17.9"}, + {"18-latest", "3.0.0", "", "18.3"}, {"14-latest", "2.9.0", "", "14.22"}, {"15-latest", "2.9.0", "", "15.17"}, {"16-latest", "2.9.0", "", "16.13"}, @@ -1228,6 +1248,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"14-latest", "1.6.0", "", "14.11"}, // test with distribution suffix + {"latest", "3.0.0", "14.22 - Percona Distribution", "14.22"}, + {"latest", "3.0.0", "15.17 - Percona Distribution", "15.17"}, + {"latest", "3.0.0", "16.13 - Percona Distribution", "16.13"}, + {"latest", "3.0.0", "17.9 - Percona Distribution", "17.9"}, + {"latest", "3.0.0", "18.3 - Percona Distribution", "18.3"}, {"latest", "2.9.0", "14.22 - Percona Distribution", "14.22"}, {"latest", "2.9.0", "15.17 - Percona Distribution", "15.17"}, {"latest", "2.9.0", "16.13 - Percona Distribution", "16.13"}, diff --git a/api-tests/operator_route_test.go b/api-tests/operator_route_test.go index c560a8a7..044aa32b 100644 --- a/api-tests/operator_route_test.go +++ b/api-tests/operator_route_test.go @@ -80,6 +80,7 @@ func TestOperatorRouteShouldReturnRightOperatorVersion(t *testing.T) { {"pg-operator", "2.8.1"}, {"pg-operator", "2.8.2"}, {"pg-operator", "2.9.0"}, + {"pg-operator", "3.0.0"}, {"ps-operator", "0.5.0"}, {"ps-operator", "0.6.0"}, {"ps-operator", "0.7.0"}, @@ -267,6 +268,7 @@ func TestOperatorRoutePgShouldReturnNotEmptyResponses(t *testing.T) { {"pg-operator", "2.8.1"}, {"pg-operator", "2.8.2"}, {"pg-operator", "2.9.0"}, + {"pg-operator", "3.0.0"}, } for _, c := range cases_v2 { diff --git a/sources/operator.3.0.0.pg-operator.dep.json b/sources/operator.3.0.0.pg-operator.dep.json new file mode 100644 index 00000000..2e55b1a6 --- /dev/null +++ b/sources/operator.3.0.0.pg-operator.dep.json @@ -0,0 +1,272 @@ +{ + "pgbackrest": { + "14.22": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "14.22" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "15.0" + ] + } + ] + }, + "15.17": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "15.17" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "16.0" + ] + } + ] + }, + "16.13": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "16.13" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "17.0" + ] + } + ] + }, + "17.9": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "17.9" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "18.0" + ] + } + ] + }, + "18.3": { + ">=": [ + { + "var": "productVersion" + }, + "18.3" + ] + } + }, + "pgbouncer": { + "14.22": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "14.22" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "15.0" + ] + } + ] + }, + "15.17": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "15.17" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "16.0" + ] + } + ] + }, + "16.13": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "16.13" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "17.0" + ] + } + ] + }, + "17.9": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "17.9" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "18.0" + ] + } + ] + }, + "18.3": { + ">=": [ + { + "var": "productVersion" + }, + "18.3" + ] + } + }, + "postgis": { + "14.22": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "14.22" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "15.0" + ] + } + ] + }, + "15.17": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "15.17" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "16.0" + ] + } + ] + }, + "16.13": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "16.13" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "17.0" + ] + } + ] + }, + "17.9": { + "and": [ + { + ">=": [ + { + "var": "productVersion" + }, + "17.9" + ] + }, + { + "<": [ + { + "var": "productVersion" + }, + "18.0" + ] + } + ] + }, + "18.3": { + ">=": [ + { + "var": "productVersion" + }, + "18.3" + ] + } + } +} diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json new file mode 100644 index 00000000..b369b5b3 --- /dev/null +++ b/sources/operator.3.0.0.pg-operator.json @@ -0,0 +1,313 @@ +{ + "versions": [ + { + "operator": "3.0.0", + "product": "pg-operator", + "matrix": { + "pmm": { + "3.7.1": { + "image_path": "percona/pmm-client:3.7.1", + "status": "available", + "critical": false, + "image_hash": "8b98629a469bf6360b14eb3ea121687737870261296f64e4587f6a6723a6845b", + "image_hash_arm64": "9951a74522a6bd70531457628daca758ffa3363941938539d164e592188e23e3" + }, + "2.44.1-1": { + "image_path": "percona/pmm-client:2.44.1-1", + "status": "recommended", + "critical": false, + "image_hash": "52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3", + "image_hash_arm64": "390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b" + } + }, + "pgbackrest": { + "18.3": { + "image_path": "percona/percona-pgbackrest:2.58.0-1", + "status": "recommended", + "critical": false, + "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", + "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" + }, + "18.1": { + "image_path": "percona/percona-pgbackrest:2.57.0-1", + "status": "available", + "critical": false, + "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", + "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" + }, + "17.9": { + "image_path": "percona/percona-pgbackrest:2.58.0-1", + "status": "recommended", + "critical": false, + "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", + "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" + }, + "17.7": { + "image_path": "percona/percona-pgbackrest:2.57.0-1", + "status": "available", + "critical": false, + "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", + "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" + }, + "16.13": { + "image_path": "percona/percona-pgbackrest:2.58.0-1", + "status": "recommended", + "critical": false, + "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", + "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" + }, + "16.11": { + "image_path": "percona/percona-pgbackrest:2.57.0-1", + "status": "available", + "critical": false, + "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", + "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" + }, + "15.17": { + "image_path": "percona/percona-pgbackrest:2.58.0-1", + "status": "recommended", + "critical": false, + "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", + "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" + }, + "15.15": { + "image_path": "percona/percona-pgbackrest:2.57.0-1", + "status": "available", + "critical": false, + "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", + "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" + }, + "14.22": { + "image_path": "percona/percona-pgbackrest:2.58.0-1", + "status": "recommended", + "critical": false, + "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", + "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" + }, + "14.20": { + "image_path": "percona/percona-pgbackrest:2.57.0-1", + "status": "available", + "critical": false, + "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", + "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" + } + }, + "pgbouncer": { + "18.3": { + "image_path": "percona/percona-pgbouncer:1.25.1-1", + "status": "recommended", + "critical": false, + "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", + "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" + }, + "18.1": { + "image_path": "percona/percona-pgbouncer:1.25.0-1", + "status": "available", + "critical": false, + "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", + "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" + }, + "17.9": { + "image_path": "percona/percona-pgbouncer:1.25.1-1", + "status": "recommended", + "critical": false, + "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", + "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" + }, + "17.7": { + "image_path": "percona/percona-pgbouncer:1.25.0-1", + "status": "available", + "critical": false, + "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", + "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" + }, + "16.13": { + "image_path": "percona/percona-pgbouncer:1.25.1-1", + "status": "recommended", + "critical": false, + "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", + "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" + }, + "16.11": { + "image_path": "percona/percona-pgbouncer:1.25.0-1", + "status": "available", + "critical": false, + "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", + "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" + }, + "15.17": { + "image_path": "percona/percona-pgbouncer:1.25.1-1", + "status": "recommended", + "critical": false, + "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", + "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" + }, + "15.15": { + "image_path": "percona/percona-pgbouncer:1.25.0-1", + "status": "available", + "critical": false, + "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", + "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" + }, + "14.22": { + "image_path": "percona/percona-pgbouncer:1.25.1-1", + "status": "recommended", + "critical": false, + "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", + "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" + }, + "14.20": { + "image_path": "percona/percona-pgbouncer:1.25.0-1", + "status": "available", + "critical": false, + "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", + "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" + } + }, + "operator": { + "3.0.0": { + "image_path": "percona/percona-postgresql-operator:3.0.0", + "status": "recommended", + "critical": false, + "image_hash": "813b63076f618a9361400fd66f1cf558c9e23c4b3ab934fcc8f210d402a8b4b4", + "image_hash_arm64": "f6f9aa1357de651c74b773f2412a654452a7a1305ba379846d6b149deed09359" + } + }, + "postgis": { + "18.3": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:18.3-2", + "status": "recommended", + "critical": false, + "image_hash": "dc1aa4fd3cc45769b643acdead09ac2697894cae27c8d2242ae85c22830c89c6", + "image_hash_arm64": "17665e9ace6374093f4cc1797322f5e0a63a34c4f0863eed8515e9f6f4893103" + }, + "18.1": { + "image_path": "percona/percona-postgresql-operator:2.8.2-ppg18.1-postgres-gis3.5.4", + "status": "available", + "critical": false, + "image_hash": "a9c58611e1660a1377a579370c0684a5bc12a37df69031bdcf7dac5332d016ad" + }, + "17.9": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:17.9-2", + "status": "recommended", + "critical": false, + "image_hash": "99063117389f49fb43d713f731ab66f904c0db701e858cc1cb4c474bc8dfdd11", + "image_hash_arm64": "4d4f761124f627aeb61fb5153848873703d9bbc78df0f635448b25250c45c4ba" + }, + "17.7": { + "image_path": "percona/percona-postgresql-operator:2.8.2-ppg17.7-postgres-gis3.3.8", + "status": "available", + "critical": false, + "image_hash": "64246fa0fe2213f2321bdd565181578fd84e8d745b044553b60d45c41dbf3e5c" + }, + "16.13": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:16.13-2", + "status": "recommended", + "critical": false, + "image_hash": "e098e4cd437fd0b10e41711b1b7caefe951b70b5a3be115064a9f6614b8d1b98", + "image_hash_arm64": "f3db173951d85f77535c8fb3ff67ce9ccd82b4c68036228916ac497caa0221dd" + }, + "16.11": { + "image_path": "percona/percona-postgresql-operator:2.8.2-ppg16.11-postgres-gis3.3.8", + "status": "available", + "critical": false, + "image_hash": "d4467fe931e6403538a1f9831c7c97f84177027bfb226a9a7e021026506bb4d7" + }, + "15.17": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:15.17-2", + "status": "recommended", + "critical": false, + "image_hash": "cfafc767f2b91e132588682a8693f6fcc0714c2dd70d98cc30814188e926e0a5", + "image_hash_arm64": "cd6fe1a91dac13c54653d8d97619aef5c3f4dac3bb30fce731715a4dcf2efd1d" + }, + "15.15": { + "image_path": "percona/percona-postgresql-operator:2.8.2-ppg15.15-postgres-gis3.3.8", + "status": "available", + "critical": false, + "image_hash": "d9680938ae31bc0c2d1fd89cda306b1bdb9b4aef424d706896460de71a2311e2" + }, + "14.22": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:14.22-2", + "status": "recommended", + "critical": false, + "image_hash": "3d9f1824f9d8790edbc32db22cc272f4ae543615fcdb36ceaac2685508b1149c", + "image_hash_arm64": "387f00c9094ff911eeb0b421924f03e89345f08ef49db7303f5ff8c9da1aad9c" + }, + "14.20": { + "image_path": "percona/percona-postgresql-operator:2.8.2-ppg14.20-postgres-gis3.3.8", + "status": "available", + "critical": false, + "image_hash": "71947a799ea4e957bf6a9dd6a4ff055037a335d9d71186452b64e05d1ce68c38" + } + }, + "postgresql": { + "18.3": { + "image_path": "percona/percona-distribution-postgresql:18.3-2", + "status": "recommended", + "critical": false, + "image_hash": "80c6b3ffdfe8ecbb0f6d1036267f77144a0ecd76a0e7b9cb8ae27faa317baa78", + "image_hash_arm64": "08734fd199b163a78844af3e03e252b20641483601cac91ceef950e26abb5146" + }, + "18.1": { + "image_path": "percona/percona-distribution-postgresql:18.1-3", + "status": "available", + "critical": false, + "image_hash": "eb3472dac500816d155d7e18b314c1e614b201ecc68912b31fb5144c7b91cacb" + }, + "17.9": { + "image_path": "percona/percona-distribution-postgresql:17.9-2", + "status": "recommended", + "critical": false, + "image_hash": "69a8e13fee2d100fdac345faac62884b155a8092e02e58dfa5747898992353bd", + "image_hash_arm64": "d4927eb31dba1d3fbf9bff51f35faa23a0fff896128166c40242cf754a7de80d" + }, + "17.7": { + "image_path": "percona/percona-distribution-postgresql:17.7-2", + "status": "available", + "critical": false, + "image_hash": "418739df35451d22cc4742fee8f12597bb469304300d7d78ba437ecd3ad03f35" + }, + "16.13": { + "image_path": "percona/percona-distribution-postgresql:16.13-2", + "status": "recommended", + "critical": false, + "image_hash": "17ed9742ca524b7c3fc0fde8c122d49252fcebb053d6b5e208c1df35b9211931", + "image_hash_arm64": "8c6317fb1141e20b3ecb1d137b95439f6dbb1ffa2b1d7d5c030ddfa71d54c46a" + }, + "16.11": { + "image_path": "percona/percona-distribution-postgresql:16.11-2", + "status": "available", + "critical": false, + "image_hash": "80882a55997c58b7a4dd5defc6482d99dc31c11fbd206f788e540a74ffab4823" + }, + "15.17": { + "image_path": "percona/percona-distribution-postgresql:15.17-2", + "status": "recommended", + "critical": false, + "image_hash": "7977cb3884e7ccb14a82d76805fb1ac79a54076112ebc29f2cf1ba17e7b554ac", + "image_hash_arm64": "aae0d23f40cf24634d8bbed2f49ed1c075d36fe0d9436e8449c7fe9e0025e2b2" + }, + "15.15": { + "image_path": "percona/percona-distribution-postgresql:15.15-2", + "status": "available", + "critical": false, + "image_hash": "100ef9920d70d0ff53a0466f9b077ba3f1828c31b330a08a6e6e11802b870178" + }, + "14.22": { + "image_path": "percona/percona-distribution-postgresql:14.22-2", + "status": "recommended", + "critical": false, + "image_hash": "102e75eaaa68267dd1252a9e9d1a413e970cf3fde1de2d7ccb461ed4b8858f77", + "image_hash_arm64": "96be250c12e596c31ad164efba5a3431bb6acce1fdbcdbd3a53275bf3a9da1f7" + }, + "14.20": { + "image_path": "percona/percona-distribution-postgresql:14.20-2", + "status": "available", + "critical": false, + "image_hash": "011bae00abeb266352aa6c8e127396b0a3fb5877f0112f5291172624b5556120" + } + } + } + } + ] +} From c604b26c4a7f91e1b9994416ba683cfaa9f743c9 Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Wed, 13 May 2026 17:18:51 -0300 Subject: [PATCH 2/7] Add upgrade image --- api-tests/apply_route_test.go | 1 + api-tests/operator_route_test.go | 26 ++++++++++++++++++++ api/version.proto | 1 + api/version.swagger.yaml | 4 +++ server/models.go | 1 + server/server.go | 9 +++++++ sources/operator.3.0.0.pg-operator.json | 8 ++++++ third_party/OpenAPI/api/version.swagger.yaml | 4 +++ 8 files changed, 54 insertions(+) diff --git a/api-tests/apply_route_test.go b/api-tests/apply_route_test.go index 2f5f0691..971a3378 100644 --- a/api-tests/apply_route_test.go +++ b/api-tests/apply_route_test.go @@ -67,6 +67,7 @@ func TestApplyShouldReturnJustOneVersion(t *testing.T) { assert.Len(t, pgResp.Payload.Versions[0].Matrix.Pgbouncer, 1) assert.Len(t, pgResp.Payload.Versions[0].Matrix.Postgis, 1) assert.Len(t, pgResp.Payload.Versions[0].Matrix.Operator, 1) + assert.Len(t, pgResp.Payload.Versions[0].Matrix.Pgupgrade, 1) psParams := &version_service.VersionServiceApplyParams{ Apply: "latest", diff --git a/api-tests/operator_route_test.go b/api-tests/operator_route_test.go index 044aa32b..75874c62 100644 --- a/api-tests/operator_route_test.go +++ b/api-tests/operator_route_test.go @@ -288,6 +288,32 @@ func TestOperatorRoutePgShouldReturnNotEmptyResponses(t *testing.T) { assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pgbackrest), 0) assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pgbouncer), 0) } + + cases_v3 := []struct { + product string + version string + }{ + {"pg-operator", "3.0.0"}, + } + + for _, c := range cases_v3 { + params := &version_service.VersionServiceOperatorParams{ + OperatorVersion: c.version, + Product: c.product, + } + params.WithTimeout(2 * time.Second) + + resp, err := cli.VersionService.VersionServiceOperator(params) + assert.NoError(t, err) + + assert.Len(t, resp.Payload.Versions, 1) + assert.Len(t, resp.Payload.Versions[0].Matrix.Operator, 1) + assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Postgresql), 0) + assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pmm), 0) + assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pgbackrest), 0) + assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pgbouncer), 0) + assert.Greater(t, len(resp.Payload.Versions[0].Matrix.Pgupgrade), 0) + } } func TestOperatorRoutePsShouldReturnNotEmptyResponses(t *testing.T) { diff --git a/api/version.proto b/api/version.proto index 3620f1a2..cba36e65 100644 --- a/api/version.proto +++ b/api/version.proto @@ -248,6 +248,7 @@ message VersionMatrix { map toolkit = 26; map postgis = 27; map binlog_server = 28; + map pgupgrade = 29; } // OperatorVersion represents operator version. diff --git a/api/version.swagger.yaml b/api/version.swagger.yaml index f6afe667..9d4cf4a4 100644 --- a/api/version.swagger.yaml +++ b/api/version.swagger.yaml @@ -658,6 +658,10 @@ definitions: type: object additionalProperties: $ref: '#/definitions/versionVersion' + pgupgrade: + type: object + additionalProperties: + $ref: '#/definitions/versionVersion' pxcOperator: type: object additionalProperties: diff --git a/server/models.go b/server/models.go index aa1a84d5..dee93607 100644 --- a/server/models.go +++ b/server/models.go @@ -10,6 +10,7 @@ type Deps struct { PgBackrestRepo map[string]interface{} `json:"pgbackrest_repo,omitempty"` Pgbadger map[string]interface{} `json:"pgbadger,omitempty"` Pgbouncer map[string]interface{} `json:"pgbouncer,omitempty"` + PgUpgrade map[string]interface{} `json:"pgupgrade,omitempty"` Postgis map[string]interface{} `json:"postgis,omitempty"` Orchestrator map[string]interface{} `json:"orchestrator,omitempty"` Router map[string]interface{} `json:"router,omitempty"` diff --git a/server/server.go b/server/server.go index 32c10a2d..9aa29bfa 100644 --- a/server/server.go +++ b/server/server.go @@ -294,6 +294,15 @@ func pg(vs *pbVersion.VersionResponse, deps Deps, req *pbVersion.ApplyRequest) e return err } + depVer, err = pgDepFilter(deps.PgUpgrade, productVersion) + if err != nil { + return err + } + err = defaultFilter(vs.Versions[0].Matrix.Pgupgrade, depVer, true) + if err != nil { + return err + } + depVer, err = pgDepFilter(deps.Postgis, productVersion) if err != nil { return err diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index b369b5b3..75b69d13 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -164,6 +164,14 @@ "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" } }, + "pgupgrade": { + "3.0.0": { + "image_path": "percona/percona-postgresql-operator:3.0.0-upgrade", + "status": "recommended", + "critical": false, + "image_hash": "99701e33c70f3c07c59a0d9e3ea340e6a3529e88c6db474d8fd1db7fc335722e" + } + }, "operator": { "3.0.0": { "image_path": "percona/percona-postgresql-operator:3.0.0", diff --git a/third_party/OpenAPI/api/version.swagger.yaml b/third_party/OpenAPI/api/version.swagger.yaml index f6afe667..9d4cf4a4 100644 --- a/third_party/OpenAPI/api/version.swagger.yaml +++ b/third_party/OpenAPI/api/version.swagger.yaml @@ -658,6 +658,10 @@ definitions: type: object additionalProperties: $ref: '#/definitions/versionVersion' + pgupgrade: + type: object + additionalProperties: + $ref: '#/definitions/versionVersion' pxcOperator: type: object additionalProperties: From 26f01006fc82b728ab942e8c4fcaa82b219684db Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Wed, 20 May 2026 17:02:09 -0300 Subject: [PATCH 3/7] Add newer image versions for PG 3.0.0 --- api-tests/apply_route_test.go | 50 ++-- sources/operator.3.0.0.pg-operator.dep.json | 60 ++--- sources/operator.3.0.0.pg-operator.json | 246 +++++++++++++++----- 3 files changed, 248 insertions(+), 108 deletions(-) diff --git a/api-tests/apply_route_test.go b/api-tests/apply_route_test.go index 971a3378..3d39536e 100644 --- a/api-tests/apply_route_test.go +++ b/api-tests/apply_route_test.go @@ -924,11 +924,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { version string }{ // test latest - {"latest", "3.0.0", "", "18.3"}, - {"latest", "3.0.0", "17.9", "17.9"}, - {"latest", "3.0.0", "16.13", "16.13"}, - {"latest", "3.0.0", "15.17", "15.17"}, - {"latest", "3.0.0", "14.22", "14.22"}, + {"latest", "3.0.0", "", "18.4"}, + {"latest", "3.0.0", "17.10", "17.10"}, + {"latest", "3.0.0", "16.14", "16.14"}, + {"latest", "3.0.0", "15.18", "15.18"}, + {"latest", "3.0.0", "14.23", "14.23"}, {"latest", "2.9.0", "", "18.3"}, {"latest", "2.9.0", "17.9", "17.9"}, {"latest", "2.9.0", "16.13", "16.13"}, @@ -997,11 +997,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"latest", "2.2.0", "12.14", "12.14"}, // test recommended - {"recommended", "3.0.0", "", "18.3"}, - {"recommended", "3.0.0", "17.9", "17.9"}, - {"recommended", "3.0.0", "16.13", "16.13"}, - {"recommended", "3.0.0", "15.17", "15.17"}, - {"recommended", "3.0.0", "14.22", "14.22"}, + {"recommended", "3.0.0", "", "18.4"}, + {"recommended", "3.0.0", "17.10", "17.10"}, + {"recommended", "3.0.0", "16.14", "16.14"}, + {"recommended", "3.0.0", "15.18", "15.18"}, + {"recommended", "3.0.0", "14.23", "14.23"}, {"recommended", "2.9.0", "", "18.3"}, {"recommended", "2.9.0", "17.9", "17.9"}, {"recommended", "2.9.0", "16.13", "16.13"}, @@ -1067,11 +1067,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"recommended", "2.2.0", "12.14", "12.14"}, // test exact - {"18.3", "3.0.0", "", "18.3"}, - {"17.9", "3.0.0", "", "17.9"}, - {"16.13", "3.0.0", "", "16.13"}, - {"15.17", "3.0.0", "", "15.17"}, - {"14.22", "3.0.0", "", "14.22"}, + {"18.4", "3.0.0", "", "18.4"}, + {"17.10", "3.0.0", "", "17.10"}, + {"16.14", "3.0.0", "", "16.14"}, + {"15.18", "3.0.0", "", "15.18"}, + {"14.23", "3.0.0", "", "14.23"}, {"18.3", "2.9.0", "", "18.3"}, {"17.9", "2.9.0", "", "17.9"}, {"16.13", "2.9.0", "", "16.13"}, @@ -1158,11 +1158,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"14.11", "1.6.0", "", "14.11"}, //test with suffix - {"14-latest", "3.0.0", "", "14.22"}, - {"15-latest", "3.0.0", "", "15.17"}, - {"16-latest", "3.0.0", "", "16.13"}, - {"17-latest", "3.0.0", "", "17.9"}, - {"18-latest", "3.0.0", "", "18.3"}, + {"14-latest", "3.0.0", "", "14.23"}, + {"15-latest", "3.0.0", "", "15.18"}, + {"16-latest", "3.0.0", "", "16.14"}, + {"17-latest", "3.0.0", "", "17.10"}, + {"18-latest", "3.0.0", "", "18.4"}, {"14-latest", "2.9.0", "", "14.22"}, {"15-latest", "2.9.0", "", "15.17"}, {"16-latest", "2.9.0", "", "16.13"}, @@ -1249,11 +1249,11 @@ func TestApplyPGReturnedVersions(t *testing.T) { {"14-latest", "1.6.0", "", "14.11"}, // test with distribution suffix - {"latest", "3.0.0", "14.22 - Percona Distribution", "14.22"}, - {"latest", "3.0.0", "15.17 - Percona Distribution", "15.17"}, - {"latest", "3.0.0", "16.13 - Percona Distribution", "16.13"}, - {"latest", "3.0.0", "17.9 - Percona Distribution", "17.9"}, - {"latest", "3.0.0", "18.3 - Percona Distribution", "18.3"}, + {"latest", "3.0.0", "14.23 - Percona Distribution", "14.23"}, + {"latest", "3.0.0", "15.18 - Percona Distribution", "15.18"}, + {"latest", "3.0.0", "16.14 - Percona Distribution", "16.14"}, + {"latest", "3.0.0", "17.10 - Percona Distribution", "17.10"}, + {"latest", "3.0.0", "18.4 - Percona Distribution", "18.4"}, {"latest", "2.9.0", "14.22 - Percona Distribution", "14.22"}, {"latest", "2.9.0", "15.17 - Percona Distribution", "15.17"}, {"latest", "2.9.0", "16.13 - Percona Distribution", "16.13"}, diff --git a/sources/operator.3.0.0.pg-operator.dep.json b/sources/operator.3.0.0.pg-operator.dep.json index 2e55b1a6..20c8a370 100644 --- a/sources/operator.3.0.0.pg-operator.dep.json +++ b/sources/operator.3.0.0.pg-operator.dep.json @@ -1,13 +1,13 @@ { "pgbackrest": { - "14.22": { + "14.23": { "and": [ { ">=": [ { "var": "productVersion" }, - "14.22" + "14.23" ] }, { @@ -20,14 +20,14 @@ } ] }, - "15.17": { + "15.18": { "and": [ { ">=": [ { "var": "productVersion" }, - "15.17" + "15.18" ] }, { @@ -40,14 +40,14 @@ } ] }, - "16.13": { + "16.14": { "and": [ { ">=": [ { "var": "productVersion" }, - "16.13" + "16.14" ] }, { @@ -60,14 +60,14 @@ } ] }, - "17.9": { + "17.10": { "and": [ { ">=": [ { "var": "productVersion" }, - "17.9" + "17.10" ] }, { @@ -80,24 +80,24 @@ } ] }, - "18.3": { + "18.4": { ">=": [ { "var": "productVersion" }, - "18.3" + "18.4" ] } }, "pgbouncer": { - "14.22": { + "14.23": { "and": [ { ">=": [ { "var": "productVersion" }, - "14.22" + "14.23" ] }, { @@ -110,14 +110,14 @@ } ] }, - "15.17": { + "15.18": { "and": [ { ">=": [ { "var": "productVersion" }, - "15.17" + "15.18" ] }, { @@ -130,14 +130,14 @@ } ] }, - "16.13": { + "16.14": { "and": [ { ">=": [ { "var": "productVersion" }, - "16.13" + "16.14" ] }, { @@ -150,14 +150,14 @@ } ] }, - "17.9": { + "17.10": { "and": [ { ">=": [ { "var": "productVersion" }, - "17.9" + "17.10" ] }, { @@ -170,24 +170,24 @@ } ] }, - "18.3": { + "18.4": { ">=": [ { "var": "productVersion" }, - "18.3" + "18.4" ] } }, "postgis": { - "14.22": { + "14.23": { "and": [ { ">=": [ { "var": "productVersion" }, - "14.22" + "14.23" ] }, { @@ -200,14 +200,14 @@ } ] }, - "15.17": { + "15.18": { "and": [ { ">=": [ { "var": "productVersion" }, - "15.17" + "15.18" ] }, { @@ -220,14 +220,14 @@ } ] }, - "16.13": { + "16.14": { "and": [ { ">=": [ { "var": "productVersion" }, - "16.13" + "16.14" ] }, { @@ -240,14 +240,14 @@ } ] }, - "17.9": { + "17.10": { "and": [ { ">=": [ { "var": "productVersion" }, - "17.9" + "17.10" ] }, { @@ -260,12 +260,12 @@ } ] }, - "18.3": { + "18.4": { ">=": [ { "var": "productVersion" }, - "18.3" + "18.4" ] } } diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index 75b69d13..5fee690a 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -21,9 +21,16 @@ } }, "pgbackrest": { + "18.4": { + "image_path": "percona/percona-pgbackrest:2.58.0-2", + "status": "recommended", + "critical": false, + "image_hash": "0b792f3d0bcfdd7a72c8d74f1c905469486f106db8f9299b5216d23dacf80501", + "image_hash_arm64": "97361155cdce8642ce47ebe83766a0c7b825930adb6c055d78476756db02fa9f" + }, "18.3": { "image_path": "percona/percona-pgbackrest:2.58.0-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" @@ -35,9 +42,16 @@ "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" }, + "17.10": { + "image_path": "percona/percona-pgbackrest:2.58.0-2", + "status": "recommended", + "critical": false, + "image_hash": "0b792f3d0bcfdd7a72c8d74f1c905469486f106db8f9299b5216d23dacf80501", + "image_hash_arm64": "97361155cdce8642ce47ebe83766a0c7b825930adb6c055d78476756db02fa9f" + }, "17.9": { "image_path": "percona/percona-pgbackrest:2.58.0-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" @@ -49,9 +63,16 @@ "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" }, + "16.14": { + "image_path": "percona/percona-pgbackrest:2.58.0-2", + "status": "recommended", + "critical": false, + "image_hash": "0b792f3d0bcfdd7a72c8d74f1c905469486f106db8f9299b5216d23dacf80501", + "image_hash_arm64": "97361155cdce8642ce47ebe83766a0c7b825930adb6c055d78476756db02fa9f" + }, "16.13": { "image_path": "percona/percona-pgbackrest:2.58.0-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" @@ -63,9 +84,16 @@ "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" }, + "15.18": { + "image_path": "percona/percona-pgbackrest:2.58.0-2", + "status": "recommended", + "critical": false, + "image_hash": "0b792f3d0bcfdd7a72c8d74f1c905469486f106db8f9299b5216d23dacf80501", + "image_hash_arm64": "97361155cdce8642ce47ebe83766a0c7b825930adb6c055d78476756db02fa9f" + }, "15.17": { "image_path": "percona/percona-pgbackrest:2.58.0-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" @@ -77,9 +105,16 @@ "image_hash": "2bf7265f84210671bc5c0928cc772202c0e6054d426eb6ecf86279d69e831b96", "image_hash_arm64": "59245b25fd5d0c1a2540b465e846b69f4c91b6cd183c3bfd96aa856d3e7ffbf3" }, + "14.23": { + "image_path": "percona/percona-pgbackrest:2.58.0-2", + "status": "recommended", + "critical": false, + "image_hash": "0b792f3d0bcfdd7a72c8d74f1c905469486f106db8f9299b5216d23dacf80501", + "image_hash_arm64": "97361155cdce8642ce47ebe83766a0c7b825930adb6c055d78476756db02fa9f" + }, "14.22": { "image_path": "percona/percona-pgbackrest:2.58.0-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "56542b3615f742a1ff4dec4eff7f53e87228085e50ebb66e3468d943e5a0f02e", "image_hash_arm64": "d0b86dc1b725483999828cbf44b5dbad9616767da70cc1b33d2fef2841cd3f05" @@ -93,9 +128,16 @@ } }, "pgbouncer": { + "18.4": { + "image_path": "percona/percona-pgbouncer:1.25.2-1", + "status": "recommended", + "critical": false, + "image_hash": "11ef7e744e13a8508db51bd99a37a351001534747c08d7cf852c5b7c83bafc8d", + "image_hash_arm64": "5790d944f879355194a8a5e9cecc100a959c0bd30d756fdadf4c812c682b579a" + }, "18.3": { "image_path": "percona/percona-pgbouncer:1.25.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" @@ -107,9 +149,16 @@ "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" }, + "17.10": { + "image_path": "percona/percona-pgbouncer:1.25.2-1", + "status": "recommended", + "critical": false, + "image_hash": "11ef7e744e13a8508db51bd99a37a351001534747c08d7cf852c5b7c83bafc8d", + "image_hash_arm64": "5790d944f879355194a8a5e9cecc100a959c0bd30d756fdadf4c812c682b579a" + }, "17.9": { "image_path": "percona/percona-pgbouncer:1.25.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" @@ -121,9 +170,16 @@ "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" }, + "16.14": { + "image_path": "percona/percona-pgbouncer:1.25.2-1", + "status": "recommended", + "critical": false, + "image_hash": "11ef7e744e13a8508db51bd99a37a351001534747c08d7cf852c5b7c83bafc8d", + "image_hash_arm64": "5790d944f879355194a8a5e9cecc100a959c0bd30d756fdadf4c812c682b579a" + }, "16.13": { "image_path": "percona/percona-pgbouncer:1.25.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" @@ -135,9 +191,16 @@ "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" }, + "15.18": { + "image_path": "percona/percona-pgbouncer:1.25.2-1", + "status": "recommended", + "critical": false, + "image_hash": "11ef7e744e13a8508db51bd99a37a351001534747c08d7cf852c5b7c83bafc8d", + "image_hash_arm64": "5790d944f879355194a8a5e9cecc100a959c0bd30d756fdadf4c812c682b579a" + }, "15.17": { "image_path": "percona/percona-pgbouncer:1.25.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" @@ -149,9 +212,16 @@ "image_hash": "bf2f325cc733b96dc360c2386c8931ed9e3513f55cb425e59033e1e56737134f", "image_hash_arm64": "902feac78cf98fbd6a7aece1761371dd1a43faaed88b63be0e0d54dd524b8286" }, + "14.23": { + "image_path": "percona/percona-pgbouncer:1.25.2-1", + "status": "recommended", + "critical": false, + "image_hash": "11ef7e744e13a8508db51bd99a37a351001534747c08d7cf852c5b7c83bafc8d", + "image_hash_arm64": "5790d944f879355194a8a5e9cecc100a959c0bd30d756fdadf4c812c682b579a" + }, "14.22": { "image_path": "percona/percona-pgbouncer:1.25.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "183f1cad97f7064745aedba96c169287ce54f2945073c28797a65bb9dc64cf8d", "image_hash_arm64": "6f4d7e68678a040516f729dc9a9fdf0a1e20ed3f5e5328a7b4fba23b4084c72a" @@ -169,7 +239,7 @@ "image_path": "percona/percona-postgresql-operator:3.0.0-upgrade", "status": "recommended", "critical": false, - "image_hash": "99701e33c70f3c07c59a0d9e3ea340e6a3529e88c6db474d8fd1db7fc335722e" + "image_hash": "1b5d990e236cb4e4fb2f10b1447e1c1afe934e87f5181c4a4fe70abdea1fcc2a" } }, "operator": { @@ -177,17 +247,24 @@ "image_path": "percona/percona-postgresql-operator:3.0.0", "status": "recommended", "critical": false, - "image_hash": "813b63076f618a9361400fd66f1cf558c9e23c4b3ab934fcc8f210d402a8b4b4", - "image_hash_arm64": "f6f9aa1357de651c74b773f2412a654452a7a1305ba379846d6b149deed09359" + "image_hash": "3bcbaec261b2e67c81b3812a4b220c859434b6791c53ee1fb7ecb66bd179de56", + "image_hash_arm64": "5aacf965c3d7bc89a23e1292ae47c2ef89d590e77677d793e15f56b11e5d67f7" } }, "postgis": { - "18.3": { - "image_path": "percona/percona-distribution-postgresql-with-postgis:18.3-2", + "18.4": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:18.4-1", "status": "recommended", "critical": false, - "image_hash": "dc1aa4fd3cc45769b643acdead09ac2697894cae27c8d2242ae85c22830c89c6", - "image_hash_arm64": "17665e9ace6374093f4cc1797322f5e0a63a34c4f0863eed8515e9f6f4893103" + "image_hash": "a8e812334907791ca4e0e8df25cdaaa809e6824be2f20f6d802df06b5eff3276", + "image_hash_arm64": "1f9972814c8dd66c3e127f40ef790fd2f2e885d9c15daa39f4b79146c3db7375" + }, + "18.3": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:18.3-1", + "status": "available", + "critical": false, + "image_hash": "a2cdf2fa7b76d6f02fb249ce56efda51db476d695ae1b5e276ab89d99ab1d0a5", + "image_hash_arm64": "5058d7a615bf647ff629598e1feae0a9ffcde14dce70f35814d631d90bf57e93" }, "18.1": { "image_path": "percona/percona-postgresql-operator:2.8.2-ppg18.1-postgres-gis3.5.4", @@ -195,12 +272,19 @@ "critical": false, "image_hash": "a9c58611e1660a1377a579370c0684a5bc12a37df69031bdcf7dac5332d016ad" }, - "17.9": { - "image_path": "percona/percona-distribution-postgresql-with-postgis:17.9-2", + "17.10": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:17.10-1", "status": "recommended", "critical": false, - "image_hash": "99063117389f49fb43d713f731ab66f904c0db701e858cc1cb4c474bc8dfdd11", - "image_hash_arm64": "4d4f761124f627aeb61fb5153848873703d9bbc78df0f635448b25250c45c4ba" + "image_hash": "aa217c9563d5a372f6bd3ce9ac06ec198393cf1299760f458f02aeb94b7e5b51", + "image_hash_arm64": "9aa1bf71193d11a53da6a70586aee92cdfe27cfc5f68f1d03bac751226be4116" + }, + "17.9": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:17.9-1", + "status": "available", + "critical": false, + "image_hash": "964a1a3116db7cd7fed0452376f43b07a9e3b45bf1ba2377307837745d285101", + "image_hash_arm64": "ecbabb4b2296fd1964b46cbdb71dae9d21157ac59f64ff776aff7d39aac66d1c" }, "17.7": { "image_path": "percona/percona-postgresql-operator:2.8.2-ppg17.7-postgres-gis3.3.8", @@ -208,12 +292,19 @@ "critical": false, "image_hash": "64246fa0fe2213f2321bdd565181578fd84e8d745b044553b60d45c41dbf3e5c" }, - "16.13": { - "image_path": "percona/percona-distribution-postgresql-with-postgis:16.13-2", + "16.14": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:16.14-1", "status": "recommended", "critical": false, - "image_hash": "e098e4cd437fd0b10e41711b1b7caefe951b70b5a3be115064a9f6614b8d1b98", - "image_hash_arm64": "f3db173951d85f77535c8fb3ff67ce9ccd82b4c68036228916ac497caa0221dd" + "image_hash": "771effe967782ca9485d0fc100012f3664cb087c77627e0e68015935634d5b96", + "image_hash_arm64": "48608ea56e5943d245f207268a173794c55667904116840f39ccde96507763e8" + }, + "16.13": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:16.13-1", + "status": "available", + "critical": false, + "image_hash": "30a64dc854caf5770906e17fc4e32e4a7de3f545478c94719a8c6d7ab41b88d3", + "image_hash_arm64": "6936f74de4e6f5206e5367581bcfadb49860d1572a30e9387a0479d988065778" }, "16.11": { "image_path": "percona/percona-postgresql-operator:2.8.2-ppg16.11-postgres-gis3.3.8", @@ -221,12 +312,19 @@ "critical": false, "image_hash": "d4467fe931e6403538a1f9831c7c97f84177027bfb226a9a7e021026506bb4d7" }, - "15.17": { - "image_path": "percona/percona-distribution-postgresql-with-postgis:15.17-2", + "15.18": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:15.18-1", "status": "recommended", "critical": false, - "image_hash": "cfafc767f2b91e132588682a8693f6fcc0714c2dd70d98cc30814188e926e0a5", - "image_hash_arm64": "cd6fe1a91dac13c54653d8d97619aef5c3f4dac3bb30fce731715a4dcf2efd1d" + "image_hash": "920f2a8b6e4f446e96401be0b0fa253e47ecf9478ad3fee0ed8fa730f24288eb", + "image_hash_arm64": "af1008484a8724588a230cb25fa8eb80b4daa855a01d9a92958a6d213369b947" + }, + "15.17": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:15.17-1", + "status": "available", + "critical": false, + "image_hash": "1d9a94124bbdd3939e8ad0beb6ef3ffd8db0858ba97ef1822e08f6c891ae2719", + "image_hash_arm64": "f2b21836b0e0d995b8187e0c770e31f9113bf6770f51d5eae92aa608b88d4d72" }, "15.15": { "image_path": "percona/percona-postgresql-operator:2.8.2-ppg15.15-postgres-gis3.3.8", @@ -234,12 +332,19 @@ "critical": false, "image_hash": "d9680938ae31bc0c2d1fd89cda306b1bdb9b4aef424d706896460de71a2311e2" }, - "14.22": { - "image_path": "percona/percona-distribution-postgresql-with-postgis:14.22-2", + "14.23": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:14.23-1", "status": "recommended", "critical": false, - "image_hash": "3d9f1824f9d8790edbc32db22cc272f4ae543615fcdb36ceaac2685508b1149c", - "image_hash_arm64": "387f00c9094ff911eeb0b421924f03e89345f08ef49db7303f5ff8c9da1aad9c" + "image_hash": "d78af8e25de692787b86524a249b6ba58c2311d66e2d2286ea559b17fae147e2", + "image_hash_arm64": "08207a301b6b5ffd033ac8def74f08629f133f973b0a974e031146f09e1ff1a1" + }, + "14.22": { + "image_path": "percona/percona-distribution-postgresql-with-postgis:14.22-1", + "status": "available", + "critical": false, + "image_hash": "46cf19acc553c84d643201c4ecd83a69a9d98c7432596a6907fadb093a0cd4df", + "image_hash_arm64": "9342ff19350446e83041e7775f8f134e0d464233fe3076e0a172a50dfc41b66c" }, "14.20": { "image_path": "percona/percona-postgresql-operator:2.8.2-ppg14.20-postgres-gis3.3.8", @@ -249,12 +354,19 @@ } }, "postgresql": { - "18.3": { - "image_path": "percona/percona-distribution-postgresql:18.3-2", + "18.4": { + "image_path": "percona/percona-distribution-postgresql:18.4-1", "status": "recommended", "critical": false, - "image_hash": "80c6b3ffdfe8ecbb0f6d1036267f77144a0ecd76a0e7b9cb8ae27faa317baa78", - "image_hash_arm64": "08734fd199b163a78844af3e03e252b20641483601cac91ceef950e26abb5146" + "image_hash": "ca25cc5e291cf2307d9ec4c29811c6f6d93171f98dd2cb4c69d2036f07517a7d", + "image_hash_arm64": "fae3368e04b80f4eb887621724074db4db279ca59743aacb47de51b468d514f5" + }, + "18.3": { + "image_path": "percona/percona-distribution-postgresql:18.3-1", + "status": "available", + "critical": false, + "image_hash": "f7f2af7cd155162fcffbd2a09e28918795db4ca1d1119c60b61a0d7c2f146ee7", + "image_hash_arm64": "97531c11ffaf33f677f7e8062783e9ce13d1cd2618cb88c56d6387bf92720dcb" }, "18.1": { "image_path": "percona/percona-distribution-postgresql:18.1-3", @@ -262,12 +374,19 @@ "critical": false, "image_hash": "eb3472dac500816d155d7e18b314c1e614b201ecc68912b31fb5144c7b91cacb" }, - "17.9": { - "image_path": "percona/percona-distribution-postgresql:17.9-2", + "17.10": { + "image_path": "percona/percona-distribution-postgresql:17.10-1", "status": "recommended", "critical": false, - "image_hash": "69a8e13fee2d100fdac345faac62884b155a8092e02e58dfa5747898992353bd", - "image_hash_arm64": "d4927eb31dba1d3fbf9bff51f35faa23a0fff896128166c40242cf754a7de80d" + "image_hash": "720bf87ef8cda340f833981a674d5dc71283cb39af3fd4ef97eff4ccf910b87a", + "image_hash_arm64": "055474ccc68a4a9885e0a6fed78129ffa8faefd451dc7643ac22dd266babc35f" + }, + "17.9": { + "image_path": "percona/percona-distribution-postgresql:17.9-1", + "status": "available", + "critical": false, + "image_hash": "deca076dc5b837d9f7712de4ed007e019900d09c629fcba53d35b7ec47f4b308", + "image_hash_arm64": "921279b3b85c6595ba3cbd67856c456f8f4b711b270f8473ff5acbd82781a43d" }, "17.7": { "image_path": "percona/percona-distribution-postgresql:17.7-2", @@ -275,12 +394,19 @@ "critical": false, "image_hash": "418739df35451d22cc4742fee8f12597bb469304300d7d78ba437ecd3ad03f35" }, - "16.13": { - "image_path": "percona/percona-distribution-postgresql:16.13-2", + "16.14": { + "image_path": "percona/percona-distribution-postgresql:16.14-1", "status": "recommended", "critical": false, - "image_hash": "17ed9742ca524b7c3fc0fde8c122d49252fcebb053d6b5e208c1df35b9211931", - "image_hash_arm64": "8c6317fb1141e20b3ecb1d137b95439f6dbb1ffa2b1d7d5c030ddfa71d54c46a" + "image_hash": "ad84dc4fa537a5ba03c7c1f51f9a1ee959132155b6943d02cb0d614fc57e4271", + "image_hash_arm64": "f377d7fd5e5e3eae56ef5886aa77691c436269bae5decb706130061286080465" + }, + "16.13": { + "image_path": "percona/percona-distribution-postgresql:16.13-1", + "status": "available", + "critical": false, + "image_hash": "36ae43818f7e1414332549ef5361ed3874e3f3ad2c430e07dcea7552d8c8b362", + "image_hash_arm64": "b4771737ee43d576437fa301bd0f15f7477b0058f3d8d58f5c7e8349412c0c94" }, "16.11": { "image_path": "percona/percona-distribution-postgresql:16.11-2", @@ -288,12 +414,19 @@ "critical": false, "image_hash": "80882a55997c58b7a4dd5defc6482d99dc31c11fbd206f788e540a74ffab4823" }, - "15.17": { - "image_path": "percona/percona-distribution-postgresql:15.17-2", + "15.18": { + "image_path": "percona/percona-distribution-postgresql:15.18-1", "status": "recommended", "critical": false, - "image_hash": "7977cb3884e7ccb14a82d76805fb1ac79a54076112ebc29f2cf1ba17e7b554ac", - "image_hash_arm64": "aae0d23f40cf24634d8bbed2f49ed1c075d36fe0d9436e8449c7fe9e0025e2b2" + "image_hash": "60728795a6e954d9255526a208e8e9e8e93278d4c1e89004f2999a6ccb196eea", + "image_hash_arm64": "78b1b7488a897ffaf609c8d1edc6c5a27b76a3c697bbb24db5f2dec3fd66ee34" + }, + "15.17": { + "image_path": "percona/percona-distribution-postgresql:15.17-1", + "status": "available", + "critical": false, + "image_hash": "0b3faf1329c018f155aa9eb182f99b4a008f8f25b549f4cef98581002ca57d01", + "image_hash_arm64": "64c9c06271eb24552fba4f766992b9228cfd99fbaafc93313ebba10d91bcda25" }, "15.15": { "image_path": "percona/percona-distribution-postgresql:15.15-2", @@ -301,12 +434,19 @@ "critical": false, "image_hash": "100ef9920d70d0ff53a0466f9b077ba3f1828c31b330a08a6e6e11802b870178" }, - "14.22": { - "image_path": "percona/percona-distribution-postgresql:14.22-2", + "14.23": { + "image_path": "percona/percona-distribution-postgresql:14.23-1", "status": "recommended", "critical": false, - "image_hash": "102e75eaaa68267dd1252a9e9d1a413e970cf3fde1de2d7ccb461ed4b8858f77", - "image_hash_arm64": "96be250c12e596c31ad164efba5a3431bb6acce1fdbcdbd3a53275bf3a9da1f7" + "image_hash": "d04d3e1c41fd0c9fe438ab04081c555e1edafaed9a33f2979c7b0080045ff5fd", + "image_hash_arm64": "88925bdfc04d7dec629230c3b0f31daf7f9aed8757b2456a4439475a6b3175f5" + }, + "14.22": { + "image_path": "percona/percona-distribution-postgresql:14.22-1", + "status": "available", + "critical": false, + "image_hash": "2e854233f37877edf5a1920de5749a96eb0d81022b2270e00446889a6a3d6140", + "image_hash_arm64": "93034300269680d1f024be3f500590f39a3eae91868ec6ec32c5689d76b2e999" }, "14.20": { "image_path": "percona/percona-distribution-postgresql:14.20-2", From 0f37c9fa4e2c923be19302bc015d7b6c4fc13296 Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Thu, 21 May 2026 13:20:45 -0300 Subject: [PATCH 4/7] Use official image for PG upgrade on 3.0.0 --- sources/operator.3.0.0.pg-operator.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index 5fee690a..a1c6c356 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -236,10 +236,11 @@ }, "pgupgrade": { "3.0.0": { - "image_path": "percona/percona-postgresql-operator:3.0.0-upgrade", + "image_path": "percona/percona-distribution-postgresql-upgrade:18.4-17.10-16.14-15.18-14.23-1", "status": "recommended", "critical": false, - "image_hash": "1b5d990e236cb4e4fb2f10b1447e1c1afe934e87f5181c4a4fe70abdea1fcc2a" + "image_hash": "31a9612320d3b08cb74d5e98f86b054c4562e4b900140152b28476be62f086f5", + "image_hash_arm64": "81a831086fc4aaee83af8d86b1422b64ce77e200a8f27627c27282c9af6ad9b8" } }, "operator": { From 71cb4efbe8af5d63ce5e865f95a35c6d76a85e09 Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Thu, 21 May 2026 13:22:46 -0300 Subject: [PATCH 5/7] Set PMM3 as recommended for PG 3.0.0 --- sources/operator.3.0.0.pg-operator.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index a1c6c356..1f2b7d09 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -7,14 +7,14 @@ "pmm": { "3.7.1": { "image_path": "percona/pmm-client:3.7.1", - "status": "available", + "status": "recommended", "critical": false, "image_hash": "8b98629a469bf6360b14eb3ea121687737870261296f64e4587f6a6723a6845b", "image_hash_arm64": "9951a74522a6bd70531457628daca758ffa3363941938539d164e592188e23e3" }, "2.44.1-1": { "image_path": "percona/pmm-client:2.44.1-1", - "status": "recommended", + "status": "available", "critical": false, "image_hash": "52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3", "image_hash_arm64": "390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b" From 1b204740ec3e14a04cd81c7688d688465346a016 Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Thu, 21 May 2026 13:35:15 -0300 Subject: [PATCH 6/7] Update hash of PG ARM images --- sources/operator.3.0.0.pg-operator.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index 1f2b7d09..e932c5b7 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -278,7 +278,7 @@ "status": "recommended", "critical": false, "image_hash": "aa217c9563d5a372f6bd3ce9ac06ec198393cf1299760f458f02aeb94b7e5b51", - "image_hash_arm64": "9aa1bf71193d11a53da6a70586aee92cdfe27cfc5f68f1d03bac751226be4116" + "image_hash_arm64": "e4c00ec25549c14b9a3665b0481b9a7df173bff8ca92cb79daf1a2abd2ef391e" }, "17.9": { "image_path": "percona/percona-distribution-postgresql-with-postgis:17.9-1", @@ -380,7 +380,7 @@ "status": "recommended", "critical": false, "image_hash": "720bf87ef8cda340f833981a674d5dc71283cb39af3fd4ef97eff4ccf910b87a", - "image_hash_arm64": "055474ccc68a4a9885e0a6fed78129ffa8faefd451dc7643ac22dd266babc35f" + "image_hash_arm64": "6416424e58765b9434f18905f0338d466cb79bafc42e6a5570030c71a1323eee" }, "17.9": { "image_path": "percona/percona-distribution-postgresql:17.9-1", From 287113d2f150f1bb08410136dbf5d09e2f046cb5 Mon Sep 17 00:00:00 2001 From: valmiranogueira Date: Thu, 21 May 2026 14:04:13 -0300 Subject: [PATCH 7/7] Set PMM3 as recommended --- sources/operator.3.0.0.pg-operator.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/operator.3.0.0.pg-operator.json b/sources/operator.3.0.0.pg-operator.json index e932c5b7..fc0d6602 100644 --- a/sources/operator.3.0.0.pg-operator.json +++ b/sources/operator.3.0.0.pg-operator.json @@ -14,7 +14,7 @@ }, "2.44.1-1": { "image_path": "percona/pmm-client:2.44.1-1", - "status": "available", + "status": "recommended", "critical": false, "image_hash": "52a8fb5e8f912eef1ff8a117ea323c401e278908ce29928dafc23fac1db4f1e3", "image_hash_arm64": "390bfd12f981e8b3890550c4927a3ece071377065e001894458047602c744e3b"