Update registry.access.redhat.com/ubi9/go-toolset Docker tag to v9.8-1786351949 - #246
Conversation
…1786351949 Signed-off-by: red-hat-konflux-kflux-prd-rh02 <190377777+red-hat-konflux-kflux-prd-rh02[bot]@users.noreply.github.com>
📝 WalkthroughSummary by CodeRabbit
WalkthroughThe Docker builder stage now uses image tag Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 11✅ Passed checks (11 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@Dockerfile`:
- Line 3: Pin both Docker base image references by digest: append the specified
manifest-list digest to the builder image in the FROM instruction, and update
the runtime default BASE_IMAGE to use its corresponding immutable digest while
preserving the existing tags and build flow.
🪄 Autofix
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: Central YAML (base), Organization UI (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 9dad9a42-1c2f-4b73-93ca-76522cf03223
📒 Files selected for processing (1)
Dockerfile
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
openshift-hyperfleet/architecture(manual)openshift-hyperfleet/hyperfleet-api(manual) → reviewed against open PR#333konflux/mintmaker/main/docker-image-updatesinstead of the default branchopenshift-hyperfleet/hyperfleet-sentinel(manual)openshift-hyperfleet/hyperfleet-adapter(manual) → reviewed against open PR#272konflux/mintmaker/main/docker-image-updatesinstead of the default branchopenshift-hyperfleet/hyperfleet-broker(manual)
| ARG BASE_IMAGE=registry.access.redhat.com/ubi9-micro:latest | ||
|
|
||
| FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786023237 AS builder | ||
| FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786351949 AS builder |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
skopeo inspect --format '{{.Name}}@{{.Digest}}' \
docker://registry.access.redhat.com/ubi9/go-toolset:9.8-1786351949Repository: openshift-hyperfleet/hyperfleet-sentinel
Length of output: 222
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '--- Dockerfile ---'
cat -n Dockerfile
printf '%s\n' '--- Docker-related files ---'
git ls-files | rg '(^|/)(Dockerfile|Containerfile)([^/]*$)|(^|/)\.dockerignore$' || true
printf '%s\n' '--- relevant diff summary ---'
git diff --stat
git diff -- DockerfileRepository: openshift-hyperfleet/hyperfleet-sentinel
Length of output: 2564
🏁 Script executed (no clone):
#!/usr/bin/env bash
set -euo pipefail
image='registry.access.redhat.com/ubi9/go-toolset'
tag='9.8-1786351949'
printf '%s\n' '--- registry manifest headers ---'
curl --fail-with-body -sSIL \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \
-H 'Accept: application/vnd.oci.image.manifest.v1+json' \
"https://${image}/manifests/${tag}" || true
printf '%s\n' '--- registry manifest response headers ---'
curl --fail-with-body -sS -D - -o /dev/null \
-H 'Accept: application/vnd.docker.distribution.manifest.v2+json' \
-H 'Accept: application/vnd.oci.image.manifest.v1+json' \
"https://${image}/manifests/${tag}" || true
Length of output: 698
🏁 Script executed (no clone):
#!/usr/bin/env bash
set -euo pipefail
repo='ubi9/go-toolset'
tag='9.8-1786351949'
printf '%s\n' '--- registry API ---'
curl -sS -D - -o /tmp/registry-v2-response \
'https://registry.access.redhat.com/v2/' || true
cat /tmp/registry-v2-response
printf '%s\n' '--- image manifest through registry API ---'
curl -sS -D /tmp/manifest-headers -o /tmp/manifest-body \
-H 'Accept: application/vnd.oci.image.index.v1+json' \
-H 'Accept: application/vnd.docker.distribution.manifest.list.v2+json' \
-H 'Accept: application/vnd.oci.image.manifest.v1+json' \
"https://registry.access.redhat.com/v2/${repo}/manifests/${tag}" || true
cat /tmp/manifest-headers
printf '%s\n' '--- manifest body ---'
cat /tmp/manifest-body
printf '%s\n' '--- catalog API candidates ---'
for url in \
"https://catalog.redhat.com/api/containers/v1/repositories/registry/registry.access.redhat.com/ubi9/go-toolset" \
"https://catalog.redhat.com/api/containers/v1/repositories/registry/ubi9/go-toolset" \
"https://catalog.redhat.com/api/containers/v1/repositories/registry/registry.access.redhat.com/ubi9/go-toolset/tags/${tag}"; do
printf 'URL: %s\n' "$url"
curl -sS -L -w '\nHTTP %{http_code}\n' "$url" | head -c 4000
printf '\n'
done
Length of output: 2567
🌐 Web query:
registry.access.redhat.com ubi9/go-toolset 9.8-1786351949 manifest digest
💡 Result:
The manifest digest for a specific container image tag like registry.access.redhat.com/ubi9/go-toolset:9.8-1786351949 is not a single, universally static value because these tags are updated frequently by Red Hat as part of their security patching and maintenance cycle [1][2][3]. To obtain the current manifest digest for this specific image tag, you should use one of the following authoritative methods: 1. Red Hat Ecosystem Catalog: Visit the official Red Hat Ecosystem Catalog page for the UBI 9 Go Toolset [4]. This site provides the official manifest list digest for the current version of the image, which ensures you pull the correct, supported image for your architecture [4]. 2. Skopeo: Use the skopeo tool to inspect the image remotely without pulling it to your local system [5]. This command will return the digest associated with the tag: skopeo inspect docker://registry.access.redhat.com/ubi9/go-toolset:9.8-1786351949 3. Docker/Podman: You can also identify the digest after pulling the image by running: podman images --digests --no-trunc or docker images --digests --no-trunc Because Red Hat container tags are mutable and updated regularly, referencing them by tag rather than digest may lead to pulling different image content over time [6][7]. It is a recommended best practice to verify the specific digest for your environment at the time of your build using the methods above [6].
Citations:
- 1: chore(deps): update registry.access.redhat.com/ubi9/go-toolset docker tag to v9.8-1782852234 (release-1.10) redhat-developer/rhdh-operator#3126
- 2: chore(deps): update registry.access.redhat.com/ubi9/go-toolset docker tag to v9.8-1782852234 (main) redhat-developer/rhdh-operator#3125
- 3: stolostron/cluster-api-installer@cf4aff0
- 4: https://catalog.redhat.com/software/containers/ubi9/go-toolset/61e5c00b4ec9945c18787690
- 5: https://docs.redhat.com/documentation/red_hat_enterprise_linux/10/html/building_running_and_managing_containers/working-with-container-images
- 6: 🚨 Update registry.access.redhat.com/ubi9/go-toolset Docker tag to v9 (main) conforma/cli#3375
- 7: https://blog.marcnuri.com/how-to-find-a-multi-platform-docker-image-digest
Pin both container base images by digest before merge.
Line 3 resolves to manifest-list digest sha256:0b471eb04868f3d9d90bf3c668f9c6c7a22cef07474ac9fec067909dfd7dec7c:
FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786351949@sha256:0b471eb04868f3d9d90bf3c668f9c6c7a22cef07474ac9fec067909dfd7dec7c AS builderPin the runtime default BASE_IMAGE at line 1 as well. Tag-only references permit different image contents across builds, creating a supply-chain integrity risk under CWE-494.
🤖 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 `@Dockerfile` at line 3, Pin both Docker base image references by digest:
append the specified manifest-list digest to the builder image in the FROM
instruction, and update the runtime default BASE_IMAGE to use its corresponding
immutable digest while preserving the existing tags and build flow.
Source: Path instructions
Risk Score: 0 —
|
| Signal | Detail | Points |
|---|---|---|
| PR size | 2 lines | +0 |
| Sensitive paths | none | +0 |
Computed by hyperfleet-risk-scorer
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rafabene The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This PR contains the following updates:
9.8-1786023237→9.8-1786351949Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
To execute skipped test pipelines write comment
/ok-to-test.Documentation
Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.