• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H24-Aug-2020-93

Documentation/H24-Aug-2020-59,02148,987

auth/H24-Aug-2020-4,6533,748

client/H24-Aug-2020-6,3184,765

clientv3/H24-Aug-2020-21,94115,672

contrib/H24-Aug-2020-2,2721,575

embed/H24-Aug-2020-2,8912,128

etcdctl/H24-Aug-2020-11,4658,476

etcdmain/H24-Aug-2020-2,6772,205

etcdserver/H24-Aug-2020-70,83759,362

functional/H24-Aug-2020-15,22612,746

hack/H24-Aug-2020-737604

integration/H24-Aug-2020-12,2269,764

lease/H24-Aug-2020-3,0792,309

logos/H03-May-2022-

mvcc/H24-Aug-2020-10,9988,349

pkg/H24-Aug-2020-17,15511,684

proxy/H24-Aug-2020-5,0393,544

raft/H24-Aug-2020-21,77915,818

scripts/H24-Aug-2020-683502

security/H24-Aug-2020-238143

tests/H24-Aug-2020-10,8228,496

tools/H24-Aug-2020-4,6433,475

vendor/H24-Aug-2020-466,743375,338

version/H24-Aug-2020-5729

wal/H24-Aug-2020-3,9663,068

.gitignoreH A D24-Aug-2020568 3734

.headerH A D24-Aug-2020593 1413

.travis.ymlH A D24-Aug-20203.2 KiB9585

.wordsH A D24-Aug-20201.2 KiB114112

CONTRIBUTING.mdH A D24-Aug-20203.2 KiB9464

DCOH A D24-Aug-20201.4 KiB3727

Dockerfile-releaseH A D24-Aug-2020623 1813

Dockerfile-release.arm64H A D24-Aug-2020222 128

Dockerfile-release.ppc64leH A D24-Aug-2020224 128

LICENSEH A D24-Aug-202011.1 KiB203169

MAINTAINERSH A D24-Aug-2020790 1916

MAINTAINERS_RULES.mdH A D24-Aug-2020703 1711

MakefileH A D24-Aug-202017.5 KiB519345

NOTICEH A D24-Aug-2020126 64

OWNERSH A D24-Aug-2020216 2120

ProcfileH A D24-Aug-20201.5 KiB65

Procfile.v2H A D24-Aug-20201.5 KiB76

README.mdH A D24-Aug-20208.2 KiB192122

bill-of-materials.jsonH A D24-Aug-20207.3 KiB457456

bill-of-materials.override.jsonH A D24-Aug-2020254 1918

buildH A D24-Aug-20202.6 KiB9976

build.batH A D24-Aug-202051 21

build.ps1H A D24-Aug-20202.7 KiB8266

code-of-conduct.mdH A D24-Aug-20203 KiB6247

etcd.conf.yml.sampleH A D24-Aug-20203.5 KiB14195

functional.yamlH A D24-Aug-20207.2 KiB251235

go.modH A D24-Aug-20202.4 KiB5855

go.sumH A D24-Aug-202021.2 KiB225224

main.goH A D24-Aug-20201 KiB305

main_test.goH A D24-Aug-20201.1 KiB4020

testH A D24-Aug-202020.6 KiB688496

README.md

1# etcd
2
3[![Go Report Card](https://goreportcard.com/badge/github.com/etcd-io/etcd?style=flat-square)](https://goreportcard.com/report/github.com/etcd-io/etcd)
4[![Coverage](https://codecov.io/gh/etcd-io/etcd/branch/master/graph/badge.svg)](https://codecov.io/gh/etcd-io/etcd)
5[![Build Status Travis](https://img.shields.io/travis/etcd-io/etcdlabs.svg?style=flat-square&&branch=master)](https://travis-ci.com/etcd-io/etcd)
6[![Build Status Semaphore](https://semaphoreci.com/api/v1/etcd-io/etcd/branches/master/shields_badge.svg)](https://semaphoreci.com/etcd-io/etcd)
7[![Docs](https://img.shields.io/badge/docs-latest-green.svg)](https://etcd.io/docs)
8[![Godoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://godoc.org/github.com/etcd-io/etcd)
9[![Releases](https://img.shields.io/github/release/etcd-io/etcd/all.svg?style=flat-square)](https://github.com/etcd-io/etcd/releases)
10[![LICENSE](https://img.shields.io/github/license/etcd-io/etcd.svg?style=flat-square)](https://github.com/etcd-io/etcd/blob/master/LICENSE)
11
12**Note**: The `master` branch may be in an *unstable or even broken state* during development. Please use [releases][github-release] instead of the `master` branch in order to get stable binaries.
13
14![etcd Logo](logos/etcd-horizontal-color.svg)
15
16etcd is a distributed reliable key-value store for the most critical data of a distributed system, with a focus on being:
17
18* *Simple*: well-defined, user-facing API (gRPC)
19* *Secure*: automatic TLS with optional client cert authentication
20* *Fast*: benchmarked 10,000 writes/sec
21* *Reliable*: properly distributed using Raft
22
23etcd is written in Go and uses the [Raft][raft] consensus algorithm to manage a highly-available replicated log.
24
25etcd is used [in production by many companies](./Documentation/production-users.md), and the development team stands behind it in critical deployment scenarios, where etcd is frequently teamed with applications such as [Kubernetes][k8s], [locksmith][locksmith], [vulcand][vulcand], [Doorman][doorman], and many others. Reliability is further ensured by [**rigorous testing**](https://github.com/etcd-io/etcd/tree/master/functional).
26
27See [etcdctl][etcdctl] for a simple command line client.
28
29[raft]: https://raft.github.io/
30[k8s]: http://kubernetes.io/
31[doorman]: https://github.com/youtube/doorman
32[locksmith]: https://github.com/coreos/locksmith
33[vulcand]: https://github.com/vulcand/vulcand
34[etcdctl]: https://github.com/etcd-io/etcd/tree/master/etcdctl
35
36## Community meetings
37
38*Community meeting will resume at 11:00 am on Thursday, January 10th, 2019.*
39
40etcd contributors and maintainers have monthly (every four weeks) meetings at 11:00 AM (USA Pacific) on Thursday.
41
42An initial agenda will be posted to the [shared Google docs][shared-meeting-notes] a day before each meeting, and everyone is welcome to suggest additional topics or other agendas.
43
44[shared-meeting-notes]: https://docs.google.com/document/d/16XEGyPBisZvmmoIHSZzv__LoyOeluC5a4x353CX0SIM/edit
45
46Please download and import the following iCalendar (.ics) files to calendar system.
47
48Weekly: https://zoom.us/meeting/916003437/ics?icsToken=e4a085b6837f5802d9aef0d2ded4777d0faf1a71e39279c4a6d8b577993d879c
49
50Join Zoom Meeting https://zoom.us/j/916003437
51
52```
53One tap mobile
54+14086380986,,916003437# US (San Jose)
55+16465588665,,916003437# US (New York)
56
57Dial by location
58        +1 408 638 0986 US (San Jose)
59        +1 646 558 8665 US (New York)
60
61Meeting ID: 916 003 437
62```
63
64To Find local number: https://zoom.us/u/actX55uPfS
65
66## Getting started
67
68### Getting etcd
69
70The 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].
71
72For more installation guides, please check out [play.etcd.io](http://play.etcd.io) and [operating etcd](https://github.com/etcd-io/etcd/tree/master/Documentation#operating-etcd-clusters).
73
74For those wanting to try the very latest version, [build the latest version of etcd][dl-build] from the `master` branch. This first needs [*Go*](https://golang.org/) installed (version 1.12+ is required). All development occurs on `master`, including new features and bug fixes. Bug fixes are first targeted at `master` and subsequently ported to release branches, as described in the [branch management][branch-management] guide.
75
76[github-release]: https://github.com/etcd-io/etcd/releases
77[branch-management]: ./Documentation/branch_management.md
78[dl-build]: ./Documentation/dl_build.md#build-the-latest-version
79
80### Running etcd
81
82First start a single-member cluster of etcd.
83
84If etcd is installed using the [pre-built release binaries][github-release], run it from the installation location as below:
85
86```bash
87/tmp/etcd-download-test/etcd
88```
89
90The etcd command can be simply run as such if it is moved to the system path as below:
91
92```bash
93mv /tmp/etcd-download-test/etcd /usr/local/bin/
94etcd
95```
96
97If etcd is [built from the master branch][dl-build], run it as below:
98
99```bash
100./bin/etcd
101```
102
103This will bring up etcd listening on port 2379 for client communication and on port 2380 for server-to-server communication.
104
105Next, let's set a single key, and then retrieve it:
106
107```
108etcdctl put mykey "this is awesome"
109etcdctl get mykey
110```
111
112etcd is now running and serving client requests. For more, please check out:
113
114- [Interactive etcd playground](http://play.etcd.io)
115- [Animated quick demo](./Documentation/demo.md)
116
117### etcd TCP ports
118
119The [official etcd ports][iana-ports] are 2379 for client requests, and 2380 for peer communication.
120
121[iana-ports]: http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt
122
123### Running a local etcd cluster
124
125First install [goreman](https://github.com/mattn/goreman), which manages Procfile-based applications.
126
127Our [Procfile script](./Procfile) will set up a local example cluster. Start it with:
128
129```bash
130goreman start
131```
132
133This will bring up 3 etcd members `infra1`, `infra2` and `infra3` and etcd `grpc-proxy`, which runs locally and composes a cluster.
134
135Every cluster member and proxy accepts key value reads and key value writes.
136
137### Next steps
138
139Now it's time to dig into the full etcd API and other guides.
140
141- Read the full [documentation][fulldoc].
142- Explore the full gRPC [API][api].
143- Set up a [multi-machine cluster][clustering].
144- Learn the [config format, env variables and flags][configuration].
145- Find [language bindings and tools][integrations].
146- Use TLS to [secure an etcd cluster][security].
147- [Tune etcd][tuning].
148
149[fulldoc]: ./Documentation/docs.md
150[api]: ./Documentation/dev-guide/api_reference_v3.md
151[clustering]: ./Documentation/op-guide/clustering.md
152[configuration]: ./Documentation/op-guide/configuration.md
153[integrations]: ./Documentation/integrations.md
154[security]: ./Documentation/op-guide/security.md
155[tuning]: ./Documentation/tuning.md
156
157## Contact
158
159- Mailing list: [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev)
160- IRC: #[etcd](irc://irc.freenode.org:6667/#etcd) on freenode.org
161- Planning/Roadmap: [milestones](https://github.com/etcd-io/etcd/milestones), [roadmap](./ROADMAP.md)
162- Bugs: [issues](https://github.com/etcd-io/etcd/issues)
163
164## Contributing
165
166See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting patches and the contribution workflow.
167
168## Reporting bugs
169
170See [reporting bugs](Documentation/reporting_bugs.md) for details about reporting any issues.
171
172## Reporting a security vulnerability
173
174A security vulnerability can be reported as an issue, however, GitHub and mailing lists may NOT always be an appropriate place for reporting vulnerabilities. In that case, please reach out to the project [MAINTAINERS](https://github.com/etcd-io/etcd/blob/master/MAINTAINERS) to first discuss the vulnerabilities with them and take necessary action per such discussion.
175
176## Issue and PR management
177
178See [issue triage guidelines](Documentation/triage/issues.md) for details on how issues are managed.
179
180See [PR management](Documentation/triage/PRs.md) for guidelines on how pull requests are managed.
181
182## etcd Emeritus Maintainers
183
184These emeritus maintainers dedicated a part of their career to etcd and reviewed code, triaged bugs, and pushed the project forward over a substantial period of time. Their contribution is greatly appreciated.
185
186* Fanmin Shi
187* Anthony Romano
188
189### License
190
191etcd is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.
192