Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails for some repositories with quay.io as a registry backend #288

Open
wk8 opened this issue Oct 26, 2020 · 0 comments · May be fixed by #289
Open

Fails for some repositories with quay.io as a registry backend #288

wk8 opened this issue Oct 26, 2020 · 0 comments · May be fixed by #289

Comments

@wk8
Copy link

wk8 commented Oct 26, 2020

Describe the bug

Configuring quay.io as a registry backend doesn't work for certain repositories, as queries to get manifests for specific tags fail.

To Reproduce
On any k8s cluster, apply the following manifest, which is basically the dev helm manifest but with quay.io configured as a catch-all namespace: quay_repro.txt.

Then exec into an agent pod, and try to

curl -v localhost:8081/v2/prometheus/haproxy-exporter/manifests/v0.10.0

That will fail, and the build-index's pod will have a log line similar to:

2020-10-26T02:54:41.930Z	INFO	handler/handler.go:98	500 GET /tags/prometheus/haproxy-exporter:v0.10.0 storage: backend client: parse manifest v2: unmarshal manifest: mediaType in manifest should be 'application/vnd.docker.distribution.manifest.v2+json' not ''

and trying to pull that image (for example from the host node, or from a DinD container on the same node) will fail:

/ # docker pull localhost:8081/prometheus/haproxy-exporter:v0.10.0
Error response from daemon: received unexpected HTTP status: 500 Internal Server Error

Note that pulling directly from quay.io works just fine:

docker pull quay.io/prometheus/haproxy-exporter:v0.10.0

In contrast, getting manifests for latest instead of a specific tag works just fine:

curl -v localhost:8081/v2/prometheus/haproxy-exporter/manifests/latest

and so pulling host.docker.internal:8081/prometheus/haproxy-exporter:latest works too.

Expected behavior

With the configuration above, I'd expect that as long as docker pull quay.io/XYZ works, then we should be able to docker pull localhost:8081/XYZ just the same.

Environments
k8s

Additional context
Seems to affect all versions, including master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant