opencontainers / opencontainers/distribution-spec
Content Negotiation does not match implementation behavior
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 1.1k
- Forks
- 260
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 1
Description
We currently have https://github.com/opencontainers/distribution-spec/blob/v1.1.1/content-negotiation.md
This doesn't match the behavior of some popular implementations, and there's also a desire to remove support for Docker's v1 manifest. I think we should either rebuild this table or remove it entirely. If we rebuild it, I'd like to see it allow clients to request any content with an Accept /, or no Accept header at all. And otherwise, I think we could significantly simplify it since OCI only defines two manifest media types, so there could be optional logic to select a manifest from an index (first entry, or a well known platform?).
If we remove the page, it would be good to point to a HTTP RFC on Accept/Content-Type headers (I believe that's 7231 section 5.3.2 and section 3.1.1.5) and then we need to decide if we lose the ability to return an image manifest from an index.
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 with content-negotiation.md and review the linked RFC sections on Accept and Content-Type headers. Decide whether to rebuild or remove the table, including behavior for /, absent Accept headers, manifest selection from an index, and Docker v1 support; done means the specification and any replacement references reflect that decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100