{"full_name":"etcd-io/etcd","owner":"etcd-io","name":"etcd","url":"https://github.com/etcd-io/etcd","description":"Distributed reliable key-value store for the most critical data of a distributed system","homepage":"https://etcd.io","topics":[],"language":"Go","license":"Apache-2.0","avatar":"https://avatars.githubusercontent.com/u/41972792?v=4","created_at":"2013-07-06T21:57:21Z","pushed_at":"2026-11-09T17:33:31Z","metrics":{"stars":52685,"forks":10596,"watchers":1282,"issues":7348,"prs":14780,"releases":298,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":477},"growth":{"day":{"stars":8,"forks":2,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[52677,52685],"forks":[10594,10596],"watchers":[1282,1282],"issues_open":[null,null],"prs_open":[null,null]},"boards":{},"same_owner":[{"full_name":"etcd-io/bbolt","name":"bbolt","boards":{}}],"issues":[{"number":13637,"title":"Unify testing framework","comments":63,"created_at":"2022-01-24T13:27:22Z"},{"number":19371,"title":"Develop a caching library for etcd","comments":49,"created_at":"2025-02-10T10:37:36Z"},{"number":10566,"title":"Compare not equal operator is broken in etcd","comments":49,"created_at":"2019-03-20T18:58:05Z"},{"number":11555,"title":"ETCD doesn't automatically load changes to ca bundles for peer-trusted-ca-file or trusted-ca-file","comments":43,"created_at":"2020-01-22T22:45:42Z"},{"number":11372,"title":"Strictly define how JSONs are separated in GRPC gateway","comments":39,"created_at":"2019-11-19T16:29:00Z"},{"number":16467,"title":"Define an official performance validation suite for etcd","comments":37,"created_at":"2023-08-24T07:23:10Z"},{"number":18110,"title":"Enable Prow plugins for etcd PRs","comments":35,"created_at":"2024-06-03T10:18:26Z"},{"number":18983,"title":"Reduce the time e2e tests take","comments":34,"created_at":"2024-12-02T18:00:15Z"}],"discussions":[{"number":22664,"title":"Is there a way to batch bbolt commits caused by deletions?","comments":0,"category":"General","created_at":"2026-10-26T21:15:48Z"},{"number":22563,"title":"etcd membership sponsorship","comments":0,"category":"General","created_at":"2026-10-11T20:13:14Z"},{"number":22367,"title":"Need for circuit breaker integration in ETCD client library","comments":3,"category":"Ideas","created_at":"2026-09-01T07:21:36Z"},{"number":22322,"title":"Move Auth to beta status","comments":2,"category":"General","created_at":"2026-08-20T17:39:57Z"},{"number":22307,"title":"Development environment supported architectures","comments":1,"category":"Q&A","created_at":"2026-08-20T00:29:16Z"},{"number":22299,"title":"what is the policy for dependency upgrade?","comments":1,"category":"Q&A","created_at":"2026-08-17T16:49:34Z"},{"number":22206,"title":"how to patch (3.6.12 > 3.6.14) ?","comments":2,"category":"Q&A","created_at":"2026-07-28T09:37:45Z"},{"number":22050,"title":"v6.3.12 - loging into a file vs journalctl","comments":2,"category":"Q&A","created_at":"2026-07-07T04:11:56Z"}],"latest_release":{"name":"v3.7.3","tag":"v3.7.3","published_at":"2026-10-22T23:12:51Z","body":"Please check out [CHANGELOG](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.7.md) for a full list of changes. And make sure to read [upgrade guide](https://etcd.io/docs/v3.7/upgrades/upgrade_3_7/) before upgrading etcd (there may be breaking changes).\r\n\r\nFor installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://etcd.io/docs/v3.7/op-guide/). Latest support status for common architectures and operating systems can be found at [supported platforms](https://etcd.io/docs/v3.7/op-guide/supported-platform/).\r\n\r\n###### Linux\r\n\r\n```sh\r\nETCD_VER=v3.7.3\r\n\r\n# choose either URL\r\nGOOGLE_URL=https://storage.googleapis.com/etcd\r\nGITHUB_URL=https://github.com/etcd-io/etcd/releases/download\r\nDOWNLOAD_URL=${GOOGLE_URL}\r\n\r\nrm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz\r\nrm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test\r\n\r\ncurl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz -o /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz\r\ntar xzvf /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz -C /tmp/etcd-download-test --strip-components=1 --no-same-owner\r\nrm -f /tmp/etcd-${ETCD_VER}-linux-amd64.tar.gz\r\n\r\n/tmp/etcd-download-test/etcd --version\r\n/tmp/etcd-download-test/etcdctl version\r\n/tmp/etcd-download-test/etcdutl version\r\n\r\n# start a local etcd server\r\n/tmp/etcd-download-test/etcd\r\n\r\n# write,read to etcd\r\n/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 put foo bar\r\n/tmp/etcd-download-test/etcdctl --endpoints=localhost:2379 get foo\r\n```\r\n\r\n###### macOS (Darwin)\r\n\r\n```sh\r\nETCD_VER=v3.7.3\r\n\r\n# choose either URL\r\nGOOGLE_URL=https://storage.googleapis.com/etcd\r\nGITHUB_URL=https://github.com/etcd-io/etcd/releases/download\r\nDOWNLOAD_URL=${GOOGLE_URL}\r\n\r\nrm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip\r\nrm -rf /tmp/etcd-download-test && mkdir -p /tmp/etcd-download-test\r\n\r\ncurl -L ${DOWNLOAD_URL}/${ETCD_VER}/etcd-${ETCD_VER}-darwin-amd64.zip -o /tmp/etcd-${ETCD_VER}-darwin-amd64.zip\r\nunzip /tmp/etcd-${ETCD_VER}-darwin-amd64.zip -d /tmp && rm -f /tmp/etcd-${ETCD_VER}-darwin-amd64.zip\r\nmv /tmp/etcd-${ETCD_VER}-darwin-amd64/* /tmp/etcd-download-test && rm -rf mv /tmp/etcd-${ETCD_VER}-darwin-amd64\r\n\r\n/tmp/etcd-download-test/etcd --version\r\n/tmp/etcd-download-test/etcdctl version\r\n/tmp/etcd-download-test/etcdutl version\r\n```\r\n\r\n###### Docker\r\n\r\netcd uses [`gcr.io/etcd-development/etcd`](https://gcr.io/etcd-development/etcd) as a primary container registry, and [`quay.io/coreos/etcd`](https://quay.io/coreos/etcd) as secondary.\r\n\r\n```sh\r\nETCD_VER=v3.7.3\r\n\r\nrm -rf /tmp/etcd-data.tmp && mkdir -p /tmp/etcd-data.tmp && \\\r\n  docker rmi gcr.io/etcd-development/etcd:${ETCD_VER} || true && \\\r\n  docker run \\\r\n  -p 2379:2379 \\\r\n  -p 2380:2380 \\\r\n  --mount type=bind,source=/tmp/etcd-data.tmp,destination=/etcd-data \\\r\n  --name etcd-gcr-${ETCD_VER} \\\r\n  gcr.io/etcd-development/etcd:${ETCD_VER} \\\r\n  /usr/local/bin/etcd \\\r\n  --name s1 \\\r\n  --data-dir /etcd-data \\\r\n  --listen-client-urls http://0.0.0.0:2379 \\\r\n  --advertise-client-urls http://0.0.0.0:2379 \\\r\n  --listen-peer-urls http://0.0.0.0:2380 \\\r\n  --initial-advertise-peer-urls http://0.0.0.0:2380 \\\r\n  --initial-cluster s1=http://0.0.0.0:2380 \\\r\n  --initial-cluster-token tkn \\\r\n  --initial-cluster-state new \\\r\n  --log-level info \\\r\n  --logger zap \\\r\n  --log-outputs stderr\r\n\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcd --version\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl version\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdutl version\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl endpoint health\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl put foo bar\r\ndocker exec etcd-gcr-${ETCD_VER} /usr/local/bin/etcdctl get foo\r\n```\r\n"},"readme":true,"readme_zh":false,"news":[],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}