fix(operatorhub): hide TektonDashboard from OpenShift Provided APIs - #3978
Conversation
TektonDashboard is Kubernetes-only. Commit e18041d moved the tektondashboards CRD into the shared config/base to satisfy kustomize's path restrictions, which caused the OpenShift bundle to start shipping it. OLM then advertised it as a Provided API in the OpenShift console Provided APIs list. Fix with two complementary layers: 1. Add a kustomize patch in config/openshift/base that marks tektondashboards CRD with config.kubernetes.io/local-config, which causes kustomize to drop it from the OpenShift build output entirely. Verified: kustomize build produces 0 matches for tektondashboards on OpenShift, and still 3 on Kubernetes. 2. Add tektondashboards.operator.tekton.dev to internal-objects in all OpenShift CSV templates so OLM hides it from the console even if the CRD appears in a bundle built via the release-manifest strategy (which bypasses kustomize overlays). Signed-off-by: Jawed khelil <jkhelil@redhat.com> Assisted-by: Claude Sonnet 4.6 (via Cursor) Co-authored-by: Cursor <cursoragent@cursor.com>
b7ddbc4 to
7aeef15
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3978 +/- ##
=======================================
Coverage 26.33% 26.33%
=======================================
Files 465 465
Lines 24951 24951
=======================================
Hits 6572 6572
Misses 17661 17661
Partials 718 718
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pratap0007 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 |
|
/lgtm |
|
/cherry-pick release-v0.81.x |
|
✅ Cherry-pick to A new pull request has been created to cherry-pick this change to PR: #3979 Please review and merge the cherry-pick PR. |
Changes
TektonDashboardis Kubernetes-only, but commit e18041d moved thetektondashboardsCRD into the sharedconfig/baseto satisfy kustomize's path restrictions. This caused the OpenShift bundle to start shipping it, and OLM began advertising it as a Provided API in the OpenShift console.This fix applies two complementary layers:
1. Kustomize exclusion (
config/openshift/base/kustomization.yaml)Adds a patch that sets
config.kubernetes.io/local-config: "true"on thetektondashboardsCRD, causing kustomize to drop it from the OpenShift build output entirely. Verified:kustomize build config/openshift/overlays/operatorhub→ 0 matches fortektondashboardskustomize build config/kubernetes/overlays/operatorhub→ still includes it (3 matches)2. OLM internal-objects safety net (OpenShift CSV templates)
Adds
tektondashboards.operator.tekton.devto theoperators.operatorframework.io/internal-objectsannotation so OLM hides it from the console even if the CRD ends up in a bundle built via therelease-manifeststrategy, which uses a pre-builtrelease.yamland bypasses kustomize overlays.Submitter Checklist
make test lintbefore submitting a PRRelease Notes
Made with Cursor