You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: proposals/wg-reference-spec.md
+15-8Lines changed: 15 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,18 +10,25 @@ The WG operates as an OCI Working Group under the [Open Container Initiative (OC
10
10
11
11
References are a string that is used by runtimes and other OCI registry clients to retrieve a container image.
12
12
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.
14
14
15
15
## Scope
16
16
17
17
* 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`).
0 commit comments