-
Notifications
You must be signed in to change notification settings - Fork 66
🌱 OPRUN-3955: Add experimental manifest #2063
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
🌱 OPRUN-3955: Add experimental manifest #2063
Conversation
✅ Deploy Preview for olmv1 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2063 +/- ##
==========================================
+ Coverage 73.82% 73.86% +0.04%
==========================================
Files 81 81
Lines 7365 7365
==========================================
+ Hits 5437 5440 +3
+ Misses 1588 1586 -2
+ Partials 340 339 -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:
|
/approve |
[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 |
ac5b27c
to
67531a1
Compare
This adds `manifests/experimental.yaml` The difference between the experimental manifest and the standard manifest is the presence of the experimental CRD vs the standard CRD (as of right now there is only a difference in annotations), and the feature-gated components. This change supports defining feature components in _exactly_ one place: * GA'd features are put into `components/base/common` * Feature-Gated/Experimental/TechPreview features are put into `components/base/experimental` This adds new components to make constructing the overlays easier: `components/base/common` includes everything but CRDs and experimental features: * `base/catalog` (but not CRDs) * `base/operator-controller` (but not CRDs) * `base/common` * GA'd features (currently none) `components/base/standard` adds the standard CRD: * `component/base/common` component * standard CRDs `components/base/experimental` includes the experimental CRDs and features: * `component/base/common` component * experimental CRDs * experimental (non-GA'd) features: - `components/features/synthetic-user-permissions` - `components/features/webhook-provider-certmanager` - `components/features/webhook-provider-openshift-serviceca` By necessity, this removes the crd from the `config/base/.../kustomization.yaml` files. These `kustomization.yaml` files define the namespace and prefix for resources, so we need to continue to reference them. Since the CRDs do not have a namespace, and do not use the prefix, the `crd` directory can be removed. Fix the basic-olm overlay to use the new standard component Add new `run-experimental` target, to run with the experimental manifest. This is part of the feature-gated API functionality. Signed-off-by: Todd Short <tshort@redhat.com>
67531a1
to
8968efc
Compare
# and provide alerts from the metrics based on the rules that we set. | ||
.PHONY: e2e-metrics | ||
e2e-metrics: #HELP Request metrics from prometheus; place in ARTIFACT_PATH if set | ||
e2e-metrics: #EXHELP Request metrics from prometheus; place in ARTIFACT_PATH if set |
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.
Not related but very small, thank you for the catcher 👍
|
||
.PHONY: run-experimental | ||
run-experimental: SOURCE_MANIFEST := $(EXPERIMENTAL_MANIFEST) | ||
run-experimental: run #HELP Build the operator-controller then deploy it with the experimental manifest into a new kind cluster. |
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.
run-experimental: run #HELP Build the operator-controller then deploy it with the experimental manifest into a new kind cluster. | |
run-experimental: run #EXHELP Build the operator-controller then deploy it with the experimental manifest into a new kind cluster. |
/lgtm We need to add the e2e tests for the experimental feature to see how it will play out and fix any downstream issues. Great work 👍 |
f050355
into
operator-framework:main
Yes, that is the plan! |
Fix #2015
This adds
manifests/experimental.yaml
The difference between the experimental manifest and the standard manifest is the presence of the experimental CRD vs the standard CRD (as of right now there is only a difference in annotations), and the feature-gated components.
This change supports defining feature components in exactly one place:
components/base/common
components/base/experimental
This adds new components to make constructing the overlays easier:
components/base/common
includes everything but CRDs and experimental features:base/catalog
(but not CRDs)base/operator-controller
(but not CRDs)base/common
components/base/standard
adds the standard CRD:component/base/common
componentcomponents/base/experimental
includes the experimental CRDs and features:component/base/common
componentcomponents/features/synthetic-user-permissions
components/features/webhook-provider-certmanager
components/features/webhook-provider-openshift-serviceca
By necessity, this removes the crd from the
config/base/.../kustomization.yaml
files. Thesekustomization.yaml
files define the namespace and prefix for resources, so we need to continue to reference them. Since the CRDs do not have a namespace, and do not use the prefix, thecrd
directory can be removed.Fix the basic-olm overlay to use the new standard component
Add new
run-experimental
target, to run with the experimental manifest.This is part of the feature-gated API functionality.
Description
Reviewer Checklist