etcd is a distributed, consistent key-value store for shared configuration and service discovery, with a focus on being:
- Simple: curl'able user-facing API (HTTP+JSON)
- Secure: optional SSL client cert authentication
- Fast: benchmarked 1000s of writes/s per instance
- 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, fleet, locksmith, vulcand, and many others.
See etcdctl for a simple command line client.
Or feel free to just use
curl, as in the examples below.
Now it's time to dig into the full etcd API and other guides.
- Explore the full API.
- Set up a multi-machine cluster.
- Learn the config format, env variables and flags.
- Find language bindings and tools.
- Use TLS to secure an etcd cluster.
- Tune etcd.
- Upgrade from 0.4.9+ to 2.2.0.
- Mailing list: etcd-dev
- IRC: #etcd on freenode.org
- Planning/Roadmap: milestones, roadmap
- Bugs: issues
See CONTRIBUTING for details on submitting patches and the contribution workflow.
See reporting bugs for details about reporting any issue you may encounter.
etcd uses semantic versioning
New minor versions may add additional features to the API.
You can get the version of etcd by issuing a request to /version:
curl -L http://127.0.0.1:2379/version
v2 API responses should not change after the 2.0.0 release but new features will be added over time.
etcd has known issues on 32-bit systems due to a bug in the Go runtime. See #358 for more information.
etcd is under the Apache 2.0 license. See the LICENSE file for details.