Project

Profile

Help

Issue #3350

closed

As an API user, I want the Labels, Layers and other data for an image.

Added by tomckay@redhat.com about 6 years ago. Updated almost 5 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version - Docker:
Platform Release:
Target Release - Docker:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

Specifically I need Labels for ansible playbook bundles (APB) in order to determine dependencies and other information. If Layers is not currently stored, those are necessary as well.

Consider registry.access.redhat.com/openshift3/mediawiki-apb:latest

% skopeo-inspect docker://registry.access.redhat.com/openshift3/mediawiki-apb:latest
{
    "Name": "devel.example.com:5000/examplecorp-rhcc-openshift3_mediawiki-apb",
    "Tag": "v3.6",
    "Digest": "sha256:b5d647ff8662d3c23fb94eb93ee1743bf2bb1a11a23a20d417f7d8149b38329a",
    "RepoTags": [
        "v3.6.173.0.83",
        "v3.7",
        "v3.6",
        "v3.6.173.0.5-7",
        "v3.7.14",
        "v3.7.23-3",
        "v3.6.173.0.5",
        "v3.7.9",
        "v3.7.9-33",
        "v3.6.173.0.96",
        "v3.7.14-5",
        "latest",
        "v3.7.23",
        "v3.6.173.0.83-2",
        "v3.6.173.0.96-2"
    ],
    "Created": "2018-01-11T01:32:58.265598Z",
    "DockerVersion": "1.12.6",
    "Labels": {
        "License": "GPLv2+",
        "architecture": "x86_64",
        "authoritative-source-url": "registry.access.redhat.com",
        "build-date": "2018-01-11T01:26:40.164364",
        "com.redhat.apb.spec": "aWQ6IDRmYmNjMDUxLTAzYWYtNDBjNy04NmUyLWRjMTI5NzdlNmI1ZApuYW1lOiBtZWRpYXdpa2ktYXBiCmltYWdlOiBvcGVuc2hpZnQzL21lZGlhd2lraS1hcGIKZGVzY3JpcHRpb246ICJNZWRpYXdpa2kxMjMgYXBiIGltcGxlbWVudGF0aW9uIgpiaW5kYWJsZTogZmFsc2UKYXN5bmM6IG9wdGlvbmFsCm1ldGFkYXRhOgogIGRpc3BsYXlOYW1lOiAiTWVkaWF3aWtpIChBUEIpIgogIGxvbmdEZXNjcmlwdGlvbjogIkFuIGFwYiB0aGF0IGRlcGxveXMgTWVkaWF3aWtpIDEuMjMiCiAgY29uc29sZS5vcGVuc2hpZnQuaW8vaWNvbkNsYXNzOiBpY29uLW1lZGlhd2lraQogIGRvY3VtZW50YXRpb25Vcmw6ICJodHRwczovL3d3dy5tZWRpYXdpa2kub3JnL3dpa2kvRG9jdW1lbnRhdGlvbiIKcGFyYW1ldGVyczoKICAtIG1lZGlhd2lraV9kYl9zY2hlbWE6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgREIgU2NoZW1hCiAgICAgIHR5cGU6IHN0cmluZwogICAgICBkZWZhdWx0OiBtZWRpYXdpa2kKICAtIG1lZGlhd2lraV9zaXRlX25hbWU6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgU2l0ZSBOYW1lCiAgICAgIHR5cGU6IHN0cmluZwogICAgICBkZWZhdWx0OiBNZWRpYVdpa2kKICAtIG1lZGlhd2lraV9zaXRlX2xhbmc6CiAgICAgIHRpdGxlOiBNZWRpYXdpa2kgU2l0ZSBMYW5ndWFnZQogICAgICB0eXBlOiBzdHJpbmcKICAgICAgZGVmYXVsdDogZW4KICAtIG1lZGlhd2lraV9hZG1pbl91c2VyOgogICAgICB0aXRsZTogTWVkaWF3aWtpIEFkbWluIFVzZXIKICAgICAgdHlwZTogc3RyaW5nCiAgICAgIGRlZmF1bHQ6IGFkbWluCiAgLSBtZWRpYXdpa2lfYWRtaW5fcGFzczoKICAgICAgdGl0bGU6IE1lZGlhd2lraSBBZG1pbiBVc2VyIFBhc3N3b3JkCiAgICAgIHR5cGU6IHN0cmluZwpyZXF1aXJlZDoKICAtIG1lZGlhd2lraV9kYl9zY2hlbWEKICAtIG1lZGlhd2lraV9zaXRlX25hbWUKICAtIG1lZGlhd2lraV9zaXRlX2xhbmcKICAtIG1lZGlhd2lraV9hZG1pbl91c2VyCiAgLSBtZWRpYXdpa2lfYWRtaW5fcGFzcwo=",
        "com.redhat.apb.version": "0.1.0",
        "com.redhat.build-host": "rcm-img-docker02.build.eng.bos.redhat.com",
        "com.redhat.component": "openshift-enterprise-mediawiki-apb",
        "description": "The Red Hat Enterprise Linux Base image is designed to be a fully supported foundation for your containerized applications.  This base image provides your operations and application teams with the packages, language runtimes and tools necessary to run, maintain, and troubleshoot all of your applications. This image is maintained by Red Hat and updated regularly. It is designed and engineered to be the base layer for all of your containerized applications, middleware and utilites. When used as the source for all of your containers, only one copy will ever be downloaded and cached in your production environment. Use this image just like you would a regular Red Hat Enterprise Linux distribution. Tools like yum, gzip, and bash are provided by default. For further information on how this image was built look at the /root/anacanda-ks.cfg file.",
        "distribution-scope": "public",
        "io.k8s.description": "The Red Hat Enterprise Linux Base image is designed to be a fully supported foundation for your containerized applications.  This base image provides your operations and application teams with the packages, language runtimes and tools necessary to run, maintain, and troubleshoot all of your applications. This image is maintained by Red Hat and updated regularly. It is designed and engineered to be the base layer for all of your containerized applications, middleware and utilites. When used as the source for all of your containers, only one copy will ever be downloaded and cached in your production environment. Use this image just like you would a regular Red Hat Enterprise Linux distribution. Tools like yum, gzip, and bash are provided by default. For further information on how this image was built look at the /root/anacanda-ks.cfg file.",
        "io.k8s.display-name": "Red Hat Enterprise Linux 7",
        "io.openshift.tags": "base rhel7",
        "name": "openshift3/mediawiki-apb",
        "release": "2",
        "summary": "Provides the latest release of Red Hat Enterprise Linux 7 in a fully featured and supported base image.",
        "url": "https://access.redhat.com/containers/#/registry.access.redhat.com/openshift3/mediawiki-apb/images/v3.6.173.0.96-2",
        "vcs-ref": "6b8dbf0e0f417bc04e6ee204ab671f6afd5e162f",
        "vcs-type": "git",
        "vendor": "Red Hat, Inc.",
        "version": "v3.6.173.0.96"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Layers": [
        "sha256:9cadd93b16ff2a0c51ac967ea2abfadfac50cfa3af8b5bf983d89b8f8647f3e4",
        "sha256:4aa565ad8b7a87248163ce7dba1dd3894821aac97e846b932ff6b8ef9a8a508a",
        "sha256:bb6197d4f7d2b1165b3f777e7f315af7beff759983fbc43012e9ddf238c2c045",
        "sha256:a93fa94c48a3166bd34732eaff5a0502af49fec4f90b05077cc1d13c893c1430"
    ]
}
Actions #1

Updated by ipanova@redhat.com about 6 years ago

As far as i understand `skopeo inspect` is talking to the registry through the Docker Registry API specs [0]

From skoepo docs [1]:

skopeo is able to inspect a repository on a Docker registry and fetch images layers. The inspect command fetches the repository's manifest and it is able to show you a docker inspect-like json output about a whole repository or a tag. This tool, in contrast to docker inspect, helps you gather useful information about a repository or a tag before pulling it (using disk space). The inspect command can show you which tags are available for the given repository, the labels the image has, the creation date and operating system of the image and more.

[0] https://docs.docker.com/registry/spec/api/
[1] https://github.com/projectatomic/skopeo#inspecting-a-repository

We are conform the specs ,it is already the client's side duty to figure out how to pull information with skopeo inspect or docker inspect- both go through standard API queries. I don't understand what exactly should be done one our( registry) side.

Actions #2

Updated by tomckay@redhat.com about 6 years ago

  • Status changed from NEW to CLOSED - WONTFIX

Seems like this is not something pulp needs to do.

Actions #3

Updated by bmbouter almost 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF