A Redis- and Valkey-compatible in-memory key-value server written in Rust, with built-in full-text and vector search.
etcd-io/etcd
Distributed, reliable key-value store for the most critical data of a distributed system, built on Raft consensus with a gRPC API.
- Stars
- 52,401
- Forks
- 10,541
- Open issues
- 391
- Last commit
- 6 hours ago
What is it?
etcd is a distributed key-value store written in Go. It keeps data replicated across a cluster of members using the Raft consensus algorithm, so the cluster stays available and consistent when individual members fail. Clients interact with it through a gRPC API, and the project ships etcdctl, a command-line client for reading and writing keys.
The project focuses on storing small pieces of critical coordination data, such as configuration and service metadata, rather than bulk storage. It supports automatic TLS and optional client certificate authentication. Cluster members communicate on port 2380 and clients connect on port 2379 by default.
etcd is widely used as the backing store for Kubernetes and is paired with other distributed systems projects. The repository includes a local multi-member cluster setup via Procfile and goreman, along with Go client libraries for the v3 API.
Key features
- 01Raft-based replication keeps a cluster consistent and available when members fail.
- 02Well-defined gRPC API for reading, writing and watching keys.
- 03Automatic TLS with optional client certificate authentication.
- 04etcdctl command-line client for interacting with the cluster.
- 05Go client libraries for the v3 API.
- 06Local multi-member cluster setup via Procfile and goreman.
Use cases
- Storing cluster state and configuration for Kubernetes control planes.
- Service discovery and coordination across distributed applications.
- Keeping small, critical metadata consistent across multiple servers.
- Learning or testing Raft-based distributed systems locally.
Quick start
- 1
Download a pre-built release binary from the releases page
- 2
Start a single-member etcd server
/tmp/etcd-download-test/etcd - 3
Set a key with etcdctl
etcdctl put mykey "this is awesome" - 4
Retrieve the key with etcdctl
etcdctl get mykey
Things to know
- Running a multi-member local cluster requires installing goreman and using the repository's Procfile.
- The main branch may be unstable or broken, so use tagged releases for production.
Topics
FAQ
- What is etcd?
- Distributed, reliable key-value store for the most critical data of a distributed system, built on Raft consensus with a gRPC API. etcd is a distributed key-value store written in Go. It keeps data replicated across a cluster of members using the Raft consensus algorithm, so the cluster stays available and consistent when individual members fail. Clients interact with it through a gRPC API, and the project ships etcdctl, a command-line client for reading and writing keys.
- Is etcd free to use? What license does it have?
- etcd is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is etcd still maintained?
- Actively maintained. The last commit to etcd was on Oct 19, 2026.
- What can I use etcd for?
- Storing cluster state and configuration for Kubernetes control planes. Service discovery and coordination across distributed applications. Keeping small, critical metadata consistent across multiple servers. Learning or testing Raft-based distributed systems locally.
- How do I install etcd?
- Download a pre-built release binary from the releases page Start a single-member etcd server: /tmp/etcd-download-test/etcd Set a key with etcdctl: etcdctl put mykey "this is awesome" Retrieve the key with etcdctl: etcdctl get mykey
- Where can I get etcd?
- The source code and installation instructions are on GitHub: https://github.com/etcd-io/etcd
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Trivy is an open-source security scanner that finds vulnerabilities, misconfigurations, secrets and SBOM data in containers, filesystems, Git repos, VM images and Kubernetes.
Helm is the package manager for Kubernetes, installing and managing apps packaged as reusable Charts.
AX is an open-source declarative orchestrator for running large numbers of sandboxed autonomous agent tasks in a Kubernetes cluster.
A Kubernetes-native platform for deploying and serving predictive and generative AI models at scale, across multiple ML frameworks.
A curated list of 300+ engineering blog articles from companies such as Airbnb, Netflix, Uber and Stripe, grouped by company.