finds.dev← search

// the find

pingcap/tidb-operator

★ 1,333 · Go · Apache-2.0 · updated Jul 2026

TiDB operator creates and manages TiDB clusters running in Kubernetes.

Kubernetes operator for TiDB, PingCAP's distributed SQL database. Manages the full stack — PD (placement driver), TiKV (storage), TiDB (SQL layer), TiFlash (columnar), TiCDC (CDC), TiProxy, and DM (data migration) — as first-class Kubernetes resources. The main branch is now v2, a ground-up rewrite; v1 is on a separate branch.

The CRD surface is thorough: each component gets its own typed resource (Pd, TiKV, TiDB, TiFlash, etc.) plus group-level resources for scaling policy, giving you fine-grained control that a monolithic 'TiDBCluster' CRD would make awkward. The pre-stop checker binary shows operational maturity — graceful shutdown is one of the things operators typically botch. The separate api/ Go module with its own go.mod keeps the CRD types importable without pulling in controller internals. They've also built their own code generation tools (overlay-gen, runtime-gen) rather than contorting everything into controller-gen, which is the right call for a type hierarchy this large.

The v2 rewrite is recent and the migration story from v1 is thin — there's a why.md but no migration guide in the repo; you're pointed at external docs that may or may not stay current. With 30+ CRDs, debugging a broken cluster means hopping across many resources before you can reconstruct the system state — the operator trades simplicity for granularity and it shows. Documentation lives on PingCAP's website, not in the repo, which means the README is nearly empty and you're dependent on their docs team keeping pace with the code. This is also a single-database operator — if you're not running TiDB specifically, there's nothing here for you, and the star count (1333) reflects that narrow but legitimate audience.

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 →