A quick code search query reveals at least 7,000 Kubernetes Custom Resource Definitions in the open source corpus,1 most of which are likely generated with controller-gen —a tool that turns Go structs with comments-based markers into Kubernetes CRD manifests, which end up being custom APIs served by the Kubernetes API server.
At LinkedIn, we develop our fair share of custom Kubernetes APIs and controllers
to run workloads or manage infrastructure. In doing so, we rely on the custom
resource machinery and controller-gen
heavily to generate our CRDs.
Read More →