Skip to content
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

Document how to use list-type and list-keys in a CRD, including in existing clusters. #115

Open
erictune opened this issue Oct 7, 2019 · 12 comments
Assignees
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.

Comments

@erictune
Copy link

erictune commented Oct 7, 2019

I'm told that 1.16 supports interpreting a CRD which has x-kubernetes-list-map-type and x-kubernetes-list-map-keys properties.

Please document somewhere an example of a CRD that uses these, so the syntax is clear.

Please also document what happens if I have an already-installed CRD with existing CR state, and I am already using SSA, and I update a property of my CRD from not having x-kubernetes-list-* annotations to having them. That is, what happens if an existing user adopts this nice new feature? Does it DTRT or explode?
For existing CRs that have been applied before. That haven't? For new CRs?

@apelisse we just discussed this.

@apelisse
Copy link
Contributor

apelisse commented Oct 22, 2019

I have done or plan on doing:

@mariantalla
Copy link

(as discussed on #wg-apply)
/assign

@apelisse
Copy link
Contributor

apelisse commented Nov 4, 2019

I just found some documentation for this here: https://github.com/kubernetes/kube-openapi/blob/master/pkg/idl/doc.go

I have no memory of writing this, but sure. Also I don't think +mapTypeand +structType are implemented in this repo, so I'm adding an extra item to the plan.

@apelisse
Copy link
Contributor

apelisse commented Nov 4, 2019

https://github.com/kubernetes/kube-openapi/blob/master/pkg/generators/extension.go#L38-L57

This is probably doing most of the work, so updating this should be straightforward.

@mariantalla
Copy link

Thanks for the links @apelisse 👌 I'm starting with kube-openapi support and will move on to kubebuilder after (will update with issue refs shortly)

@apelisse
Copy link
Contributor

apelisse commented Nov 5, 2019

That sounds like a great plan! Thanks!

@mariantalla
Copy link

mariantalla commented Dec 11, 2019

Support for +mapType and +structType in kube-openapi is covered (I think) with: kubernetes/kube-openapi#178.

@mariantalla
Copy link

...and support for x-kubernetes-map-type in controller-tools: apelisse/controller-tools#1 (which should land with kubernetes-sigs/controller-tools#347)

@apelisse
Copy link
Contributor

Thanks @mariantalla I'll update my comment

@mariantalla
Copy link

WIP PR to api-conventions: kubernetes/community#4218

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 28, 2020
@apelisse
Copy link
Contributor

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jun 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness.
Projects
None yet
Development

No branches or pull requests

5 participants