Pulp Crane not returning correct headers
Sync the following docker repo
Check out the following output when syncing v1 content
$ curl --head -L https://<fqdn>:5000/v2/default_organization-custom-ocp/manifests/4.0.0-0 HTTP/1.1 302 FOUND Date: Mon, 04 Feb 2019 16:29:14 GMT Server: Apache/2.4.6 (Red Hat Enterprise Linux) Content-Length: 437 Location: https://<fqdn>/pulp/docker/v2/fe117c3c-5820-4406-ad34-8404062b8458/manifests/1/4.0.0-0 Content-Type: text/html; charset=utf-8 HTTP/1.1 200 OK Date: Mon, 04 Feb 2019 16:29:15 GMT Server: Apache/2.4.6 (Red Hat Enterprise Linux) Last-Modified: Wed, 30 Jan 2019 16:28:40 GMT ETag: "e5e-580af6711a0c7" Accept-Ranges: bytes Content-Length: 3678 Docker-Distribution-API-Version: registry/2.0
Now compare it to the same in quay
$ curl --head -L https://quay.io/v2/coreos/etcd/manifests/latest HTTP/2 200 server: nginx/1.14.2 date: Mon, 04 Feb 2019 16:29:41 GMT content-type: application/vnd.docker.distribution.manifest.v1+prettyjws content-length: 6655 docker-content-digest: sha256:5b6691b7225a3f77a5a919a81261bbfb31283804418e187f7116a0a9ef65d21d x-frame-options: DENY strict-transport-security: max-age=63072000; preload
Notice how content-type is set to application/vnd.docker.distribution.manifest.v1+prettyjws in the case of quay, while its blank for pulp-crane.
This causes issues in clients pulling this information.
#2 Updated by email@example.com about 2 years ago
Some investigation was done: grc registry cannot hangle unsigned manifest, docker registry always signes the manifest before returning, that said, we can assume that signed schema1 manifest is in circulation.
Apache config needs to be updated to return mediatype of a signed manifest for schema1.
Please register to edit this issue