v5.4 release#86
Conversation
📝 WalkthroughWalkthroughThis PR updates container image tags across the repository, bumping IvorySQL from version 5.3 to 5.4 and related components (pgBackrest, pgAdmin, pgBouncer, postgres-exporter, PostGIS, crunchy-upgrade) to matching newer versions. Changes span CI workflows, operator configuration, example manifests, and e2e test definitions. ChangesContainer image version bump (5.3 → 5.4)
🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Tools execution failed with the following error: Failed to run tools: 13 INTERNAL: Received RST_STREAM with code 2 (Internal server error) Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@config/manager/manager.yaml`:
- Around line 22-34: The manager.yaml currently defines
RELATED_IMAGE_POSTGRES_18_GIS_3.5 with image
docker.io/ivorysql/ivorysql-postgis:ubi9-3.5-5.4-1 which mismatches the workflow
and likely the operator; run the suggested grep checks to confirm whether the
operator expects RELATED_IMAGE_IVORY_18_GIS_3.5 and/or
docker.io/ivorysql/postgis:ubi9-3.5-5.4-1, then update manager.yaml to use the
exact environment variable name the operator references (e.g.,
RELATED_IMAGE_IVORY_18_GIS_3.5 if found) and set the image value to the exact
image string used by the operator/workflow (e.g.,
docker.io/ivorysql/postgis:ubi9-3.5-5.4-1) so names and image references are
consistent.
In `@examples/kustomize/ivory/ivory.yaml`:
- Line 6: The example references two non-existent Docker Hub
tags—docker.io/ivorysql/ivorysql:ubi9-5.4-5.4-1 and
docker.io/ivorysql/pgbackrest:ubi9-2.58.0-5.4-1—so update those image fields to
valid published tags (or change them to a supported tag like a documented
release or :latest) or ensure the missing images are published before merging;
specifically locate the image entries that match those exact strings in
ivory.yaml and replace them with confirmed tags from the ivorysql Docker Hub
repositories.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1008c92d-fca9-4db3-8814-8336c6a1e257
📒 Files selected for processing (14)
.github/workflows/test.yamlMakefileconfig/manager/manager.yamlexamples/ivorycluster/ivorycluster.yamlexamples/kustomize/azure/ivory.yamlexamples/kustomize/gcs/ivory.yamlexamples/kustomize/high-availability/ha-ivory.yamlexamples/kustomize/install/manager/manager.yamlexamples/kustomize/ivory/ivory.yamlexamples/kustomize/keycloak/ivory.yamlexamples/kustomize/multi-backup-repo/ivory.yamlexamples/kustomize/s3/ivory.yamltesting/kuttl/e2e-other/exporter-upgrade/00--cluster.yamltesting/kuttl/e2e-other/exporter-upgrade/02--update-cluster.yaml
| value: "docker.io/ivorysql/ivorysql:ubi9-5.4-5.4-1" | ||
| - name: RELATED_IMAGE_PGADMIN | ||
| value: "docker.io/ivorysql/pgadmin:ubi9-9.9-5.3-1" | ||
| value: "docker.io/ivorysql/pgadmin:ubi9-9.11-5.4-1" | ||
| - name: RELATED_IMAGE_PGBACKREST | ||
| value: "docker.io/ivorysql/pgbackrest:ubi9-2.56.0-5.3-1" | ||
| value: "docker.io/ivorysql/pgbackrest:ubi9-2.58.0-5.4-1" | ||
| - name: RELATED_IMAGE_PGBOUNCER | ||
| value: "docker.io/ivorysql/pgbouncer:ubi9-1.24.0-5.3-1" | ||
| value: "docker.io/ivorysql/pgbouncer:ubi9-1.25.2-5.4-1" | ||
| - name: RELATED_IMAGE_PGEXPORTER | ||
| value: "docker.io/ivorysql/postgres-exporter:ubi9-0.17.0-5.3-1" | ||
| value: "docker.io/ivorysql/postgres-exporter:ubi9-0.17.0-5.4-1" | ||
| - name: RELATED_IMAGE_PGUPGRADE | ||
| value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-5.3.1-0" | ||
| value: "registry.developers.crunchydata.com/crunchydata/crunchy-upgrade:ubi9-5.4.1-0" | ||
| - name: RELATED_IMAGE_POSTGRES_18_GIS_3.5 | ||
| value: "docker.io/ivorysql/ivorysql-postgis:ubi9-3.5-5.3-1" | ||
| value: "docker.io/ivorysql/ivorysql-postgis:ubi9-3.5-5.4-1" |
There was a problem hiding this comment.
Image name and environment variable naming inconsistency detected.
There's a critical discrepancy between this file and .github/workflows/test.yaml:
-
Image name mismatch (Line 34):
- This file uses:
docker.io/ivorysql/ivorysql-postgis:ubi9-3.5-5.4-1 - Workflow uses:
docker.io/ivorysql/postgis:ubi9-3.5-5.4-1
- This file uses:
-
Environment variable name mismatch (Line 33-34):
- This file uses:
RELATED_IMAGE_POSTGRES_18_GIS_3.5 - Workflow uses:
RELATED_IMAGE_IVORY_18_GIS_3.5
- This file uses:
If the operator code expects RELATED_IMAGE_IVORY_18_GIS_3.5 but this deployment sets RELATED_IMAGE_POSTGRES_18_GIS_3.5, the PostGIS image reference may fail at runtime.
Run the following script to verify which environment variable name and image the operator actually expects:
#!/bin/bash
# Check which PostGIS-related env var name is referenced in operator code
rg -n -C3 'RELATED_IMAGE.*GIS' --type=go
# Check which postgis image name is used
rg -n -C3 'ivorysql-postgis|/postgis:' --type=go🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@config/manager/manager.yaml` around lines 22 - 34, The manager.yaml currently
defines RELATED_IMAGE_POSTGRES_18_GIS_3.5 with image
docker.io/ivorysql/ivorysql-postgis:ubi9-3.5-5.4-1 which mismatches the workflow
and likely the operator; run the suggested grep checks to confirm whether the
operator expects RELATED_IMAGE_IVORY_18_GIS_3.5 and/or
docker.io/ivorysql/postgis:ubi9-3.5-5.4-1, then update manager.yaml to use the
exact environment variable name the operator references (e.g.,
RELATED_IMAGE_IVORY_18_GIS_3.5 if found) and set the image value to the exact
image string used by the operator/workflow (e.g.,
docker.io/ivorysql/postgis:ubi9-3.5-5.4-1) so names and image references are
consistent.
| name: hippo | ||
| spec: | ||
| image: docker.io/ivorysql/ivorysql:ubi9-5.3-5.3-1 | ||
| image: docker.io/ivorysql/ivorysql:ubi9-5.4-5.4-1 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Verify the availability of the new container images in Docker Hub
# Check IvorySQL 5.4 image
echo "Checking IvorySQL 5.4 image..."
curl -s "https://hub.docker.com/v2/repositories/ivorysql/ivorysql/tags/ubi9-5.4-5.4-1" | jq -r '.name // "Image not found"'
# Check pgBackrest 2.58.0 image
echo "Checking pgBackrest 2.58.0 image..."
curl -s "https://hub.docker.com/v2/repositories/ivorysql/pgbackrest/tags/ubi9-2.58.0-5.4-1" | jq -r '.name // "Image not found"'Repository: IvorySQL/ivory-operator
Length of output: 1998
🏁 Script executed:
#!/bin/bash
set -euo pipefail
check_tag() {
local namespace="$1" repo="$2" tag="$3"
local url="https://hub.docker.com/v2/repositories/${namespace}/${repo}/tags/${tag}"
echo "Checking ${namespace}/${repo}:${tag}..."
if json="$(curl -fsSL "$url")"; then
echo "$json" | python3 -c 'import sys, json; d=json.load(sys.stdin); print(d.get("name","Image found"))'
else
echo "Image not found"
fi
}
check_tag "ivorysql" "ivorysql" "ubi9-5.4-5.4-1"
check_tag "ivorysql" "pgbackrest" "ubi9-2.58.0-5.4-1"Repository: IvorySQL/ivory-operator
Length of output: 1968
🏁 Script executed:
#!/bin/bash
set -euo pipefail
check_tag() {
local repo="$1" tag="$2"
local url="https://hub.docker.com/v2/repositories/${repo}/tags/${tag}"
code="$(curl -s -o /dev/null -w "%{http_code}" "$url")"
echo "${repo}:${tag} -> HTTP ${code}"
}
check_tag "ivorysql/ivorysql" "ubi9-5.4-5.4-1"
check_tag "ivorysql/pgbackrest" "ubi9-2.58.0-5.4-1"Repository: IvorySQL/ivory-operator
Length of output: 1968
🌐 Web query:
Find whether Docker Hub tag ivorysql/ivorysql:ubi9-5.4-5.4-1 exists
💡 Result:
Based on the available information as of June 11, 2026, the specific Docker Hub tag ivorysql/ivorysql:ubi9-5.4-5.4-1 does not appear to exist [1]. While other tags following similar naming patterns exist (such as ubi9-5.3-5.3-1 [2] and various ubi9 or trixie versions [1]), the requested tag is not listed in the official IvorySQL Docker Hub repository [1][3]. The naming convention for IvorySQL tags generally incorporates the version, such as ubi9-5.3-5.3-1 [2], but there is no public record of a 5.4-5.4-1 release for the UBI9 platform at this time [1].
Citations:
- 1: https://hub.docker.com/r/ivorysql/ivorysql/tags
- 2: https://docker.aityp.com/image/docker.io/ivorysql/ivorysql:ubi9-5.3-5.3-1
- 3: https://hub.docker.com/r/ivorysql/ivorysql
🌐 Web query:
Find whether Docker Hub tag ivorysql/pgbackrest:ubi9-2.58.0-5.4-1 exists
💡 Result:
The Docker Hub tag ivorysql/pgbackrest:ubi9-2.58.0-5.4-1 does not appear to exist [1][2]. While IvorySQL does maintain a ivorysql/pgbackrest repository on Docker Hub, publicly accessible tag lists and related project documentation (such as the ivory-operator repository) show that IvorySQL tags typically follow a versioning scheme corresponding to their release cycles (e.g., ubi9-2.56.0-5.3-1) [1][3][4]. The most recent IvorySQL release updates in the ivory-operator project—which maintains these container image references—have been associated with 5.3-based tags [3][4]. Additionally, official pgBackRest software releases reached version 2.58.0 in January 2026 [5]. While other projects, such as woblerr/pgbackrest, have published Docker images for 2.58.0 [2][6], IvorySQL has not been documented as publishing a corresponding ubi9-2.58.0-5.4-1 tag in its official Docker Hub repository [1]. Users seeking specific pgBackRest 2.58.0 functionality may find it in other independent Docker repositories [2].
Citations:
- 1: https://hub.docker.com/u/ivorysql
- 2: https://hub.docker.com/r/woblerr/pgbackrest
- 3: c474143
- 4: release v5.3 #85
- 5: https://pgbackrest.org/release.html
- 6: Add pgBackRest v2.58.0. woblerr/docker-pgbackrest#70
Fix: example references Docker Hub image tags that don’t appear to be published
docker.io/ivorysql/ivorysql:ubi9-5.4-5.4-1(examples/kustomize/ivory/ivory.yaml line 6) is not listed in the officialivorysql/ivorysqlDocker Hub tags.docker.io/ivorysql/pgbackrest:ubi9-2.58.0-5.4-1(also line 18) is not listed in the officialivorysql/pgbackrestDocker Hub tags.
Update the image tags to existing published tags or publish the missing images before merging.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@examples/kustomize/ivory/ivory.yaml` at line 6, The example references two
non-existent Docker Hub tags—docker.io/ivorysql/ivorysql:ubi9-5.4-5.4-1 and
docker.io/ivorysql/pgbackrest:ubi9-2.58.0-5.4-1—so update those image fields to
valid published tags (or change them to a supported tag like a documented
release or :latest) or ensure the missing images are published before merging;
specifically locate the image entries that match those exact strings in
ivory.yaml and replace them with confirmed tags from the ivorysql Docker Hub
repositories.
Checklist:
Type of Changes:
What is the current behavior (link to any open issues here)?
What is the new behavior (if this is a feature change)?
Other Information:
Summary by CodeRabbit