-
Couldn't load subscription status.
- Fork 68
✨ Promote Single Own Feature Gate AND Config spec in the CR to GA (OPRUN-4098) #2268
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
✨ Promote Single Own Feature Gate AND Config spec in the CR to GA (OPRUN-4098) #2268
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
6ff525c to
6fb12ed
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2268 +/- ##
==========================================
+ Coverage 71.28% 71.41% +0.12%
==========================================
Files 90 90
Lines 7003 7003
==========================================
+ Hits 4992 5001 +9
+ Misses 1599 1591 -8
+ Partials 412 411 -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:
|
docs/draft/tutorials/explore-available-content-metas-endpoint.md
Outdated
Show resolved
Hide resolved
|
/hold We might need to discuss more how to work with see: #2267 (comment) So it si WIP |
b877152 to
97e8c3f
Compare
4799e19 to
02c4de7
Compare
helm/experimental.yaml
Outdated
| - SingleOwnNamespaceInstallSupport | ||
| - WebhookProviderCertManager |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since this is now enabled by default, neither of these should be here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I missed in the rebase
...v1/base/operator-controller/crd/experimental/olm.operatorframework.io_clusterextensions.yaml
Show resolved
Hide resolved
| func TestMain(m *testing.M) { | ||
| cfg = ctrl.GetConfigOrDie() | ||
|
|
||
| var err error | ||
| utilruntime.Must(apiextensionsv1.AddToScheme(scheme.Scheme)) | ||
| c, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) | ||
| utilruntime.Must(err) | ||
|
|
||
| os.Exit(m.Run()) | ||
| } | ||
|
|
||
| func TestNoop(t *testing.T) { | ||
| t.Log("Running experimental-e2e tests") | ||
| defer utils.CollectTestArtifacts(t, artifactName, c, cfg) | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see this file renamed to experimental_test.go (or similar) and just contain TestMain() and TestNoop(). The Boxcutter tests should be in a separate file.
helm/tilt.yaml
Outdated
| - SingleOwnNamespaceInstallSupport | ||
| - WebhookProviderCertManager |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are now on by default, so they should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rebase sorry
a3d83cc to
ea2d9a7
Compare
|
Thank you! |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tmshort The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@perdasilva |
|
Are we just waiting for #2283? |
Co-authored-by: Todd Short <tmshort@users.noreply.github.com>
ea2d9a7 to
efc78ab
Compare
|
New changes are detected. LGTM label has been removed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR promotes the Single Own Feature Gate and Config spec from experimental/alpha to GA (General Availability). The changes enable Single/Own namespace installation modes by default and expose the config field in the standard API schema, allowing operators to be installed in specific namespaces rather than only supporting the AllNamespaces mode.
Key changes:
- Feature gate
SingleOwnNamespaceInstallSupportpromoted from alpha (default: false) to GA (default: true) - Config spec field promoted from experimental to stable API
- Test reorganization:
TestClusterExtensionVersionUpdatemoved frome2eto newexperimental-e2epackage
Reviewed Changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
internal/operator-controller/features/features.go |
Promotes SingleOwnNamespaceInstallSupport feature gate to GA with default enabled |
api/v1/clusterextension_types.go |
Removes experimental marker from Config field |
manifests/standard.yaml |
Adds config field schema to standard CRD |
manifests/standard-e2e.yaml |
Adds config field schema to standard e2e CRD |
helm/olmv1/base/operator-controller/crd/standard/olm.operatorframework.io_clusterextensions.yaml |
Adds config field schema to helm CRD template |
manifests/experimental.yaml |
Removes SingleOwnNamespaceInstallSupport feature gate flag |
manifests/experimental-e2e.yaml |
Removes SingleOwnNamespaceInstallSupport feature gate flag |
helm/tilt.yaml |
Removes SingleOwnNamespaceInstallSupport from enabled features |
helm/experimental.yaml |
Removes SingleOwnNamespaceInstallSupport from enabled features |
test/e2e/single_namespace_support_test.go |
Refactors to use shared test infrastructure from e2e package |
test/experimental-e2e/experimental_test.go |
Creates new experimental test package with shared test setup |
test/experimental-e2e/boxcutter_support_test.go |
Moves version update test to experimental package |
hack/demo/single-namespace-demo-script.sh |
Updates demo to use standard manifests instead of experimental |
hack/demo/own-namespace-demo-script.sh |
Updates demo to use standard manifests instead of experimental |
docs/tutorials/explore-available-content.md |
Removes feature gate requirement note |
docs/draft/tutorials/explore-available-content-metas-endpoint.md |
Removes feature gate requirement note |
docs/draft/howto/single-ownnamespace-install.md |
Updates documentation to reflect GA status |
docs/project/olmv1_limitations.md |
Updates install mode limitations |
docs/api-reference/olmv1-api-reference.md |
Removes experimental marker from config field documentation |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| inline must be set if configType is 'Inline'. | ||
| inline accepts arbitrary JSON/YAML objects. | ||
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. |
Copilot
AI
Oct 24, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar: 'inline is validation' should be 'inline is validated'.
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. | |
| inline is validated at runtime against the schema provided by the bundle if a schema is provided. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catcher, but not related. I will do a follow-up to do this fix.
| inline must be set if configType is 'Inline'. | ||
| inline accepts arbitrary JSON/YAML objects. | ||
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. |
Copilot
AI
Oct 24, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar: 'inline is validation' should be 'inline is validated'.
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. | |
| inline is validated at runtime against the schema provided by the bundle if a schema is provided. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catcher, but not related. I will do a follow-up to do this fix.
| inline must be set if configType is 'Inline'. | ||
| inline accepts arbitrary JSON/YAML objects. | ||
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. |
Copilot
AI
Oct 24, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected grammar: 'inline is validation' should be 'inline is validated'.
| inline is validation at runtime against the schema provided by the bundle if a schema is provided. | |
| inline is validated at runtime against the schema provided by the bundle if a schema is provided. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catcher, but not related. I will do a follow-up to do this fix.
|
I rebased with the main changes I am removing /hold cancel So, that you can review and recheck again. |
Description
operator-controller/internal/operator-controller/applier/provider_test.go
Lines 229 to 234 in 9eac616
Reviewer Checklist