Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL
Add a star history chart too →

etcd-io/etcd

Data

A distributed, Raft-replicated key-value store for critical configuration data and service coordination in distributed systems.

Best position on GitHub Trending (daily): #13. Click to get this badge for your README
52,669
10,592
Go
Apache-2.0
13 years old

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

  1. Download a pre-built release for OSX, Linux, Windows or Docker from the releases page source:18. The README warns that the main branch may be unstable or broken during development, so use a stable release for real use source:3.
  2. 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 main source: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.

Hacker News

Etcd v3.5 Data inconsistency postmortem
▲ 2 · 0 comments · May 6, 2022
Etcd 3.4 Released
▲ 2 · 0 comments · August 30, 2019
Etcd v3.5 data inconsistency postmortem
▲ 1 · 0 comments · April 25, 2022