52,685
stars
+8
10,596
forks
1,282
watchers
14,780
prs
7,348
issues
298
releases
477
discussions
README
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. !etcd reliability is important 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: bash /tmp/etcd-download-test/etcd The etcd command can be simply run as such if it is moved to the system path as below: bash mv /tmp/etcd-download-test/etcd /usr/local/bin/ etcd 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: bash etcdctl put mykey "this is awesome" etcdctl get mykey etcd is now running and serving client requests. For more, please check out: Animated quick demo etcd TCP ports The [official etcd ports][iana-por
Top issues
#13637Unify testing framework63 comments · 2022-01-24#19371Develop a caching library for etcd49 comments · 2025-02-10#10566Compare not equal operator is broken in etcd49 comments · 2019-03-20#11555ETCD doesn't automatically load changes to ca bundles for peer-trusted-ca-file or trusted-ca-file43 comments · 2020-01-22#11372Strictly define how JSONs are separated in GRPC gateway39 comments · 2019-11-19#16467Define an official performance validation suite for etcd37 comments · 2023-08-24#18110Enable Prow plugins for etcd PRs35 comments · 2024-06-03#18983Reduce the time e2e tests take34 comments · 2024-12-02
Discussions
#22664Is there a way to batch bbolt commits caused by deletions?0 comments · 2026-10-26#22563etcd membership sponsorship0 comments · 2026-10-11#22367Need for circuit breaker integration in ETCD client library3 comments · 2026-09-01#22322Move Auth to beta status2 comments · 2026-08-20#22307Development environment supported architectures1 comments · 2026-08-20#22299what is the policy for dependency upgrade?1 comments · 2026-08-17#22206how to patch (3.6.12 > 3.6.14) ?2 comments · 2026-07-28#22050v6.3.12 - loging into a file vs journalctl2 comments · 2026-07-07
Latest release
v3.7.3 v3.7.3 2026-10-22Please check out CHANGELOG for a full list of changes. And make sure to read upgrade guide before upgrading etcd (there may be breaking changes).
For installation guides, please check out play.etcd.io and operating etcd. Latest support status for common architectures and operating systems can be found at supported platforms.
Linux
sh
ETCD_VER=v3.7.3
choose either URL
GOOGLE_URL=https://storage.googleapis.com/etcd
GITHUB_URL=https://github.com/etcd-io/etcd/releases/download
DOWNLOAD_URL=${GOOGLE_URL}
rm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz
rm -rf /tmp/etcd-download-