-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Kustomize filter kinds on "base" input #4436
Comments
@epcim: This issue is currently awaiting triage. SIG CLI takes a lead on issue triage for this repo, but any Kubernetes member can accept issues by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Creating variants is indeed Kustomize's speciality, and we eschew features that would overcomplicate that basic use case. The doc you linked to does describe the intended workflow for when a base not under your control is not doing what you want:
While I'm sympathetic to the desire not to maintain a fork, all of the reasons the doc explains for eschewing deletions as a feature still hold true in my opinion. You rightly point out that we are investing in extensions mechanisms (KRM functions), and these can be used to create behaviour that is out of scope for Kustomize core, which could include deletion behaviour or even something helm-lifecycle-specific.
Kustomize is strictly focussed on client-side configuration management. The tool itself is not involved in or aware of lifecycle operations, and that increase in scope is not an option for us. For the helm example in particular, perhaps there is a feature that could make sense on the helm transformer, once it is extracted out of Kustomize per #4401 . |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Is your feature request related to a problem? Please describe.
There were already closed discussion whether Kustomize shall remove resources from it's "base" source and these IMO were closed as not a good practice.
I would like to reopen this or rather say more discussion/document what is "bases" for Kustomize. Sorry If I did missed some other issue with the same topic.
In the example bellow, you see Helm chart of longhorn provides this job, with annotation used to be executed on deployment removal:
Why I would like to bring it to light again. This Helm chart in this case is "bad base" for the Kustomize. In fact not a direct bug of Kustomize itself, we could blame longhorn, but it's clear that some deployment annotations (not strictly Helm related) are being used for app life-cycle, but Kustomize itself will never take care of them.
Let's not speak about "filtering" resources only. We may want to add annotations, to mark, not to apply specific resource later. Obviously Kustomize is not yet in this business (not sure but
kpt live applly -
would treat that better?)With KRM Fn available, with some more time with the project, how does the "Kustomize" team does feel what "bases" are and how they shall be used?
If the 2nd is true, and many people use it this way from I have seen, then Helm or any KRM Fn can serve as generic manifest source. However without a primary control of such source (as it probably reside on some public repo, and you can only control it's global values.yaml etc..) one then miss the capability to pick only the Kinds wanted (or filter some not desired, not only transform them).
Imagine this source:
That will render, besides other manifests this, and guess (yes it's immutable if it exist so at first apply will fail, but on each apply you force it effectively do the task - uninstall whole. longhorn, including it's data.
Recent discussion, resources
Describe the solution you'd like
Describe alternatives you've considered
The text was updated successfully, but these errors were encountered: