Create fork of Docker Distribution Registry to enable online garbage collection

Problem

The problem is defined in gitlab-ce#62885 but, as a summary, we're looking for a way to resolve both our concerns with file retention in our container registry as well as various integration efforts (ordering lists of containers, metrics, etc.)

Solution

Forking Docker Distribution Registry and adding online garbage collection will move towards solving our largest concern which is storage space on gitlab.com and for our larger on-premise customers.

  1. Fork Docker Distribution Registry: https://gitlab.com/gitlab-org/container-registry
  2. Investigate method to migrate manifests to an online writeable format (Docker Trusted Registry uses a database).
  3. Implement online garbage collection.
  4. Develop a migration strategy.
  5. Investigate a method to update our container registry to the new version.
  6. Update distributed version of container registry for on-premise customers.

Other steps (the roller skate)

/cc @sabrams /cc @ggelatti /cc @marin /cc @stanhu /cc @dzaporozhets /cc @ayufan

Edited by Tim Rizzi