k3s-io/kine

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

Hosted by Cloud Native Computing Foundation · part of Linux Foundation

View on GitHub ↗Jump to charts ↓Open shareable report →

k3s-io/kine has 2k+ stars and 300+ forks on GitHub, is written in Go, and was last pushed on Oct 17, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 1 hour ago
Added to GitGenius on October 15th, 2026
Created on May 13th, 2019
Open Issues & Pull Requests: 41 (+0)
GitHub issues: Enabled
Number of forks: 321
Total Stargazers: 2,419 (+0)
Total Subscribers: 27 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.0 hours
Mean response time: 22.3 days
90th percentile: 10.6 days
Tracked items: 81

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 1
Closed in 7 days: 4
Avg open age: 307 days
Stale 30+ days: 11
Stale 90+ days: 8

Recent activity

Opened in 7 days: 1
Closed in 7 days: 4
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • bug (2)
  • question (2)
  • enhancement (1)
  • help wanted (1)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

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.