kubernetes/kubernetes
Packages
The staging/src/k8s.io/ tree is the source-of-truth for 35 published Go modules that external projects import. Code is developed here; release tooling mirrors each subdirectory to its own kubernetes/<module> GitHub repo at release time. This page is the catalog.
Why staging exists
Before staging, projects that wanted to depend on Kubernetes' API types or client library had to vendor k8s.io/kubernetes directly. That worked, but it forced consumers to take on the entire kubernetes/kubernetes module graph and Go-version requirements. Staging splits the public API surface into many smaller modules with their own go.mod, each independently consumable.
The mirroring is one-directional. Bug fixes and new features land here, in the staging path; the publishing tool synchronizes them outward. There is no source-of-truth in the published mirror repos.
The catalog
| Module | Purpose | Published as |
|---|---|---|
api |
API types for every built-in group/version (core/v1, apps/v1, batch/v1, …) |
k8s.io/api |
apiextensions-apiserver |
The CRD API server library | k8s.io/apiextensions-apiserver |
apimachinery |
Shared API plumbing: scheme, codec, watch, runtime types | k8s.io/apimachinery |
apiserver |
Generic apiserver framework | k8s.io/apiserver |
cli-runtime |
Shared CLI helpers (factory, printers, resource builders) | k8s.io/cli-runtime |
client-go |
The dominant Kubernetes client library | k8s.io/client-go |
cloud-provider |
Cloud-controller-manager library + interface | k8s.io/cloud-provider |
cluster-bootstrap |
Bootstrap-token utilities | k8s.io/cluster-bootstrap |
code-generator |
The codegen toolchain (deepcopy, clientset, informer, lister, openapi, …) | k8s.io/code-generator |
component-base |
Shared base for every component (logs, metrics, CLI, leader election, feature gates, config) | k8s.io/component-base |
component-helpers |
Cross-component helpers that don't fit elsewhere | k8s.io/component-helpers |
controller-manager |
Shared controller-manager library | k8s.io/controller-manager |
cri-api |
The CRI gRPC contract | k8s.io/cri-api |
cri-client |
CRI gRPC client | k8s.io/cri-client |
cri-streaming |
The CRI exec/attach/port-forward streaming server | k8s.io/cri-streaming |
csi-translation-lib |
In-tree → CSI volume translation | k8s.io/csi-translation-lib |
dynamic-resource-allocation |
DRA library | k8s.io/dynamic-resource-allocation |
endpointslice |
EndpointSlice helpers shared by controller and proxy | k8s.io/endpointslice |
externaljwt |
External JWT issuer integration | k8s.io/externaljwt |
kms |
KMS plugin contract | k8s.io/kms |
kube-aggregator |
The API aggregation layer | k8s.io/kube-aggregator |
kube-controller-manager |
KCM types and helpers | k8s.io/kube-controller-manager |
kube-proxy |
kube-proxy types | k8s.io/kube-proxy |
kube-scheduler |
Scheduler types | k8s.io/kube-scheduler |
kubectl |
kubectl library — what cmd/kubectl is built from |
k8s.io/kubectl |
kubelet |
Kubelet types | k8s.io/kubelet |
metrics |
Metrics server types and client | k8s.io/metrics |
mount-utils |
Mount helpers (Linux/Windows) | k8s.io/mount-utils |
pod-security-admission |
PodSecurity admission library | k8s.io/pod-security-admission |
sample-apiserver |
Reference: a tiny aggregated API server | k8s.io/sample-apiserver |
sample-cli-plugin |
Reference: a tiny kubectl plugin | k8s.io/sample-cli-plugin |
sample-controller |
Reference: a tiny controller | k8s.io/sample-controller |
streaming |
Generic streaming framework | k8s.io/streaming |
How to read this catalog
Three tiers, by external popularity:
- The big four:
api,apimachinery,client-go,apiserver. Every external Kubernetes-aware project depends on at least one of these. - The toolkit:
cli-runtime,code-generator,component-base,kubectl,apiextensions-apiserver,kube-aggregator,pod-security-admission. Pulled in by tools that build on top of the API server, by code generators, by kubectl plugin authors, and by admission webhooks. - The protocol contracts:
cri-api,cri-client,cri-streaming,csi-translation-lib,dynamic-resource-allocation,endpointslice,kms,externaljwt. Used by runtime authors, CSI driver authors, DRA driver authors, and KMS implementations.
A handful of "samples" (sample-apiserver, sample-cli-plugin, sample-controller) are reference implementations rather than libraries to import.
Sub-pages
For a single page covering all the staging modules with a paragraph each, see staging-modules.md.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.