Project

Profile

Help

Story #4310

As a user I can view the Manifest data for each Manifest on a ManifestList

Added by amacdona@redhat.com 10 months ago. Updated about 10 hours ago.

Status:
NEW
Priority:
Normal
Assignee:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

Because we modeled some ManifestList fields on the through-table ManifestListManifest, they are not currently visible via the REST API.

From the Docker v2 API doc: https://docs.docker.com/registry/spec/manifest-v2-2/

{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
  "manifests": [
    {
      "mediaType": "application/vnd.docker.image.manifest.v2+json",
      "size": 7143,
      "digest": "sha256:e692418e4cbaf90ca69d05a66403747baa33ee08806650b51fab815ad7fc331f",
      "platform": {
        "architecture": "ppc64le",
        "os": "linux",
      }
    },
    {
      "mediaType": "application/vnd.docker.image.manifest.v2+json",
      "size": 7682,
      "digest": "sha256:5b0bcabd1ed22e9fb1310cf6c2dec7cdef19f0ad69efa1f392e94a4333501270",
      "platform": {
        "architecture": "amd64",
        "os": "linux",
        "features": [
          "sse4" 
        ]
      }
    }
  ]
}

Here's what users can currently see via the REST API:

~/d/devel ❯ http --auth admin:admin http://pulp3:8000/pulp/api/v3/content/docker/manifest-lists/1/


{
    "_artifact": {
        "_href": "/pulp/api/v3/artifacts/1/",
        "size": 1746
    },
    "_created": "2019-01-10T15:31:33.238122Z",
    "_href": "/pulp/api/v3/content/docker/manifest-lists/1/",
    "_type": "pulp_docker.manifest-list",
    "digest": "sha256:e6ac6227ccc94fd735278b4ee97dd029c7bcf4eba385c6998eb7b40b006c9b46",
    "manifests": [
        "/pulp/api/v3/content/docker/manifests/85/",
        "/pulp/api/v3/content/docker/manifests/83/",
        "/pulp/api/v3/content/docker/manifests/122/",
        "/pulp/api/v3/content/docker/manifests/84/",
        "/pulp/api/v3/content/docker/manifests/82/" 
    ],
    "media_type": "application/vnd.docker.distribution.manifest.list.v2+json",
    "schema_version": 2
}

From ManifestListManifest, we need to be able to view all the fields:
  1. architecture
  2. os
  3. os_version
  4. os_features
  5. features
  6. variant
We it also might be helpful to be able to view (on the ManifestList) some fields that exist on Manifest:
  1. media type
  2. digest
  3. schema version
  4. size of Manifest artifact

History

#1 Updated by ipanova@redhat.com 7 months ago

  • Tags Pulp 3 added

#2 Updated by bmbouter 7 months ago

  • Tags deleted (Pulp 3)

#3 Updated by ipanova@redhat.com about 10 hours ago

  • Project changed from Docker Support to Container Support

Please register to edit this issue

Also available in: Atom PDF