opencontainers / opencontainers/distribution-spec

Content Negotiation does not match implementation behavior

Open
#596 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.