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
From the 2017-01-25 call we agreed to keep the manifest list as the
entry point for accessing objects. The index concept is only a more
generic use of the manifest-list.
#438 (comment)
This change uses the manifest-list as an index that allows
implementations to work around needing to walk/traverse the `./refs/` or
`./blobs/` directories.
This includes validating the image-layout example.
This also makes `validate-examples` automatically update `schema-fs` if
there have been changes to the JSON schema.
Obsoletes #438
Signed-off-by: Vincent Batts <[email protected]>
Copy file name to clipboardExpand all lines: image-layout.md
+59-15Lines changed: 59 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,22 +3,24 @@
3
3
The OCI Image Layout is a slash separated layout of OCI content-addressable blobs and [location-addressable](https://en.wikipedia.org/wiki/Content-addressable_storage#Content-addressed_vs._location-addressed) references (refs).
4
4
This layout MAY be used in a variety of different transport mechanisms: archive formats (e.g. tar, zip), shared filesystem environments (e.g. nfs), or networked file fetching (e.g. http, ftp, rsync).
5
5
6
-
Given an image layout and a ref, a tool can create an [OCI Runtime Specification bundle](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/bundle.md) by:
6
+
Given an image layout and a ref, a tool can create an [OCI Runtime Specification bundle](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/bundle.md) by:
7
7
8
8
* Following the ref to find a [manifest](manifest.md#image-manifest), possibly via a [manifest list](manifest-list.md#manifest-list)
9
9
*[Applying the filesystem layers](layer.md#applying) in the specified order
10
-
* Converting the [image configuration](config.md) into an [OCI Runtime Specification `config.json`](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc2/config.md)
10
+
* Converting the [image configuration](config.md) into an [OCI Runtime Specification `config.json`](https://github.com/opencontainers/runtime-spec/blob/v1.0.0-rc3/config.md)
11
11
12
12
# Content
13
13
14
14
The image layout MUST contain two top level directories:
15
15
16
16
-`blobs` contains content-addressable blobs.
17
-
A blob has no schema and should be considered opaque.
17
+
- A blob has no schema and should be considered opaque.
18
+
- Directory MAY be empty.
19
+
- See [blobs](#blobs) section
18
20
-`refs` contains [descriptors][descriptors].
19
-
Commonly pointing to an [image manifest](manifest.md#image-manifest) or an [image manifest list](manifest-list.md#oci-image-manifest-list-specification).
20
-
21
-
Both `blobs` and `refs` MAY be empty.
21
+
-Commonly pointing to an [image manifest](manifest.md#image-manifest) or an [image manifest list](manifest-list.md#oci-image-manifest-list-specification).
22
+
- Directory MAY be empty.
23
+
- See [refs](#refs) section
22
24
23
25
The image layout MUST also contain an `oci-layout` file:
24
26
@@ -27,23 +29,26 @@ The image layout MUST also contain an `oci-layout` file:
27
29
- The `imageLayoutVersion` value will align with the OCI Image Specification version at the time changes to the layout are made, and will pin a given version until changes to the layout are required
28
30
- It MAY include additional fields
29
31
32
+
The image layout MAY also contain an `index.json` file:
33
+
34
+
- It MUST be a JSON object
35
+
- It MUST have the base properties of [manifest-list](manifest-list.md).
Copy file name to clipboardExpand all lines: manifest-list.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,9 @@ For the media type(s) that this document is compatible with, see the [matrix][ma
11
11
-**`schemaVersion`***int*
12
12
13
13
This REQUIRED property specifies the image manifest schema version.
14
-
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker. The value of this field will not change. This field MAY be removed in a future version of the specification.
14
+
For this version of the specification, this MUST be `2` to ensure backward compatibility with older versions of Docker.
15
+
The value of this field will not change.
16
+
This field MAY be removed in a future version of the specification.
15
17
16
18
-**`mediaType`***string*
17
19
@@ -114,5 +116,5 @@ For the media type(s) that this document is compatible with, see the [matrix][ma
0 commit comments