diff --git a/Makefile b/Makefile index 9db7dec2d..ff6cca493 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,7 @@ DOC_FILES := \ config.md \ manifest.md \ manifest-list.md \ + extensibility.md \ canonicalization.md FIGURE_FILES := \ diff --git a/README.md b/README.md index 756086dbd..cdc8ac8ff 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ The OCI Image Format project creates and maintains the software shipping contain - [Image Configuration](config.md) - [Image Manifest](manifest.md) - [Image Manifest List](manifest-list.md) +- [Extensibility](extensibility.md) - [Canonicalization](canonicalization.md) ## Overview diff --git a/extensibility.md b/extensibility.md new file mode 100644 index 000000000..e5f5f8c6e --- /dev/null +++ b/extensibility.md @@ -0,0 +1,4 @@ +# Extensibility + +Implementations that are reading/processing [manifests](manifest.md) or [manifest lists](manifest-list.md) MUST NOT generate an error if they encounter an unknown property. +Instead they MUST ignore unknown properties. diff --git a/manifest-list.md b/manifest-list.md index b3aef15fe..085b07ad8 100644 --- a/manifest-list.md +++ b/manifest-list.md @@ -66,20 +66,7 @@ This section defines the `application/vnd.oci.image.manifest.list.v1+json` [medi - **`annotations`** *string-string map* - This OPTIONAL property contains arbitrary metadata for the manifest list. - Annotations MUST be a key-value map where both the key and value MUST be strings. - While the value MUST be present, it MAY be an empty string. - Keys MUST be unique within this map, and best practice is to namespace the keys. - Keys SHOULD be named using a reverse domain notation - e.g. `com.example.myKey`. - Keys using the `org.opencontainers` namespace are reserved and MUST NOT be used by other specifications. - If there are no annotations then this property MUST either be absent or be an empty map. - Implementations that are reading/processing manifest lists MUST NOT generate an error if they encounter an unknown annotation key. - - See [Pre-Defined Annotation Keys](manifest.md#pre-defined-annotation-keys). - -### Extensibility -Implementations that are reading/processing manifest lists MUST NOT generate an error if they encounter an unknown property. -Instead they MUST ignore unknown properties. + This OPTIONAL property contains arbitrary metadata for the manifest list with the same semantics as the [manifest's `annotations`](manifest.md#image-manifest-property-descriptions) ## Example Manifest List diff --git a/manifest.md b/manifest.md index 71fc35bb8..3979ca336 100644 --- a/manifest.md +++ b/manifest.md @@ -71,10 +71,6 @@ Unlike the [Manifest List](manifest-list.md), which contains information about a See [Pre-Defined Annotation Keys](#pre-defined-annotation-keys). -### Extensibility -Implementations that are reading/processing image manifests MUST NOT generate an error if they encounter an unknown property. -Instead they MUST ignore unknown properties. - ## Example Image Manifest *Example showing an image manifest:*