Update registry.access.redhat.com/ubi9/go-toolset Docker tag to v9.8-1786023237 - #332
Conversation
…1786023237 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 Dockerfile updates the builder stage from 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: Update the Dockerfile’s builder base image reference to a
digest-qualified form, and ensure any BASE_IMAGE override remains
digest-qualified rather than accepting a mutable tag. Keep the existing builder
stage behavior unchanged.
🪄 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: 0441da11-db77-48c7-84fc-e5adb0f84cd6
📒 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)openshift-hyperfleet/hyperfleet-sentinel(manual) → reviewed against open PR#244konflux/mintmaker/main/docker-image-updatesinstead of the default branchopenshift-hyperfleet/hyperfleet-adapter(manual) → reviewed against open PR#271konflux/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-1785443561 AS builder | ||
| FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786023237 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
image='registry.access.redhat.com/ubi9/go-toolset:9.8-1786023237'
digest="$(skopeo inspect --format '{{.Digest}}' "docker://${image}")"
case "$digest" in
sha256:*) ;;
*) echo "Invalid digest: $digest" >&2; exit 1 ;;
esac
printf 'Use: %s@%s\n' "$image" "$digest"Repository: openshift-hyperfleet/hyperfleet-api
Length of output: 217
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '--- Dockerfile ---'
cat -n Dockerfile
printf '%s\n' '--- repository references to the image ---'
rg -n -F 'registry.access.redhat.com/ubi9/go-toolset' . --glob '!vendor/**' --glob '!node_modules/**' || true
printf '%s\n' '--- Docker-related files ---'
git ls-files '*Dockerfile*' '*dockerignore*' '.containerignore'Repository: openshift-hyperfleet/hyperfleet-api
Length of output: 2870
🏁 Script executed (no clone):
#!/usr/bin/env bash
set -euo pipefail
image='registry.access.redhat.com/ubi9/go-toolset'
tag='9.8-1786023237'
manifest_url="https://registry.access.redhat.com/v2/ubi9/go-toolset/manifests/${tag}"
printf '%s\n' '--- registry manifest headers ---'
curl --fail --silent --show-error --location \
-H 'Accept: application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json' \
-D - -o /tmp/ubi9-go-toolset-manifest.json \
"$manifest_url" | sed -n '1,40p'
printf '%s\n' '--- registry manifest digest and shape ---'
sha_header="$(curl --fail --silent --show-error --location \
-H 'Accept: application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json' \
-D - -o /dev/null "$manifest_url" | awk 'BEGIN{IGNORECASE=1} /^Docker-Content-Digest:/ {gsub("\r","",$2); print $2; exit}')"
printf 'Docker-Content-Digest: %s\n' "${sha_header:-<missing>}"
python3 - <<'PY'
import json
with open('/tmp/ubi9-go-toolset-manifest.json', encoding='utf-8') as f:
data = json.load(f)
print('mediaType:', data.get('mediaType'))
print('schemaVersion:', data.get('schemaVersion'))
print('manifests:', len(data.get('manifests', [])))
for item in data.get('manifests', []):
print(item.get('platform'), item.get('digest'))
PY
Length of output: 1250
🏁 Script executed (no clone):
#!/usr/bin/env bash
set -euo pipefail
manifest_url='https://registry.access.redhat.com/v2/ubi9-micro/manifests/latest'
curl --fail --silent --show-error --location \
-H 'Accept: application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json' \
-D - -o /dev/null "$manifest_url" |
awk 'BEGIN{IGNORECASE=1} /^Docker-Content-Digest:/ {gsub("\r","",$2); print "ubi9-micro:latest digest:", $2; found=1} END{if (!found) exit 1}'
Length of output: 223
Pin all base images by digest before merging.
Proposed fix
-FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786023237 AS builder
+FROM registry.access.redhat.com/ubi9/go-toolset:9.8-1786023237@sha256:5d26ff5606bd6590930e7cfc202b510e3fe2c7a7a1720860f444ab49c45128cb AS builder
-ARG BASE_IMAGE=registry.access.redhat.com/ubi9-micro:latest
+ARG BASE_IMAGE=registry.access.redhat.com/ubi9-micro:latest@sha256:b1e86b97028b8fcfb6d85f997c39e6b6b67496163ef8d80d243220a4918e8befKeep BASE_IMAGE overrides digest-qualified. Mutable tags allow later builds to use different image bytes and create a supply-chain integrity risk (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, Update the Dockerfile’s builder base image reference
to a digest-qualified form, and ensure any BASE_IMAGE override remains
digest-qualified rather than accepting a mutable tag. Keep the existing builder
stage behavior unchanged.
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-1785443561→9.8-1786023237Configuration
📅 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.