finds.dev← search

// the find

kubernetes-sigs/kubebuilder

★ 9,340 · Go · Apache-2.0 · updated Oct 2026

Kubebuilder - SDK for building Kubernetes APIs using CRDs

Kubebuilder is the kubernetes-sigs scaffolding tool and library for building Kubernetes operators and CRD-based APIs in Go, built on top of controller-runtime and controller-tools. It's for teams writing custom controllers/operators who want the canonical, Rails-like project layout instead of assembling client-go, controller-runtime, and webhook plumbing by hand.

It's built directly on controller-runtime and controller-tools — the same libraries the real Kubernetes controllers use — so you're not learning a parallel abstraction that diverges from upstream. The plugin architecture is genuinely useful beyond Go: Operator-SDK builds its Ansible and Helm operator support on top of it rather than forking it. Engineering hygiene is solid for a CLI tool this size — OpenSSF Scorecard, CodeQL, apidiff checks on releases, and cross-platform test workflows all run in CI, not just a README badge.

Scaffolding means the generated boilerplate becomes code you own; upgrading to a newer kubebuilder version means re-scaffolding and manually diffing/merging rather than bumping a dependency version, which gets painful on older projects. Compatibility is pinned hard to specific client-go/k8s.io versions per release — the docs are explicit that mixing versions outside what was tested is unsupported, so a k8s API upgrade can force a kubebuilder upgrade too. The `// +kubebuilder:` marker-comment system driving RBAC and CRD generation is effectively a DSL embedded in Go comments with no compile-time checking — easy to typo a marker and get a working build with wrong RBAC. Windows isn't officially supported and the maintainers say contributions toward it aren't planned, which is a real constraint if your team isn't on macOS/Linux.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →