Skip to content

Commit de6ed63

Browse files
committed
Update scope to focus on the URI spec and separate future goals
Signed-off-by: Brandon Mitchell <git@bmitch.net>
1 parent 8313410 commit de6ed63

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

proposals/wg-reference-spec.md

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,25 @@ The WG operates as an OCI Working Group under the [Open Container Initiative (OC
1010

1111
References are a string that is used by runtimes and other OCI registry clients to retrieve a container image.
1212
They are currently a convention, used by many clients, adopted from Docker and implemented in distribution/distribution.
13-
This WG seeks to define the syntax and parsing of a reference as an OCI spec.
13+
This WG seeks to document the syntax and parsing of a reference within the OCI.
1414

1515
## Scope
1616

1717
* Document the existing convention used by runtimes and other OCI registry clients.
18-
* Specify the syntax for references to an [OCI Image Layout](https://github.com/opencontainers/image-spec/blob/7b36cea86235157d78528944cb94c3323ee0905c/image-layout.md) manifest, including support for a tag, digest, or a full registry/repository name.
19-
* Define how the syntax can be extended to support other use cases, including:
20-
* Alternate layer formats
21-
* Immutable tags
22-
* Selecting an artifact that refers to another manifest (e.g. signature or SBOM)
23-
* Querying content from a pull through cache serving multiple registries (see [distribution-spec PR #66](https://github.com/opencontainers/distribution-spec/pull/66))
24-
* Provide backwards compatibility by using the existing reference convention from [distribution/reference](https://github.com/distribution/reference) when feasible.
18+
* Specify a standard that attempts to maximize compatibility with existing implementations.
19+
* Provide backwards compatibility by using the existing reference convention from [distribution/reference](https://github.com/distribution/reference) when feasible.
20+
* Leverage existing RFCs for URI syntax where possible (see [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986)) to simplify implementations and integration with registries (a valid reference would be a subset of valid URIs).
21+
* Reserve specific syntaxes and URI features that may be used in the future versions.
22+
* Document how projects can safely extend the reference string in a way that will not conflict with future spec versions (e.g. using a project specific reverse DNS notation on key names).
23+
24+
The working group will take into account future requirements of the spec, and minimize the risk of breaking changes from future releases.
25+
Example future requirements include:
26+
27+
* Leveraging the scheme prefix (`oci://`) to reference content in other locations, such as an [OCI Image Layout](https://github.com/opencontainers/image-spec/blob/7b36cea86235157d78528944cb94c3323ee0905c/image-layout.md).
28+
* Passing query parameters after a tag/digest that could be sent to the upstream source (`?ttl=1d`).
29+
* Pushing immutable tags or tags with a limited retention time.
30+
* Pulling content directly from a pull through cache that serves multiple registries (see [distribution-spec PR #66](https://github.com/opencontainers/distribution-spec/pull/66))
31+
* Using anchors for client features (`#concurrent_blobs=2`).
2532

2633
## Out of Scope
2734

0 commit comments

Comments
 (0)