distribution/ROADMAP.md
Stephen J Day 574c9c821b Add ROADMAP.md to the project and cleanup existing items
Signed-off-by: Stephen J Day <stephen.day@docker.com>
2015-03-18 16:15:34 -07:00

4.1 KiB

Roadmap

This document covers the high-level the goals and dates for features in the docker registry. The distribution project currently has several components to report in the road map, which are covered below.

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

Components

The distribution project has a few components with independent road maps and road maps related to the docker project. They are covered below.

Registry

The current status of the registry road map is managed via github milestones. Upcoming features and bugfixes will be added to relevant milestones. If a feature or bugfix is not part of a milestone, it is currently unscheduled for implementation.

The high-level goals for each registry release are part of this section.

2.0

Milestones: 2.0.0-beta 2.0.0-rc 2.0.0

The 2.0 release is the first release of the new registry. This is mostly focused on implementing the new registry API with a focus on security and performance.

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)

2.1

Milestone: 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

2.2

Milestone: 2.2

TBD

Docker Platform

To track various requirements that must be synced with releases of the docker platform, we've defined labels corresponding to upcoming releases. Each release also has a project page explaining the relationship of the distribution project with the docker project.

Please see the following table for more information:

Platform Version Milestone Project
Docker 1.6 Docker/1.6 Project
Docker 1.7 Docker/1.7 Project
Docker 1.8 Docker/1.8 Project

Package

The distribution project, at its core, 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 road map for distribution specific features that apply to more than just the registry.