Create fork of Docker Distribution Registry to enable online garbage collection
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.)
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.
- Fork Docker Distribution Registry: https://gitlab.com/gitlab-org/container-registry
- Investigate method to migrate manifests to an online writeable format (Docker Trusted Registry uses a database).
- Implement online garbage collection.
- Develop a migration strategy.
- Investigate a method to update our container registry to the new version.
- Update distributed version of container registry for on-premise customers.
Other steps (the roller skate)
- Improve existing garbage collection algorithm
- Include/improve Docker Distribution Pruner
- Include/improve GitLab Registry Cleaner
- ETL process for metrics to calculate SMAU