concourse / concourse/docker-image-resource
fetchDigest is not backwards compatible according to Image Manifest v2, Schema 2
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 162
- Forks
- 250
- PR merge metrics
- No merged PRs in 30d
Description
According to Image Manifest V 2, Schema 2 (bottom of the page for Backwards Compatibility) the fetchDigest function does not accept the "fat manifest" header application/vnd.docker.distribution.manifest.list.v2+json. This is causing a "no version found" error when trying to fetch a docker image with a manifest built in this format.
I believe you could just add the extra header and it should work. I did a little local testing and it managed to find something and start the job (ran into a non-concourse related problem where I didn't test further).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in cmd/check/main.go at fetchDigest around line 116, then review the Image Manifest V2, Schema 2 backwards-compatibility guidance linked in the issue. Verify that images using the manifest list media type no longer produce a "no version found" error, and add or update a focused test if the existing check tests cover this path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100