Kine is an etcd shim that provides an etcd-compatible API on top of various backend datastores.
Kine solves the problem of running Kubernetes without etcd by implementing a subset of the etcd V3 API required by the Kubernetes API server. It sits between Kubernetes and alternative storage backends, translating etcd API calls to the underlying datastore. The tool supports multiple backend options: SQL databases including SQLite, MySQL, MariaDB, and Postgres; an ephemeral in-memory btree; NATS JetStream either embedded or external; and T4 for standalone or S3-backed storage. It implements the essential etcd operations including key-value operations, leases, watchers, transactions, and cluster membership queries.
Kine suits projects seeking to reduce infrastructure complexity by eliminating the operational burden of managing a separate etcd cluster. It works with any Kubernetes distribution, not just K3s, and can run standalone. For high availability deployments, external SQL databases, NATS, or T4 backends are required; SQLite and the memory backend support only single instances. SQLite has additional constraints around shared-cache mode, temporary databases, and concurrent access that make it unsuitable for multi-instance setups. Teams should evaluate their storage backend choice based on whether they need distributed high availability or can accept single-instance operation.
The project maintains active development with regular commits addressing bug fixes and feature improvements. Pull requests receive timely review and feedback from maintainers. The codebase includes developer documentation covering high-level flow and code structure to support contributors understanding the architecture. Issue tracking shows engagement with user-reported problems and feature requests, with maintainers providing clarification and guidance on usage patterns and limitations.