implement mirror on sync for docker
When pulp syncs docker repository from upstream it only pulls manifests pointed to by Manifest list or a Tag.
The tag associations are bound to change over time during subsequent syncs. For example tag "latest" may point to a new image manifest. However pulp retains the old tagless manifests and does not delete them.
Docker Manifests/Docker Manifest Lists that do not point to a Tag are very rarely useful from the perspective of the docker client user. Very rarely do users want to say -> docker pull <repo@digest> .
We need to have a "mirror in sync" option in Katello that removes manifests that do not belong to any list or are associated to any tags (similar to the yum one)
#1 Updated by Partha Aji about 4 years ago
- Target version deleted (
Another case pointed to on irc we need to clear tags also
If on sync 1 i have tags A, B, and C, and sync 2 the source repo has tags C, D, E, the repo should only have C, D, E. Right now, the repo would have A B C D E. Use case is that an old tag rhel:7.0 has a bad CVE grade and has been removed from source registry. a sync from that registry should make sure it is gone locally. Also for capsule sync consider it image "pruning" as well. guaranteeing no old images around is very important