distribution/ROADMAP.md
burnettk b0eb769ed4 correct doc/spec to docs/spec everywhere
Signed-off-by: Kevin Burnett <burnettk@gmail.com>
2015-05-11 15:30:56 -04:00

3.8 KiB

Roadmap

The Distribution Project consists of several components, some of which are still being defined. This document defines the high-level goals of the project, identifies the current components, and defines the release-relationship to the Docker Platform.

Distribution Goals

  • Replace the existing docker registry implementation as the primary implementation.
  • Replace the existing push and pull code in the docker engine with the distribution package.
  • Define a strong data model for distributing docker images
  • Provide a flexible distribution tool kit for use in the docker platform

Distribution Components

Components of the Distribution Project are managed via github milestones. Upcoming features and bugfixes for a component will be added to the relevant milestone. If a feature or bugfix is not part of a milestone, it is currently unscheduled for implementation.


Registry

Registry 2.0 is the first release of the next-generation registry. This is primarily focused on implementing the new registry API, with a focus on security and performance.

Registry 2.0

Features:

  • Faster push and pull
  • New, more efficient implementation
  • Simplified deployment
  • Full API specification for V2 protocol
  • Pluggable storage system (s3, azure, filesystem and inmemory supported)
  • Immutable manifest references (#46)
  • Webhook notification system (#42)
  • Native TLS Support (#132)
  • Pluggable authentication system
  • Health Checks (#230)

Registry 2.1

Planned Features:

NOTE: This feature list is incomplete at this time.

  • Support for Manifest V2, Schema 2 and explicit tagging objects (#62, #173)
  • Mirroring (#19)
  • Flexible client package based on distribution interfaces (#193

Registry 2.2

TBD


Distribution Package

At its core, the Distribution Project is a set of Go packages that make up Distribution Components. At this time, most of these packages make up the Registry implementation.

The package itself is considered unstable. If you're using it, please take care to vendor the dependent version.

For feature additions, please see the Registry section. In the future, we may break out a separate Roadmap for distribution-specific features that apply to more than just the registry.


Project Planning

Distribution Components map to Docker Platform Releases via the use of labels. Project Pages are used to define the set of features that are included in each Docker Platform Release.

Platform Version Label Planning
Docker 1.6 Docker/1.6 Project Page
Docker 1.7 Docker/1.7 Project Page
Docker 1.8 Docker/1.8 Project Page