Skip to content

fix(operatorhub): hide TektonDashboard from OpenShift Provided APIs - #3978

Merged
tekton-robot merged 1 commit into
tektoncd:mainfrom
jkhelil:fix/hide-tektondashboard-openshift-csv
Aug 25, 2026
Merged

fix(operatorhub): hide TektonDashboard from OpenShift Provided APIs#3978
tekton-robot merged 1 commit into
tektoncd:mainfrom
jkhelil:fix/hide-tektondashboard-openshift-csv

Conversation

@jkhelil

@jkhelil jkhelil commented Aug 25, 2026

Copy link
Copy Markdown
Member

Changes

TektonDashboard is Kubernetes-only, but commit e18041d moved the tektondashboards CRD into the shared config/base to 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 the tektondashboards CRD, causing kustomize to drop it from the OpenShift build output entirely. Verified:

  • kustomize build config/openshift/overlays/operatorhub → 0 matches for tektondashboards
  • kustomize build config/kubernetes/overlays/operatorhub → still includes it (3 matches)

2. OLM internal-objects safety net (OpenShift CSV templates)
Adds tektondashboards.operator.tekton.dev to the operators.operatorframework.io/internal-objects annotation so OLM hides it from the console even if the CRD ends up in a bundle built via the release-manifest strategy, which uses a pre-built release.yaml and bypasses kustomize overlays.

Submitter Checklist

Release Notes

Fix TektonDashboard appearing as a Provided API in the OpenShift console. The CRD is now excluded from the OpenShift bundle via a kustomize patch and hidden by OLM's internal-objects annotation.

Made with Cursor

@tekton-robot tekton-robot added the release-note Denotes a PR that will be considered when it comes time to generate release notes. label Aug 25, 2026
@tekton-robot tekton-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Aug 25, 2026
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>
@jkhelil
jkhelil force-pushed the fix/hide-tektondashboard-openshift-csv branch from b7ddbc4 to 7aeef15 Compare August 25, 2026 08:28
@codecov

codecov Bot commented Aug 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.33%. Comparing base (7f0f5de) to head (7aeef15).
⚠️ Report is 4 commits behind head on main.

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           
Flag Coverage Δ
unit-tests 26.33% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pratap0007

Copy link
Copy Markdown
Contributor

/approve

@tekton-robot

Copy link
Copy Markdown
Contributor

[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

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 25, 2026
@pratap0007

Copy link
Copy Markdown
Contributor

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 25, 2026
@tekton-robot
tekton-robot merged commit 8e513af into tektoncd:main Aug 25, 2026
17 checks passed
@pratap0007

Copy link
Copy Markdown
Contributor

/cherry-pick release-v0.81.x

@tekton-robot

Copy link
Copy Markdown
Contributor

Cherry-pick to release-v0.81.x successful!

A new pull request has been created to cherry-pick this change to release-v0.81.x.

PR: #3979

Please review and merge the cherry-pick PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants