Issue #3350
closedAs an API user, I want the Labels, Layers and other data for an image.
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"
]
}
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.
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.