✨ Add bundle-config annotation to ClusterExtensionRevision#2549
✨ Add bundle-config annotation to ClusterExtensionRevision#2549perdasilva wants to merge 3 commits intooperator-framework:mainfrom
Conversation
When a ClusterExtension has .spec.config.inline set, propagate the inline configuration as a JSON annotation on the ClusterExtensionRevision using the key olm.operatorframework.io/bundle-config. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Pull request overview
Adds support for persisting a ClusterExtension’s inline configuration onto the generated ClusterExtensionRevision via a new olm.operatorframework.io/bundle-config annotation, with accompanying unit + e2e coverage.
Changes:
- Introduce
labels.BundleConfigKeyconstant for the new revision annotation key. - Set the bundle-config annotation on generated ClusterExtensionRevisions when
.spec.config.inlineis present. - Add unit test coverage and a new e2e scenario validating annotation presence/value.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| test/e2e/features/install.feature | Adds an e2e scenario asserting the revision is annotated with the inline bundle config JSON. |
| internal/operator-controller/labels/labels.go | Defines the olm.operatorframework.io/bundle-config annotation key constant. |
| internal/operator-controller/applier/boxcutter_test.go | Adds unit tests for presence/absence of the bundle-config annotation. |
| internal/operator-controller/applier/boxcutter.go | Applies the bundle-config annotation during ClusterExtensionRevision generation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2549 +/- ##
==========================================
+ Coverage 68.60% 68.71% +0.11%
==========================================
Files 131 131
Lines 9330 9335 +5
==========================================
+ Hits 6401 6415 +14
+ Misses 2438 2430 -8
+ Partials 491 490 -1
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:
|
Append "<truncated due to size limit>" suffix when the inline configuration JSON exceeds 50KB to stay within annotation size limits. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ef269c9 to
e3bac01
Compare
e3bac01 to
a495755
Compare
a495755 to
e82f9d9
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Account for the suffix length when truncating so the final annotation value (content + suffix) does not exceed the 50KB limit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
e82f9d9 to
ad2ae29
Compare
Summary
olm.operatorframework.io/bundle-configannotation to ClusterExtensionRevision when the owning ClusterExtension has.spec.config.inlinesetTest plan
Test_SimpleRevisionGenerator_BundleConfigAnnotation)ClusterExtensionRevision is annotated with bundle config when inline config is set🤖 Generated with Claude Code