Skip to content

[cherry-pick: release-v0.80.x] fix(kustomize): move platform-specific CRDs to shared base - #3880

Open
tekton-robot wants to merge 1 commit into
release-v0.80.xfrom
cherry-pick-3878-to-release-v0.80.x
Open

[cherry-pick: release-v0.80.x] fix(kustomize): move platform-specific CRDs to shared base#3880
tekton-robot wants to merge 1 commit into
release-v0.80.xfrom
cherry-pick-3878-to-release-v0.80.x

Conversation

@tekton-robot

Copy link
Copy Markdown
Contributor

This is a cherry-pick of #3878


Changes

Newer kustomize versions enforce a security restriction that rejects
direct file references pointing outside the kustomization root.
config/kubernetes/base and config/openshift/base both referenced
CRD files via ../../base/generated-crds/..., which violates that
restriction and caused kustomize build to silently fail during
releases (the error was swallowed because the pipeline does not set
pipefail).

This manifested as the koparse step failing with:

Expected images did not match: Images [...] were expected but missing.

because ko resolve received empty stdin (from the failed kustomize
pipe) and produced an empty release.yaml.

Move tektondashboards and tektonaddons CRDs from their platform-specific
kustomization.yaml files into config/base/kustomization.yaml where
controller-gen already writes all generated CRDs. The extra CRDs on
each platform are harmless — their reconcilers are platform-gated.

Root cause introduced by: 1ae0906 (Cleanup manual CRDs and use generated
CRDs in kustomize)

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

See the contribution guide for more details.

Release Notes

NONE

Made with Cursor

Newer kustomize versions enforce a security restriction that
rejects direct file references pointing outside the kustomization
root. config/kubernetes/base and config/openshift/base both
referenced CRD files via ../../base/generated-crds/..., which
violates that restriction and caused kustomize build to silently
fail during releases (the error was swallowed because the pipeline
does not set pipefail).

Move tektondashboards and tektonaddons CRDs from their platform-
specific kustomization.yaml files into config/base/kustomization.yaml
where controller-gen already writes all generated CRDs. The extra
CRDs on each platform are harmless — their reconcilers are
platform-gated.

Signed-off-by: Jawed khelil <jkhelil@redhat.com>
Assisted-by: Claude Sonnet 4.6 (via Cursor)
Co-authored-by: Cursor <cursoragent@cursor.com>
@tekton-robot tekton-robot added the release-note-none Denotes a PR that doesnt merit a release note. label Aug 7, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor Author

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign anithapriyanatarajan after the PR has been reviewed.
You can assign the PR to them by writing /assign @anithapriyanatarajan in a comment when ready.

The full list of commands accepted by this bot can be found 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 size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note-none Denotes a PR that doesnt merit a release note. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants