api machinery (k8s)
Tags: kubernetes (k8s)
https://github.com/kubernetes/apimachinery
- Implements the basics of the type system
Kinds
- Divided into API groups and versioned, leading to GroupVersionKind (GVK)
- Each GVK maps to a single Go type, while a Go type can map to multiple GVK’s
- Do not formally map to 1-1 HTTP paths
- Many kinds have HTTP rest endpoints used to access objects of the given kind
- some do not
- by convention kinds use CamelCase
Resources
- Grouped and versioned, leading to the term GroupVersionResource (GVR)
- Each GVR corresponds to a base HTTP path, used to identify REST endpoints
- By convention resources use lowercase
Rest Mapping
- Mapping of a GVK to GVR
Scheme
- Scheme connects Go with GVK, mapping of golang types to possible GVK’s