https://github.com/kubernetes/code-generator
Generators for kube-like API types
https://github.com/kubernetes/code-generator
k8s-staging
Last synced: 24 days ago
JSON representation
Generators for kube-like API types
- Host: GitHub
- URL: https://github.com/kubernetes/code-generator
- Owner: kubernetes
- License: apache-2.0
- Created: 2017-08-15T19:12:23.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2025-05-06T20:37:10.000Z (about 1 month ago)
- Last Synced: 2025-05-07T19:47:42.820Z (about 1 month ago)
- Topics: k8s-staging
- Language: Go
- Size: 10.6 MB
- Stars: 1,780
- Watchers: 39
- Forks: 427
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Security: SECURITY_CONTACTS
Awesome Lists containing this project
README
# code-generator
Golang code-generators used to implement [Kubernetes-style API types](https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md).
## Purpose
These code-generators can be used
- in the context of [CustomResourceDefinition](https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/) to build native, versioned clients,
informers and other helpers
- in the context of [User-provider API Servers](https://github.com/kubernetes/apiserver) to build conversions between internal and versioned types, defaulters, protobuf codecs,
internal and versioned clients and informers.## Resources
- The example [sample controller](https://github.com/kubernetes/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](https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources/) gives a step by step instruction on how to use this library.## Usage
The examples above are dated. The current recommended script to use is [kube_codegen.sh](kube_codegen.sh).
## 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.