About this project

etcd is a distributed reliable key-value store designed for the most critical data of a distributed system. Written in Go, it uses the Raft consensus algorithm to manage a highly-available replicated log, making it suitable for production deployments where consistency and reliability matter. The project emphasizes four qualities: a simple, well-defined user-facing gRPC API; security through automatic TLS with optional client certificate authentication; speed, with benchmarks cited at 10,000 writes per second; and reliability via proper Raft-based distribution. It is used in production by many companies and is frequently paired with systems such as Kubernetes, locksmith, vulcand, and Doorman. The development team also maintains rigorous robustness testing. Getting started is straightforward: pre-built release binaries are available for OSX, Linux, Windows, and Docker. Running the etcd binary starts a single-member cluster listening on port 2379 for client communication and 2380 for server-to-server communication. A simple command-line client, etcdctl, allows basic operations such as putting and retrieving keys. For local multi-node experimentation, a Procfile script and goreman can bring up a three-member cluster with optional gRPC proxy. Client libraries are available, including a Go client v3. Documentation covers the full API, clustering, configuration, security, tuning, and integrations. The project is under the Apache 2.0 license and is a CNCF project. Community engagement happens through a mailing list, Kubernetes Slack channel, weekly community and issue triage meetings, and a YouTube channel. Contribution guidelines, a roadmap, bug reporting instructions, and a security disclosure process are all documented.