-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Reconcile crds and openapi fields #3944
Comments
An idea stemming from discussion here: #3961 (comment) Alternative: Keep the The main differences right now are:
2 can be made consistent such that both |
I was confused as to why |
I tried adding This whole thing also makes the |
thank you for looking into that and your analysis. If we're talking about this:
What will be a desired target state for kustomize? in another words - what will be a right behavior for kustomize? :) I guess we do want to make crds and openapi consistent (just because k8s does it somehow on its end), but if we also want to make this backward compatible - maybe it can be done by some additional option when we specify crd. e.g. |
@yhrn I completely agree with you that the feature's usefulness would be greatly enhanced if these fields were directly supported in CRD. Here is the k/k issue you can follow for progress on making that possible. As you can see, Kustomize is one of many use cases cited, and though open for a long time, the issue was accepted very recently: kubernetes/kubernetes#82942. @aodinokov My two cents is that we could make what each affects configurable as part of a deprecation process, but that they should be consistent by default in Kustomization v1 |
@KnVerey are you aware of the history behind the extensions listed in kubernetes/kubernetes#82942 (comment)? I am still confused as to where these came from and why they are documented in the Also, following the link @yhrn provided there is reference to a
The description of that property is:
I can't tell based on this description whether that conflicts with the @KnVerey I agree with this proposal and my only other question is how do we plan to handle built-in configurations (like |
I don't have additional context on that history unfortunately.
User-provided openapi is an override: Kustomize already embeds openAPI for builtin types and will continue to do so. IIRC it is primarily used to determine the correct merge strategy to use at the moment, but as @monopole said in the linked issue, we would love to drive the name references config from it as well. Users who deal exclusively with built-in types should not notice anything if/when that switchover happens. |
There needs to be some way to add extra strategic merge keys for CRDs: requiring the entire openapi definition isn't going to be composable. |
/assign |
Copying from one of @KnVerey in another issue (#3961):
@KnVerey If you still support it, I would like to implement this proposal rather than deprecating crds, where
IMO both |
/retitle Reconcile crds and openapi fields |
👍 I still support accepting both input formats and making the capabilities and results consistent |
I've been spending a bit of time trying to design a solution for #3418, and I've realized that any solution I propose will very closely interact with all three of these fields (openapi, crds, and configurations). The My initial reason to support keeping both of the fields was that |
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 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 |
/lifecycle frozen |
This issue has not been updated in over 1 year, and should be re-triaged. You can:
For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/ /remove-triage accepted |
From a user's perspective, Kustomize is currently asking for custom resource schemas to be provided in two different fields,
crds
andopenapi
, in order for those resources to be fully supported (setting aside the legacyconfigurations
field, which is a third way for some things!). We should consolidate this onto theopenapi
field.The text was updated successfully, but these errors were encountered: