Skip to content

Commit

Permalink
Documentation: add a roadmap
Browse files Browse the repository at this point in the history
Signed-off-by: Benjamin Wang <[email protected]>
  • Loading branch information
ahrtr committed Jul 24, 2023
1 parent 26b3ecf commit f1ee4ec
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
54 changes: 54 additions & 0 deletions Documentation/contributor-guide/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# roadmap

etcd uses GitHub milestones to track all tasks in each major or minor release. The roadmap.md file only records the most
important tasks for each release.
Please also refer to [here](https://docs.google.com/spreadsheets/d/1hFpIbkI0IDum0SPy8txj7bVHxQRrAB_82f1Yqz_Pa8M/edit#gid=0&fvid=1685003197)
for more context. The list is based on current maintainers capacity that may shift over time. Proposed milestones is what we think we can
deliver with people we have. If we have more support on the important stuff, we could pick up more items from backlog.
Note that etcd will continue to mainly focus on technical debt over the next few major or minor releases.

Each item has an assigned priority:
- P0 - Critical for the current milestone, and blocks the release.
- P1 - Important for the current milestone, and critical for the next milestone.
- P2 - Nice to have, can be always skipped and should not block anything.

## v3.6.0

For a full list of tasks in v3.6.0, please see [milestone etcd-v3.6](https://github.com/etcd-io/etcd/milestone/38).

| Title | Priority | Note |
|--------------------------------------------------------------------|----------|--------------------------------------------------------------------------------------------------------------|
| Support downgrade | P0 | etcd will support downgrade starting from 3.6.0. But it will also support offline downgrade from 3.5 to 3.4. |
| StoreV2 deprecation | P0 | This task will be covered in both 3.6 and 3.7. |
| Support /livez and /readyz endpoints | P1 | It provides clearer APIs, and can also workaround the stalled writes issue |
| Bump gRPC | P1 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
| Deprecate grpc-gateway or bump it | P1 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. |
| Release raft 3.6.0 | P1 | etcd 3.6.0 will depends on raft 3.6.0 |
| bbolt: Add logger into bbolt | P1 | It's important to diagnose bbolt issues |
| bbolt: Add surgery commands | P1 | Surgery commands are important for fixing corrupted db files |
| Release bbolt 1.3.8 | P1 | etcd 3.6.0 will depends on bbolt 1.3.8 |
| Evaluate and (Gradulate or deprecate/remove) experimental features | P2 | This task will be covered in both 3.6 and 3.7. |

## v3.7.0

For a full list of tasks in v3.7.0, please see [milestone etcd-v3.7](https://github.com/etcd-io/etcd/milestone/39).

| Title | Priority | Note |
|-------------------------------------------------------------------|----------|-----------------------------------------------------------------------------------|
| StoreV2 deprecation | P0 | Finish the remaining tasks 3.7. |
| Refactor lease: Lease might be revoked by mistake by old leader | P1 | to be investigated & discussed |
| Integrate raft's new feature (async write) into etcd | P1 | It should can improve the performance |
| bbolt: Support customizing the bbolt rebalance threshold | P2 | It may get rid of etcd's defragmentation. Both bbolt and etcd need to be changed. |
| Evaluate and (graduate or deprecate/remove) experimental features | P2 | Finish the remaining tasks 3.7. |

## Backlog (future releases)

| Title | Priority | Note |
|-----------------------------------------------------------|----------|------|
| Remove the dependency on grpc-go's experimental API | | |
| Protobuf: cleanup both golang/protobuf and gogo/protobuf | | |
| Proposals should include a merkle root | | |
| Add Distributed Tracing using OpenTelemetry | | |
| Support CA rotation | | |
| bbolt: Migrate all commands to cobra style commands | | |
| raft: enhance the configuration change validation | | |
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,8 @@ See [CONTRIBUTING](CONTRIBUTING.md) for details on setting up your development e

Please refer to [community-membership.md](Documentation/contributor-guide/community-membership.md#member) for information on becoming an etcd project member. We welcome and look forward to your contributions to the project!

Please also refer to [roadmap](Documentation/contributor-guide/roadmap.md) to get more details on the priorities for the next few major or minor releases.

## Reporting bugs

See [reporting bugs](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md) for details about reporting any issues. Before opening an issue please check it is not covered in our [frequently asked questions].
Expand Down

0 comments on commit f1ee4ec

Please sign in to comment.