How Tag Retention Logic Affects Manifest Lists

JFrog Artifactory Documentation

ft:sourceType
Paligo

The Docker/ OCI upload APIs have been enhanced to add relationship markers between manifests and manifest lists. This allows us to apply the tag retention logic of both Max Unique Tags and Tag Retention, to remove a manifest list including all of its referenced sub-manifests as a single complete tag context.

If we have a list.manifest with several manifests under it, the tag retention logic remains the same and simply renames that tag with all its sub-manifests as a whole. Manifests that are nested under the list are treated according to their relationship mapping and removed when they exceed the limits.

list_of_lists.png
Overwriting List Manifests With A Manifest and Vice Versa

The base principle in Artifactory is that if you have decided to rewrite a tag, you are performing a complete replacement. Therefore if you decide to overwrite a list.manifest with a single manifest, all of the sub-manifests related to the original revision will also be removed. When tag retention is applied, the complete structure of the previous revision is saved including both the list.manifest and all its sub-manifests all together.