finds.dev← search

// the find

k3s-io/kine

★ 2,368 · Go · Apache-2.0 · updated Jul 2026

Run Kubernetes on MySQL, Postgres, sqlite, not etcd.

Kine is an etcd API shim that lets Kubernetes store its state in SQLite, Postgres, MySQL, or NATS instead of etcd. It's the storage backend behind K3s and exists primarily to make Kubernetes viable on single-node or resource-constrained environments where running etcd is overkill. Any conformant Kubernetes distribution can use it, not just K3s.

The scope is deliberately narrow — it implements only the etcd API subset that Kubernetes actually uses, which means the translation layer stays tractable. SQLite support is genuinely useful for local dev and edge deployments where you want zero external dependencies. The test matrix is solid: there are per-backend test scripts for Postgres, MySQL, NATS, SQLite, CockroachDB, and even Litestream, which signals the maintainers actually run this against real databases. The flow diagram in docs/flow.md is a rare piece of honest internal documentation that shows how watch events, compaction, and SQL polling fit together.

It only implements a subset of the etcd API, which is fine for Kubernetes but means you cannot use this as a general-purpose etcd replacement — the README says so, but people will try anyway. Watch semantics on SQL backends are simulated via polling, not push, so under high churn you will see lag and increased DB load in ways that etcd's log-structured storage simply doesn't have. The documentation beyond the flow diagram is thin: there's no production tuning guide covering compaction intervals, connection pool sizing, or how to handle Postgres schema migrations safely across Kine upgrades. MySQL support shares a generic driver layer with Postgres rather than being independently tested at the same depth, which is a latent risk.

View on GitHub →

// 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 →