forked from containerd/containerd
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add start of roadmap for the project
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
- Loading branch information
1 parent
3ef3f74
commit 4764e89
Showing
1 changed file
with
69 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
# containerd roadmap | ||
|
||
This is a high level roadmap for the project that outlines what is currently being worked on, what comes next, and where you can help. | ||
|
||
The following are the different status the various phases of development can be in: | ||
* Not Started - no work or thinking has been done towards the goal | ||
* In Design - design work has started for the component and you can find design documents in the `design` folder | ||
* In Progress - design has mostly finished and development has started | ||
* Completed - the development work has been completed | ||
* Stable - the apis for the phase are feature complete and considered stable | ||
|
||
## Phase 1 | ||
|
||
#### Status: In Progress | ||
|
||
### GRPC API | ||
|
||
**Document:** | ||
|
||
We are going from a top down design for filling out this missing pieces of containerd and design of the API. | ||
|
||
### Design | ||
|
||
**Document:** | ||
|
||
The high level design work is needed so that the architecture of containerd stays consistent throughout the development process. | ||
|
||
### Build & Test Process | ||
|
||
**Document:** | ||
|
||
We need to have a simple build and test process for new developers to bootstrap their environments. | ||
Because containerd will be the base of many high level systems we need to have a simple build process that does | ||
not require high level tooling. | ||
|
||
## Phase 2 | ||
|
||
Phase 2 includes most of the design and development work for the execution and storage layers of containerd. | ||
It will include porting over existing "graph drivers" from Docker Engine and finding a common model for representing snapshots for layered filesystems. | ||
|
||
This will also include moving the existing execution code support OCI's Runtime Spec and the existing containerd execution code. | ||
|
||
#### Status: In Design | ||
|
||
### Execution | ||
|
||
### Storage | ||
|
||
**Document:** https://github.com/docker/containerkit/blob/master/design/snapshots.md | ||
|
||
## Phase 3 | ||
|
||
Phase 3 involves porting the network drivers from libnetwork and finding a good middle ground between the abstractions of libnetwork and the CNI spec. | ||
|
||
This also includes getting support for the OCI Image spec built into containerd. | ||
|
||
#### Status: Not Started | ||
|
||
### Distribution | ||
|
||
### Networking | ||
|
||
## Phase 4 | ||
|
||
Phase 4 includes work on helping with the releases and packaging of containerd for various distros. | ||
|
||
#### Status: Not Started | ||
|
||
### Release Process & Tools |