عجفت الغور

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