etcd-io / etcd
git clone https://github.com/etcd-io/etcd.git
v3.7.3 · today
🔥 on GitHub Trending today
Distributed, Raft-replicated key-value store that serves as a reliable configuration and coordination backend for clusters.
Why you might care
Use it when a distributed system needs strongly consistent, highly available storage for critical metadata, with a gRPC API, automatic TLS, and optional client certificate auth. It is the backing store for Kubernetes and is battle-tested in production.
+8
stars, 24h · #4,343
+89
stars, 7 days · #2,445
+~160
stars, 30 days · #4,839
52k
★ total · +0% this week
11k
forks · 392 open issues
Star history (as recorded here)
LanguageGo
LicenseApache-2.0
Created2013-07-06 (13y ago)
Last pushtoday
Watchers1.3k
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #5 weekly in go · +89 ★
GitHub topics
Links
- GitHub: github.com/etcd-io/etcd
- Homepage: https://etcd.io
- Releases · Issues · Hacker News mentions
README excerpt
# etcd **Note**: The `main` branch may be in an *unstable or even broken state* during development. For stable versions, see [releases][github-release]. etcd is a distributed reliable key-value store for the most critical data of a distributed system, with a focus on being: * *Simple*: well-defined, user-facing API (gRPC) * *Secure*: automatic TLS with optional client cert authentication * *Fast*: benchmarked 10,000 writes/sec * *Reliable*: properly distributed using Raft etcd is written in Go and uses the [Raft][] consensus algorithm to manage a highly-available replicated log. etcd is used in production by many companies, and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][], [vulcand][], [Doorman][], and many others. Reliability is further ensured by rigorous **robustness testing**. See [etcdctl][etcdctl] for a simple command line client. Original image credited to xkcd.com/2347, alterations by Josh Berkus. [raft]: https://raft.github.io/ [k8s]: http://kubernetes.io/ [doorman]: https://github.com/youtube/doorman [locksmith]: https://github.com/coreos/locksmith [vulcand]: https://github.com/vulcand/vulcand [etcdctl]: https://github.com/etcd-io/etcd/tree/main/etcdctl ## Documentation The most common API documentation you'll need can be found here: * go.etcd.io/etcd/api/v3 * go.etcd.io/etcd/client/pkg/v3 * go.etcd.io/etcd/client/v3 * go.etcd.io/etcd/etcdctl/v3 * go.etcd.io/etcd/pkg/v3 * go.etcd.io/etcd/raft/v3 * go.etcd.io/etcd/server/v3 ## Maintainers Maintainers strive to shape an inclusive open source project culture where users are heard and contributors feel respected and empowered. Maintainers aim to build productive relationships across different companies and disciplines. Read more about Maintainers role and responsibilities. ## Getting started ### Getting etcd The easiest way to get etcd is to use one of the pre-built release binaries which are available for OSX, Linux, Windows, and Docker on the [release page][github-release]. For more installation guides, please check out operating etcd. [github-release]: https://github.com/etcd-io/etcd/releases ### Running etcd First start a single-member cluster of etcd. If etcd is installed using the [pre-built release binaries][github-release], run it from the installation location as below: [code] The etcd command can be simply run as such if it is moved to the system path as below: [code] This will bring up etcd listening on port 2379 for client communication and on port 2380 for server-to-server communication. Next, let's set a single key, and then retrieve it: [code] etcd is now running and serving client requests. For more, please check out: * Animated quick demo ### etcd TCP ports The [official etcd ports][iana-ports] are 2379 for client requests, and 2380 for peer communication. [iana-ports]: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-num
Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.