etcd-io/etcd
DataA distributed, Raft-replicated key-value store for critical configuration data and service coordination in distributed systems.
What etcd is
etcd is a distributed, reliable key-value store designed to hold the most critical data of a distributed system. It exposes a gRPC API, supports automatic TLS with optional client certificate authentication, and uses the Raft consensus algorithm to maintain a highly available replicated log source:4. It is often paired with Kubernetes, locksmith, Vulcand, Doorman and similar systems, and the development team points to production adoption by many companies source:24.
The target audience is infrastructure and platform engineers who need a consistent place to store cluster configuration, service discovery records, leader election state, and locks. The official etcdctl command-line client covers basic reads and writes source:32, and Go clients are published under go.etcd.io/etcd/client/v3 source:36.
Quick start
- Download a pre-built release for OSX, Linux, Windows or Docker from the releases page source:18. The README warns that the
mainbranch may be unstable or broken during development, so use a stable release for real use source:3. - Start a single-member cluster from the unpacked directory:
/tmp/etcd-download-test/etcd
or move it onto your PATH first:
mv /tmp/etcd-download-test/etcd /usr/local/bin/
etcd
This starts the client listener on port 2379 and the peer listener on port 2380 source:47. 3. In another terminal, write and read a key:
etcdctl put mykey "this is awesome"
etcdctl get mykey
You should get the value back, confirming that the local member is serving client requests source:47.
For a local multi-member example, install goreman and run goreman start from the repository root; the supplied Procfile brings up three members (infra1, infra2, infra3) plus an optional gRPC proxy source:54. The animated quick demo and the operation guide cover the next steps source:51 source:46.
Using it from Go
Add the v3 client to a Go module:
go get go.etcd.io/etcd/client/v3
API references for the server, client, raft and etcdctl packages are published on godocs source:33.
Operational constraints
- Ports 2379 and 2380 are the registered client and peer ports; firewall and service discovery rules should account for both source:52.
- The main branch is a development branch. Pin production deployments to tagged releases rather than building from
mainsource:3. - Clustering, TLS, the configuration format (flags and environment variables), tuning, and language bindings each have dedicated guides; read the relevant one before moving beyond a single node source:60.
- The project is licensed under Apache 2.0 source:20.
HotRepo's take
On the 2026-11-06 daily all-language GitHub ranking, etcd reached position 14 with 123 stars gained that day, against totals of 52,481 stars and 10,571 forks. This is a long-running infrastructure project created in 2013, not a new entry, and the single recorded ranking does not by itself establish a trend. The one-day appearance does confirm that a mature distributed-systems project still draws attention on the general GitHub ranking. For readers, the more durable signal is the project's scope: a Raft-based replicated store with documented APIs, robustness testing, and a long list of production adopters.
Written by AI from the project's README, updated . The project's own docs are the source of truth.