mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-04-02 21:52:40 +08:00

Automatic merge from submit-queue (batch tested with PRs 65946, 65904, 65913, 65906, 65920). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. track schemes by name for error reporting Getting an error message about a type not being in the scheme is hard to fix if you don't know which scheme is failing. This adds a name to the scheme which can be set during creation or can be set based on the calling stack. If you use the old constructor a name is generated for you based on the stack. Something like "k8s.io/client-go/dynamic/scheme.go:28" for instance. Also moves a typer to its point of use. This was debt from previous refactors which I noticed going through. @kubernetes/sig-api-machinery-misc @sttts ```release-note NONE ``` Kubernetes-commit: 8e2fdb32bc84103b15310a221a375470bf567bdc
code-generator
Golang code-generators used to implement Kubernetes-style API types.
Purpose
These code-generators can be used
- in the context of CustomResourceDefinition to build native, versioned clients, informers and other helpers
- in the context of User-provider API Servers to build conversions between internal and versioned types, defaulters, protobuf codecs, internal and versioned clients and informers.
Resources
- The example sample controller shows a code example of a controller that uses the clients, listers and informers generated by this library.
- The article Kubernetes Deep Dive: Code Generation for CustomResources gives a step by step instruction on how to use this library.
Compatibility
HEAD of this repo will match HEAD of k8s.io/apiserver, k8s.io/apimachinery, and k8s.io/client-go.
Where does it come from?
code-generator
is synced from https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/code-generator.
Code changes are made in that location, merged into k8s.io/kubernetes
and later synced here.