Story #3990
closedAs a user, I can "docker pull" from a registry hosted by Pulp
100%
Description
Motivation:¶
Docker clients are designed to interact with a REST API provided by a Docker registry. In Pulp 2, the registry API was delivered by a separate application, Crane. Pulp 3's ability to serve custom live APIs has made it possible for Crane's feature set to be incorporated into the pulp_docker plugin.
Use cases:¶
As a user, I can use a DockerPublisher to create a publication.
As a user, I can create DockerDistribution and link it to a repository and publisher or a specific publication.
As a user, I can perform a "docker pull pulp-hostname:8000/some/relative/path"
As a user, I can perform a "docker pull pulp-hostname:8000/some/relative/path:someVersion"
Registry API requirements¶
The v2 registry API needs to minimally support the following endpoints.
/v2/ - Provides version support information for /v2 requests. Returns {}.
/v2/<some/relative/path>/manifests/<manifest-identifier> - Serve the manifest requested
/v2/<some/relative/path>/blobs/sha256:<sha256 checksum> - Serve the blob with the matching checksum