Actions
Tracker #21289
openAdd Docker Manifest List to Katello
% Done:
0%
Description
Pulp 2.14 added support for docker manifest lists (https://docs.docker.com/registry/spec/manifest-v2-2/#manifest-list) as part of https://pulp.plan.io/issues/2384
From my general understanding manifest lists are meant for multi architecture containers. For example in a checkout a busybox repo. Notice that the tag 'glibc' (having schema 1 and 2 versions) points to a manifest list:
> db.units_docker_tag.find({'name':'glibc'}) { "_id" : "566bd1f7-357f-4288-b1ef-e06e3b16b3cb", "pulp_user_metadata" : { }, "_last_updated" : 1506007919, "name" : "glibc", "manifest_digest" : "sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "repo_id" : "containers", "schema_version" : 1, "manifest_type" : "image", "_ns" : "units_docker_tag", "_content_type_id" : "docker_tag" } { "_id" : "1dbc2926-170d-409f-86a7-bb9dcb03a817", "pulp_user_metadata" : { }, "_last_updated" : 1506007919, "name" : "glibc", "manifest_digest" : "sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "repo_id" : "containers", "schema_version" : 2, "manifest_type" : "list", "_ns" : "units_docker_tag", "_content_type_id" : "docker_tag" } > db.units_docker_manifest.find({"digest":"sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9"}) { "_id" : "949a9a37-2989-4c7a-9f0b-abacbc50329d", "pulp_user_metadata" : { }, "_last_updated" : 1506007919, "_storage_path" : "/var/lib/pulp/content/units/docker_manifest/26/3a3fd1e41297c7ae7582f405b390e3b55dd20d423575f8ab3168ed008eb001/sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "downloaded" : true, "digest" : "sha256:a99ec478f03a87779cb367fc0e3656df378006eb97c6ce9a84ea147aa57d7aa9", "schema_version" : 1, "fs_layers" : [ { "blob_sum" : "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" }, { "blob_sum" : "sha256:91d086a909e1537f8905a225a02fbb4f75e0dbcb3b42f82120d9c27748de1cfe" } ], "_ns" : "units_docker_manifest", "_content_type_id" : "docker_manifest" } > > db.units_docker_manifest_list.find({"digest":"sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c"}) { "_id" : "d5d41cad-2a82-43d2-93c8-169a74b07e4c", "pulp_user_metadata" : { }, "_last_updated" : 1506007917, "_storage_path" : "/var/lib/pulp/content/units/docker_manifest_list/29/5ea8bff9427de566d157403bb359d9da09a2e47b35bb3d2667342e3c4fe06f/sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "downloaded" : true, "digest" : "sha256:6cb02cbabacf59962d0cd05176e68ae4769e998e8d98f5e3f28fe915de341d6c", "schema_version" : 2, "manifests" : [ "sha256:98f12e5b0243774d2767dee77ad15b7cc5a835061e408c3bae9038ccdfa9d955", "sha256:5268ffa3b8d427494747e840f3016b63cb80340ff15b5aa153198d5853af3ced", "sha256:756e4909a1f5c4d78b98babd8cb4cf2937483398f7d6cb48b2c20b3e7740f54e", "sha256:92d8427b4ff3b3043073ed4d1ed54529867a8c7150c7b5d2ac3e06bb2dc5bf1c", "sha256:13258ce8b71b92b292eaa96ee9fa7d37cd1d5b5ccbce53010dd8835e2ebade09", "sha256:59117d7c016fba6ede7f87991204bd672a1dca444102de66db632383507ed90b", "sha256:e5aa1b0a24620228b75382997a0977f609b3ca3a95533dafdef84c74cc8df642" ], "amd64_digest" : "sha256:98f12e5b0243774d2767dee77ad15b7cc5a835061e408c3bae9038ccdfa9d955", "amd64_schema_version" : 2, "_ns" : "units_docker_manifest_list", "_content_type_id" : "docker_manifest_list" } >
This implies Katello add model changes for Docker Manifest Lists and update the following pages
1) Add model bindings for docker manifest lists. Maintain the associations between Manifests and Manifest Lists
1) Add Manage Docker Manifest Lists functionality via repo
2) Update Various counts displayed on Sync/CV pages.
Actions