-
Notifications
You must be signed in to change notification settings - Fork 422
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
Promote minimized CRD ObjectMeta type to be it's own named type #805
Comments
Is there a plan to change this ? We have a similar issue while using Gitops. Flux controllers use |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues 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. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
/remove-lifecycle rotten |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues 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. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
/remove-lifecycle rotten |
Wondering if v1 ObjectMeta is stable, so we should be able to just add all fields /reopen |
@sbueringer: GuidelinesPlease ensure that the issue body includes answers to the following questions:
For more details on the requirements of such an issue, please see here and ensure that they are met. If this request no longer meets these requirements, the label can be removed 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-sigs/prow repository. |
When building tooling that looks at CRDs or works with k8s yaml, understanding the types that are are being used is helpful for custom validations, rewrites, generation, and other rules.
In CRDs when someone references
ObjectMeta
, rather than getting all ofObjectMeta
the CRD has a minimal representation, this was done in #557 (comment) which causes issues for our tooling when, specifically,PodTemplateSpec
which containsObjectMeta
in it is used in some CRDs, this results in only parts ofObjectMeta
being present in the resulting schema.While we have a work around to look for the minimized structure of
ObjectMeta
that is written in CRDs, it's essentially a fuzzy match dependent on however thecode-generator
behaves, which isn't a reliable way to make tooling.Rather than writing a minimized version of
ObjectMeta
, instead I propose adding a new type to the k8s schema that represents an embeddedObjectMeta
that has a stronger guarantee of stability. For exampleMinimalObjectMeta
or something which would be what is currently written in CRDs. This would allow for some level of stability for what we can expect in a schema where that occurs instead of needing to guess what fields thecode-generator
us using today if we want to apply custom tooling toObjectMeta
types.This came up in part because the fields that are added are a mix of the fields from various sections in the docs about
ObjectMeta
https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/ where initial thinking may be the non-service and writable fields would be available in CRDs but instead the mix leads to confusion which a named type would solve.Related
https://github.com/kubernetes-sigs/controller-tools/pull/557/files#diff-d44a1fc23240ca1bdc8c22b4e23fe14ce4366bb1624542b417de0008d68a8e9aL115
kubernetes/kubernetes#103739
The text was updated successfully, but these errors were encountered: