feat: add digest-based image reference support for disconnected installations#313
feat: add digest-based image reference support for disconnected installations#313mikenairn wants to merge 2 commits into
Conversation
…llations Adds USE_IMAGE_DIGESTS variable to enable SHA256 digest references in operator bundles for disconnected/air-gapped OpenShift environments. Changes: - Introduce USE_IMAGE_DIGESTS flag (default: false) - When enabled, passes --use-image-digests to operator-sdk generate bundle - Deduplicates relatedImages entries (operator-sdk creates duplicates) - Adds features.operators.openshift.io/disconnected annotation to CSV - Fix catalog-push to use OPERATOR_IMAGE variable - Add Quay image expiry comment to bundle.Dockerfile Digest-based references enable ImageDigestMirrorSet to redirect image pulls to internal registries, supporting true disconnected installations. Signed-off-by: Michael Nairn <mnairn@redhat.com>
|
Warning Review limit reached
More reviews will be available in 17 minutes and 12 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. 📝 WalkthroughWalkthroughThis pull request refines the operator build system by introducing configurable digest-based bundle generation, centralising bundle generation flags, updating the catalog push helper variable naming from ChangesBuild System Enhancements
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 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)
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #313 +/- ##
=======================================
Coverage 57.20% 57.20%
=======================================
Files 13 13
Lines 1458 1458
=======================================
Hits 834 834
Misses 529 529
Partials 95 95
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 `@Makefile`:
- Around line 355-360: The Makefile currently applies digest-specific CSV
mutations inside the USE_IMAGE_DIGESTS block after bundle validation, so the
final artifacts aren't validated; update the Makefile so the bundle validation
step (the existing `bundle validate` invocation or the `bundle` target's
validation logic) runs after `bundle-custom-modifications` (or after the
commands inside the USE_IMAGE_DIGESTS block) instead of before—ensure the
`bundle` target depends on or invokes validation
post-`bundle-custom-modifications` when USE_IMAGE_DIGESTS=true so the
deduplication and disconnected-annotation changes are validated against the
final CSV.
🪄 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: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3e5969a6-68aa-40f6-8fb5-4db69cf9b759
📒 Files selected for processing (3)
Makefilebundle.Dockerfilemake/catalog.mk
Move bundle validation to run after bundle-custom-modifications so the final bundle (with OpenShift version labels, Quay expiry, and optional digest-specific changes) is validated once, regardless of USE_IMAGE_DIGESTS setting. Signed-off-by: Michael Nairn <mnairn@redhat.com>
Summary
Adds support for digest-based image references in operator bundles to enable disconnected (air-gapped) OpenShift installations.
Changes
USE_IMAGE_DIGESTSflag (default: false) to enable SHA256 digest referencesBUNDLE_GEN_FLAGSvariable with conditional--use-image-digestsfeatures.operators.openshift.io/disconnectedannotationRelated
Related to Kuadrant/kuadrant-operator#1894
Summary by CodeRabbit
Release Notes