Skip to content

v5.4 release#86

Open
balinorLiang wants to merge 1 commit into
IvorySQL:masterfrom
balinorLiang:v5.4_release
Open

v5.4 release#86
balinorLiang wants to merge 1 commit into
IvorySQL:masterfrom
balinorLiang:v5.4_release

Conversation

@balinorLiang

@balinorLiang balinorLiang commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Checklist:

  • Have you added an explanation of what your changes do and why you'd like them to be included?
  • Have you updated or added documentation for the change, as applicable?
  • Have you tested your changes on all related environments with successful results, as applicable?
    • Have you added automated tests?

Type of Changes:

  • New feature
  • Bug fix
  • Documentation
  • Testing enhancement
  • Other

What is the current behavior (link to any open issues here)?

What is the new behavior (if this is a feature change)?

  • Breaking change (fix or feature that would cause existing functionality to change)

Other Information:

Summary by CodeRabbit

  • Chores
    • Updated container image tags across configuration files and deployment examples, including IvorySQL, pgBackrest, pgBouncer, pgAdmin, postgres-exporter, postgis, and crunchy-upgrade components to reference newer versions.
    • Updated GitHub Actions workflow and testing configurations to align with the new container image versions.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This 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.

Changes

Container image version bump (5.3 → 5.4)

Layer / File(s) Summary
Build and test tooling configuration
.github/workflows/test.yaml, Makefile
GitHub Actions workflow k3d image prefetch lists and Docker environment variables updated to reference IvorySQL 5.4 image tags. Makefile generate-kuttl target exports updated KUTTL_IVORY_IMAGE default for test template rendering.
Operator manager environment variables
config/manager/manager.yaml
RELATED_IMAGE_* environment variables in the operator container updated to reference IvorySQL 5.4 and related component image tags (pgAdmin, pgBackrest, pgBouncer, postgres-exporter, crunchy-upgrade, PostGIS).
Example cluster manifests
examples/ivorycluster/ivorycluster.yaml, examples/kustomize/azure/ivory.yaml, examples/kustomize/gcs/ivory.yaml, examples/kustomize/high-availability/ha-ivory.yaml, examples/kustomize/install/manager/manager.yaml, examples/kustomize/ivory/ivory.yaml, examples/kustomize/keycloak/ivory.yaml, examples/kustomize/multi-backup-repo/ivory.yaml, examples/kustomize/s3/ivory.yaml
IvoryCluster spec.image updated from ubi9-5.3-5.3-1 to ubi9-5.4-5.4-1, and pgBackrest backup image updated from ubi9-2.56.0-5.3-1 to ubi9-2.58.0-5.4-1 across all example deployment configurations.
E2E test manifests
testing/kuttl/e2e-other/exporter-upgrade/00--cluster.yaml, testing/kuttl/e2e-other/exporter-upgrade/02--update-cluster.yaml
IvoryCluster image field updated from ubi9-5.3-5.3-1 to ubi9-5.4-5.4-1 in exporter-upgrade test definitions.

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • IvorySQL/ivory-operator#85: Prior related container image tag bump with similar updates to KUTTL_IVORY_IMAGE, RELATED_IMAGE_* variables, and IvoryCluster/pgBackrest image references.
  • IvorySQL/ivory-operator#80: Earlier coordinated image-tag bumps for IvorySQL-related components with overlapping updates to config/manager/manager.yaml environment variables.

Suggested reviewers

  • jiaoshuntian

🐰 A hop, skip, and version bump away,
From 5.3 up to 5.4 we say,
Configs aligned, examples shine,
Workflows and tests now in line,
IvorySQL sails on a brighter day!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'v5.4 release' clearly summarizes the main change: updating container image tags across the repository to v5.4 versions of IvorySQL, pgBackRest, and related components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between c474143 and 47eb4ad.

📒 Files selected for processing (14)
  • .github/workflows/test.yaml
  • Makefile
  • config/manager/manager.yaml
  • examples/ivorycluster/ivorycluster.yaml
  • examples/kustomize/azure/ivory.yaml
  • examples/kustomize/gcs/ivory.yaml
  • examples/kustomize/high-availability/ha-ivory.yaml
  • examples/kustomize/install/manager/manager.yaml
  • examples/kustomize/ivory/ivory.yaml
  • examples/kustomize/keycloak/ivory.yaml
  • examples/kustomize/multi-backup-repo/ivory.yaml
  • examples/kustomize/s3/ivory.yaml
  • testing/kuttl/e2e-other/exporter-upgrade/00--cluster.yaml
  • testing/kuttl/e2e-other/exporter-upgrade/02--update-cluster.yaml

Comment on lines +22 to +34
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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical | ⚡ Quick win

Image name and environment variable naming inconsistency detected.

There's a critical discrepancy between this file and .github/workflows/test.yaml:

  1. 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
  2. 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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 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:


🌐 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:


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 official ivorysql/ivorysql Docker Hub tags.
  • docker.io/ivorysql/pgbackrest:ubi9-2.58.0-5.4-1 (also line 18) is not listed in the official ivorysql/pgbackrest Docker 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant