Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase #3

Merged
merged 71 commits into from
Oct 9, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
55b3726
ETCDCTL_README: clarify the usage of ETCDCTL_* variables
spzala Sep 9, 2019
04ddfa8
clientv3/concurrency: Added Mutex.TryLock()
vimalk78 Sep 2, 2019
c9d00ce
README: require 1.13
gyuho Sep 10, 2019
62822c5
Merge pull request #11138 from spzala/lock10840
spzala Sep 10, 2019
2ed05bf
vendor: upgrade to gRPC v1.23.1
gyuho Sep 11, 2019
cee9a84
Merge pull request #11140 from gyuho/grpc
gyuho Sep 11, 2019
2822da8
CHANGELOG: update gRPC Dependency changes
gyuho Sep 11, 2019
79b15a9
Merge pull request #11104 from vimalk78/clientv3-fixes
xiang90 Sep 12, 2019
82e3579
*: Update CHANGELOG-3.5.md for Mutex.TryLock
vimalk78 Sep 12, 2019
1e7e667
Merge pull request #11146 from vimalk78/clientv3-fixes
gyuho Sep 13, 2019
e8660c0
embed: expose ZapLoggerBuilder
ChrisRx Sep 13, 2019
bf3d1fb
Merge pull request #11147 from ChrisRx/revert-embed-logger
gyuho Sep 13, 2019
b4be605
CHANGELOG: update 3.4.1 and 3.5
spzala Sep 13, 2019
4de594a
Merge pull request #11149 from spzala/embedzaplogger
gyuho Sep 13, 2019
0dd10cf
etcdserver: Fix PeerURL validation
dbavatar Aug 9, 2019
589ab74
Merge pull request #11014 from dbavatar/peervalidation
xiang90 Sep 14, 2019
e4cb346
travis: re-enable bom tests
vimalk78 Sep 14, 2019
78fb1e3
hack: fix cherrypick instruction
spzala Sep 15, 2019
9bb9a88
Merge pull request #11152 from spzala/cherrypick
jingyih Sep 16, 2019
6287052
integration: fix bug in for loop, make it break properly
Sep 16, 2019
39b4d14
Merge pull request #11151 from vimalk78/integration-fixes
gyuho Sep 17, 2019
a546864
Merge pull request #11153 from beautytiger/dev-190916
jingyih Sep 17, 2019
2530c90
CHANGELOG: update with patch release
gyuho Sep 17, 2019
c327120
scripts/release: fix docker push command
gyuho Sep 17, 2019
8383152
scripts/release: fix SHA256SUMS command
gyuho Sep 17, 2019
e53298a
clientv3/concurrency: remove the unneeded slash
yaojingguo Sep 18, 2019
501bb07
Merge pull request #11161 from yaojingguo/remove-slash
xiang90 Sep 18, 2019
e245642
clientv3: remove the redundant CancelFunc invocation
yaojingguo Sep 18, 2019
5370570
*: update project code of conduct
spzala Sep 18, 2019
9088d07
Merge pull request #11164 from spzala/codeofconduct
spzala Sep 18, 2019
e84029c
Merge pull request #11162 from yaojingguo/remove-cancel
jingyih Sep 18, 2019
2c95b49
test(functional): remove unknown field Etcd.Debug
lsytj0413 Sep 19, 2019
cbbaf2b
Merge pull request #11167 from lsytj0413/fix-unknown-field
gyuho Sep 19, 2019
1291387
Update README.md with 9/19/2019 meeting recording
wenjiaswe Sep 19, 2019
4681061
*: add slack contact
spzala Sep 22, 2019
4f47771
Merge pull request #11172 from spzala/slack
gyuho Sep 23, 2019
7cb2bb6
README: fix formatting on hangouts link
anakaiti Sep 23, 2019
6075b9d
Merge pull request #11174 from anakaiti/patch-1
gyuho Sep 23, 2019
06ec6c4
*: create project governance
spzala Sep 23, 2019
20acacd
doc: clarify metrics flag
jingyih Sep 24, 2019
efd1fc6
Merge pull request #11181 from jingyih/fix_doc
gyuho Sep 25, 2019
97388ce
clientv3: Set authority used in cert checks to host of endpoint
jpbetz Sep 25, 2019
46f3e83
scripts/build-binary: fix darwin tar commands
gyuho Sep 28, 2019
fce0e23
*: use Go 1.13.1
gyuho Sep 28, 2019
3712a5d
CHANGELOG-3.4: update
gyuho Sep 28, 2019
426463c
vendor: upgrade gRPC Go to v1.24.0
gyuho Sep 30, 2019
036cb96
*: create project governance
spzala Sep 30, 2019
f4e7fc5
pkg: create package traceutil for tracing. mvcc: add tracing
YoyinZyc Sep 9, 2019
3830b3e
pkg: add field to record additional detail of trace; add stepThreshold
YoyinZyc Sep 18, 2019
1d6ef83
pkg: use zap logger to format the structure log output.
YoyinZyc Sep 24, 2019
236ac2a
Merge pull request #11175 from spzala/governance
gyuho Sep 30, 2019
d487b16
confchange: removed duplicate check in confchange.Simple.
i-sevostyanov Oct 1, 2019
401df4b
etcdserver: add put request steps.
YoyinZyc Oct 1, 2019
3a3eb24
etcdserver: trace raft requests.
YoyinZyc Oct 1, 2019
a5abf91
etcdctl: fix member add command
jingyih Oct 3, 2019
81a6b4e
Merge pull request #11194 from jingyih/fix_etcdctl_memberAdd
gyuho Oct 3, 2019
6e74099
Merge pull request #11184 from jpbetz/correct-authority-checks
jpbetz Oct 3, 2019
c2f2309
Merge pull request #11190 from gyuho/grpc
gyuho Oct 3, 2019
2bf8e03
CHANGELOG: update from #11194
jingyih Oct 3, 2019
a0d2427
Merge pull request #11202 from jingyih/update_changelog
gyuho Oct 3, 2019
555eb19
Merge pull request #11192 from i-sevostyanov/master
tbg Oct 4, 2019
57aa68a
etcdserver: trace compaction request; add return parameter 'trace' to…
YoyinZyc Oct 2, 2019
2263930
Merge pull request #2 from etcd-io/master
YoyinZyc Oct 8, 2019
340f0ac
Merge pull request #11179 from YoyinZyc/trace
gyuho Oct 8, 2019
79bfc90
tests/docker-dns: adding tests for certs with dns names.
YoyinZyc Oct 8, 2019
eb4b800
tests: updated ubuntu version in Dockerfile
YoyinZyc Oct 8, 2019
594354b
Replace endpoint.ParseHostPort with net.SplitHostPort to fix IPv6 cli…
jpbetz Oct 8, 2019
6aae903
Merge pull request #11211 from jpbetz/ipv6-endpoints
jpbetz Oct 8, 2019
56bfdab
Merge pull request #11212 from YoyinZyc/tls-san-testing
gyuho Oct 8, 2019
1e1ce6b
changelog for the skip client san verification option.
andyliuliming Oct 9, 2019
f197ab4
Merge pull request #11219 from andyliuliming/changelog_for_cherry_pick
gyuho Oct 9, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ sudo: required
services: docker

go:
- 1.13
- 1.13.1
- tip

notifications:
Expand All @@ -30,13 +30,13 @@ env:
matrix:
fast_finish: true
allow_failures:
- go: 1.13
- go: 1.13.1
env: TARGET=linux-amd64-grpcproxy
- go: 1.13
- go: 1.13.1
env: TARGET=linux-amd64-coverage
- go: tip
env: TARGET=linux-amd64-fmt-unit-go-tip
- go: 1.13
- go: 1.13.1
env: TARGET=linux-386-unit
exclude:
- go: tip
Expand All @@ -57,7 +57,7 @@ matrix:
env: TARGET=linux-amd64-grpcproxy
- go: tip
env: TARGET=linux-amd64-coverage
- go: 1.13
- go: 1.13.1
env: TARGET=linux-amd64-fmt-unit-go-tip
- go: tip
env: TARGET=linux-386-unit
Expand All @@ -75,7 +75,7 @@ script:
linux-amd64-fmt)
docker run --rm \
--volume=`pwd`:/go/src/go.etcd.io/etcd gcr.io/etcd-development/etcd-test:go${TRAVIS_GO_VERSION} \
/bin/bash -c "GOARCH=amd64 PASSES='fmt dep' ./test"
/bin/bash -c "GOARCH=amd64 PASSES='fmt bom dep' ./test"
;;
linux-amd64-integration-1-cpu)
docker run --rm \
Expand Down
1 change: 1 addition & 0 deletions .words
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ jitter
WithBackoff
BackoffLinearWithJitter
jitter
WithDialer
WithMax
ServerStreams
BidiStreams
Expand Down
2 changes: 1 addition & 1 deletion CHANGELOG-3.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ The minimum recommended etcd versions to run in **production** are 3.1.11+, 3.2.

## [v3.1.21](https://github.com/etcd-io/etcd/releases/tag/v3.1.21) (2019-TBD)

### etcdctl
### etcdctl v3

- [Strip out insecure endpoints from DNS SRV records when using discovery](https://github.com/etcd-io/etcd/pull/10443) with etcdctl v2
- Add [`etcdctl endpoint health --write-out` support](https://github.com/etcd-io/etcd/pull/9540).
Expand Down
22 changes: 20 additions & 2 deletions CHANGELOG-3.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,30 @@ The minimum recommended etcd versions to run in **production** are 3.1.11+, 3.2.

<hr>

## [v3.2.28](https://github.com/etcd-io/etcd/releases/tag/v3.2.28) (2019-TBD)

## [v3.2.27](https://github.com/etcd-io/etcd/releases/tag/v3.2.27) (2019-TBD)
### Improved
- Add `etcd --experimental-peer-skip-client-san-verification` to [skip verification of peer client address](https://github.com/etcd-io/etcd/pull/11195).

<hr>

### etcdctl
## [v3.2.27](https://github.com/etcd-io/etcd/releases/tag/v3.2.27) (2019-09-17)

### etcdctl v3

- [Strip out insecure endpoints from DNS SRV records when using discovery](https://github.com/etcd-io/etcd/pull/10443) with etcdctl v2
- Add [`etcdctl endpoint health --write-out` support](https://github.com/etcd-io/etcd/pull/9540).
- Previously, [`etcdctl endpoint health --write-out json` did not work](https://github.com/etcd-io/etcd/issues/9532).
- The command output is changed. Previously, if endpoint is unreachable, the command output is
"\<endpoint\> is unhealthy: failed to connect: \<error message\>". This change unified the error message, all error types
now have the same output "\<endpoint\> is unhealthy: failed to commit proposal: \<error message\>".
- Fix [`etcdctl snapshot status` to not modify snapshot file](https://github.com/etcd-io/etcd/pull/11157).
- For example, start etcd `v3.3.10`
- Write some data
- Use etcdctl `v3.3.10` to save snapshot
- Somehow, upgrading Kubernetes fails, thus rolling back to previous version etcd `v3.2.24`
- Run etcdctl `v3.2.24` `snapshot status` against the snapshot file saved from `v3.3.10` server
- Run etcdctl `v3.2.24` `snapshot restore` fails with `"expected sha256 [12..."`

### Metrics, Monitoring

Expand All @@ -30,6 +43,11 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change.
- Add [`etcd_debugging_mvcc_current_revision`](https://github.com/etcd-io/etcd/pull/11126) Prometheus metric.
- Add [`etcd_debugging_mvcc_compact_revision`](https://github.com/etcd-io/etcd/pull/11126) Prometheus metric.

### Go

- Compile with [*Go 1.8.7*](https://golang.org/doc/devel/release.html#go1.8).


<hr>


Expand Down
29 changes: 22 additions & 7 deletions CHANGELOG-3.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,9 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.3.15...v3.3.16) an

**Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.3 upgrade guide](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_3.md).**

### Dependency

- Upgrade [`github.com/coreos/bbolt`](https://github.com/etcd-io/bbolt/releases) from [**`v1.3.1-coreos.6`**](https://github.com/etcd-io/bbolt/releases/tag/v1.3.1-coreos.6) to [**`v1.3.3`**](https://github.com/etcd-io/bbolt/releases/tag/v1.3.3).

### Go
### Improved

- Compile with [*Go 1.12.9*](https://golang.org/doc/devel/release.html#go1.12) including [*Go 1.12.8*](https://groups.google.com/d/msg/golang-announce/65QixT3tcmg/DrFiG6vvCwAJ) security fixes.
- Add `etcd --experimental-peer-skip-client-san-verification` to [skip verification of peer client address](https://github.com/etcd-io/etcd/pull/11196).

### Metrics, Monitoring

Expand All @@ -32,6 +28,18 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change.
- Add [`etcd_debugging_mvcc_current_revision`](https://github.com/etcd-io/etcd/pull/11126) Prometheus metric.
- Add [`etcd_debugging_mvcc_compact_revision`](https://github.com/etcd-io/etcd/pull/11126) Prometheus metric.

### Dependency

- Upgrade [`github.com/coreos/bbolt`](https://github.com/etcd-io/bbolt/releases) from [**`v1.3.1-coreos.6`**](https://github.com/etcd-io/bbolt/releases/tag/v1.3.1-coreos.6) to [**`v1.3.3`**](https://github.com/etcd-io/bbolt/releases/tag/v1.3.3).

### etcdctl v3

- Fix [`etcdctl member add`](https://github.com/etcd-io/etcd/pull/11194) command to prevent potential timeout.

### Go

- Compile with [*Go 1.12.9*](https://golang.org/doc/devel/release.html#go1.12) including [*Go 1.12.8*](https://groups.google.com/d/msg/golang-announce/65QixT3tcmg/DrFiG6vvCwAJ) security fixes.


<hr>

Expand Down Expand Up @@ -208,7 +216,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.3.11...v3.3.12) an

**Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.3 upgrade guide](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_3.md).**

### etcdctl
### etcdctl v3

- [Strip out insecure endpoints from DNS SRV records when using discovery](https://github.com/etcd-io/etcd/pull/10443) with etcdctl v2

Expand Down Expand Up @@ -772,6 +780,13 @@ See [security doc](https://github.com/etcd-io/etcd/blob/master/Documentation/op-
- Enable [`clientv3.WithRequireLeader(context.Context)` for `watch`](https://github.com/etcd-io/etcd/pull/8672) command.
- Print [`"del"` instead of `"delete"`](https://github.com/etcd-io/etcd/pull/8297) in `txn` interactive mode.
- Print [`ETCD_INITIAL_ADVERTISE_PEER_URLS` in `member add`](https://github.com/etcd-io/etcd/pull/8332).
- Fix [`etcdctl snapshot status` to not modify snapshot file](https://github.com/etcd-io/etcd/pull/8815).
- For example, start etcd `v3.3.10`
- Write some data
- Use etcdctl `v3.3.10` to save snapshot
- Somehow, upgrading Kubernetes fails, thus rolling back to previous version etcd `v3.2.24`
- Run etcdctl `v3.2.24` `snapshot status` against the snapshot file saved from `v3.3.10` server
- Run etcdctl `v3.2.24` `snapshot restore` fails with `"expected sha256 [12..."`

### etcdctl v3

Expand Down
32 changes: 31 additions & 1 deletion CHANGELOG-3.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,29 @@ The minimum recommended etcd versions to run in **production** are 3.1.11+, 3.2.
<hr>


## [v3.4.1](https://github.com/etcd-io/etcd/releases/tag/v3.4.1) (2019-TBD)
## [v3.4.2](https://github.com/etcd-io/etcd/releases/tag/v3.4.2) (2019 TBD)

See [code changes](https://github.com/etcd-io/etcd/compare/v3.4.1...v3.4.2) and [v3.4 upgrade guide](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_4.md) for any breaking changes.

**Again, before running upgrades from any previous release, please make sure to read change logs below and [v3.4 upgrade guide](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_4.md).**

### Dependency

- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) from [**`v1.23.1`**](https://github.com/grpc/grpc-go/releases/tag/v1.23.1) to [**`v1.24.0`**](https://github.com/grpc/grpc-go/releases/tag/v1.24.0).

### etcdctl v3

- Fix [`etcdctl member add`](https://github.com/etcd-io/etcd/pull/11194) command to prevent potential timeout.

### Go

- Compile with [*Go 1.12.9*](https://golang.org/doc/devel/release.html#go1.12) including [*Go 1.12.8*](https://groups.google.com/d/msg/golang-announce/65QixT3tcmg/DrFiG6vvCwAJ) security fixes.


<hr>


## [v3.4.1](https://github.com/etcd-io/etcd/releases/tag/v3.4.1) (2019-09-17)

See [code changes](https://github.com/etcd-io/etcd/compare/v3.4.0...v3.4.1) and [v3.4 upgrade guide](https://github.com/etcd-io/etcd/blob/master/Documentation/upgrades/upgrade_3_4.md) for any breaking changes.

Expand All @@ -29,6 +51,14 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change.
- Fix [secure server logging message](https://github.com/etcd-io/etcd/commit/8b053b0f44c14ac0d9f39b9b78c17c57d47966eb).
- Remove [redundant `%` characters in file descriptor warning message](https://github.com/etcd-io/etcd/commit/d5f79adc9cea9ec8c93669526464b0aa19ed417b).

### Package `embed`

- Add [`embed.Config.ZapLoggerBuilder`](https://github.com/etcd-io/etcd/pull/11148) to allow creating a custom zap logger.

### Dependency

- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) from [**`v1.23.0`**](https://github.com/grpc/grpc-go/releases/tag/v1.23.0) to [**`v1.23.1`**](https://github.com/grpc/grpc-go/releases/tag/v1.23.1).

### Go

- Compile with [*Go 1.12.9*](https://golang.org/doc/devel/release.html#go1.12) including [*Go 1.12.8*](https://groups.google.com/d/msg/golang-announce/65QixT3tcmg/DrFiG6vvCwAJ) security fixes.
Expand Down
16 changes: 16 additions & 0 deletions CHANGELOG-3.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,34 @@ Note that any `etcd_debugging_*` metrics are experimental and subject to change.

- Remove [`embed.Config.Debug`](https://github.com/etcd-io/etcd/pull/10947).
- Use `embed.Config.LogLevel` instead.
- Add [`embed.Config.ZapLoggerBuilder`](https://github.com/etcd-io/etcd/pull/11147) to allow creating a custom zap logger.

### Package `clientv3`

- Add [TryLock](https://github.com/etcd-io/etcd/pull/11104) method to `clientv3/concurrency/Mutex`. A non-blocking method on `Mutex` which does not wait to get lock on the Mutex, returns immediately if Mutex is locked by another session.

### etcdctl v3

- Fix [`etcdctl member add`](https://github.com/etcd-io/etcd/pull/11194) command to prevent potential timeout.

### gRPC gateway

- [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) only supports [`/v3`](TODO) endpoint.
- Deprecated [`/v3beta`](https://github.com/etcd-io/etcd/pull/9298).
- `curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'` does work in v3.5. Use `curl -L http://localhost:2379/v3/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'` instead.

### Dependency

- Upgrade [`google.golang.org/grpc`](https://github.com/grpc/grpc-go/releases) from [**`v1.23.0`**](https://github.com/grpc/grpc-go/releases/tag/v1.23.0) to [**`v1.23.1`**](https://github.com/grpc/grpc-go/releases/tag/v1.23.1).

### Go

- Require [*Go 1.13+*](https://github.com/etcd-io/etcd/pull/11110).
- Compile with [*Go 1.13*](https://golang.org/doc/devel/release.html#go1.13)

### Project Governance

- The etcd team has added, a well defined and openly discussed, project [governance](https://github.com/etcd-io/etcd/pull/11175).

<hr>

1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ etcd is Apache 2.0 licensed and accepts contributions via GitHub pull requests.

- Email: [etcd-dev](https://groups.google.com/forum/?hl=en#!forum/etcd-dev)
- IRC: #[etcd](irc://irc.freenode.org:6667/#etcd) IRC channel on freenode.org
- Slack: [#etcd](https://kubernetes.slack.com/messages/C3HD8ARJ5/details/)

## Getting started

Expand Down
2 changes: 1 addition & 1 deletion Documentation/op-guide/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ Follow the instructions when using these flags.
+ env variable: ETCD_ENABLE_PPROF

### --metrics
+ Set level of detail for exported metrics, specify 'extensive' to include histogram metrics.
+ Set level of detail for exported metrics, specify 'extensive' to include server side grpc histogram metrics.
+ default: basic
+ env variable: ETCD_METRICS

Expand Down
80 changes: 80 additions & 0 deletions GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# etcd Governance

## Principles

The etcd community adheres to the following principles:

- Open: etcd is open source.
- Welcoming and respectful: See [Code of Conduct](code-of-conduct.md).
- Transparent and accessible: Changes to the etcd code repository and CNCF related
activities (e.g. level, involvement, etc) are done in public.
- Merit: Ideas and contributions are accepted according to their technical merit for
the betterment of the project. For specific guidance on practical contribution steps
please see [CONTRIBUTING](./CONTRIBUTING.md) guide.

## Maintainers

[Maintainers](./MAINTAINERS) are first and foremost contributors that have shown they
are committed to the long term success of a project. Maintainership is about building
trust with the current maintainers of the project and being a person that they can
depend on to make decisions in the best interest of the project in a consistent manner.
The maintainers role can be a top-level or restricted to certain package/feature
depending upon their commitment in fulfilling the expected responsibilities as explained
below.

### Top-level maintainer

- Running the etcd release processes
- Ownership of test and debug infrastructure
- Triage GitHub issues to keep the issue count low (goal: under 100)
- Regularly review GitHub pull requests across all pkgs
- Providing cross pkg design review
- Monitor email aliases
- Participate when called upon in the [security disclosure and release process](security/README.md)
- General project maintenance

### Package/feature maintainer

- Ownership of test and debug failures in a pkg/feature
- Resolution of bugs triaged to a package/feature
- Regularly review pull requests to the pkg subsystem

Contributors who are interested in becoming a maintainer, if performing these
responsibilities, should discuss their interest with the existing maintainers. New
maintainers must be nominated by an existing maintainer and must be elected by a
supermajority of maintainers. Likewise, maintainers can be removed by a supermajority
of the maintainers and moved to emeritus status.

Life priorities, interests, and passions can change. If a maintainer needs to step
down, inform other maintainers about this intention, and if possible, help find someone
to pick up the related work. At the very least, ensure the related work can be continued.
Afterward, create a pull request to remove yourself from the [MAINTAINERS](./MAINTAINERS)
file.

## Reviewers

[Reviewers](./MAINTAINERS) are contributors who have demonstrated greater skill in
reviewing the code contribution from other contributors. Their LGTM counts towards
merging a code change into the project. A reviewer is generally on the ladder towards
maintainership. New reviewers must be nominated by an existing maintainer and must be
elected by a supermajority of maintainers. Likewise, reviewers can be removed by a
supermajority of the maintainers or can resign by notifying the maintainers.

## Decision making process

Decisions are built on consensus between maintainers publicly. Proposals and ideas
can either be submitted for agreement via a GitHub issue or PR, or by sending an email
to `etcd-maintainers@googlegroups.com`.

## Conflict resolution

In general, we prefer that technical issues and maintainer membership are amicably
worked out between the persons involved. However, any technical dispute that has
reached an impasse with a subset of the community, any contributor may open a GitHub
issue or PR or send an email to `etcd-maintainers@googlegroups.com`. If the
maintainers themselves cannot decide an issue, the issue will be resolved by a
supermajority of the maintainers.

## Changes in Governance

Changes in project governance could be initiated by opening a GitHub PR.
7 changes: 6 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# This is the official list of etcd maintainers.
# The official list of maintainers and reviewers for the project maintenance.
#
# Refer to the GOVERNANCE.md for description of the roles.
#
# Names should be added to this file like so:
# Individual's name <submission email address> (@GITHUB_HANDLE) pkg:*
# Individual's name <submission email address> <email2> <emailN> (@GITHUB_HANDLE) pkg:*
#
# Please keep the list sorted.

# MAINTAINERS
Brandon Philips <bphilips@redhat.com> (@philips) pkg:*
Gyuho Lee <gyuhox@gmail.com> <leegyuho@amazon.com> (@gyuho) pkg:*
Hitoshi Mitake <h.mitake@gmail.com> (@mitake) pkg:*
Expand All @@ -18,3 +21,5 @@ Xiang Li <xiangli.cs@gmail.com> (@xiang90) pkg:*
Ben Darnell <ben@cockroachlabs.com> (@bdarnell) pkg:go.etcd.io/etcd/raft
Tobias Grieger <tobias.schottdorf@gmail.com> (@tbg) pkg:go.etcd.io/etcd/raft

# REVIEWERS
Wenjia Zhang <wenjiazhang@google.com> (@wenjiaswe) pkg:*
16 changes: 0 additions & 16 deletions MAINTAINERS_RULES.md

This file was deleted.

Loading