Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions config.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,12 @@ Since the configuration JSON that gets hashed references hashes of each layer in

- **diff_ids** *array*, REQUIRED

An array of layer content hashes (`DiffIDs`), in order from bottom-most to top-most.
An array of layer content hashes (`DiffIDs`), in order from first to last.

- **history** *array of objects*, OPTIONAL

Describes the history of each layer.
The array is ordered from bottom-most layer to top-most layer.
The array is ordered from first to last.
The object has the following fields:

- **created** *string*, OPTIONAL
Expand Down
7 changes: 6 additions & 1 deletion image-layout.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@

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).
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).
Given an image layout a tool can convert a given ref into a runnable OCI Image Format by finding an appropriate manifest from the manifest list, unpacking the [filesystem layers](layer.md) in the correct order, and then converting the image configuration into an OCI Runtime config.json.

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:

* Following the ref to find a [manifest](manifest.md#image-manifest), possibly via a [manifest list](manifest.md#manifest-list)
* Applying the filesystem layers in the specified order
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make “Applying the filesystem layers” a link to layers.go#applying?

* 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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Backticks around config.json?


The image layout has two top level directories:

Expand Down
2 changes: 1 addition & 1 deletion layer.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Image Layer Filesystem Changeset

This document describes how to serialize a filesystem and filesystem changes like removed files into a blob called a layer.
One or more layers are ordered on top of each other to create a complete filesystem.
One or more layers are applied on top of each other to create a complete filesystem.
This document will use a concrete example to illustrate how to create and consume these filesystem layers.

## Distributable Format
Expand Down
4 changes: 2 additions & 2 deletions manifest.md
Original file line number Diff line number Diff line change
Expand Up @@ -159,8 +159,8 @@ Unlike the [Manifest List](#manifest-list), which contains information about a s

Each item in the array MUST be a [descriptor](descriptor.md).
The array MUST have the base image at index 0.
Subsequent layers MUST then follow in the order in which they are to be layered on top of each other.
The algorithm to create the final unpacked filesystem layout MUST be to first unpack the layer at index 0, then index 1, and so on.
Subsequent layers MUST then follow in stack order (i.e. from `layers[0]` to `layers[len(layers)]`).
The final filesystem layout MUST match the result of [applying](layer.md#applying) the layers to an empty directory.

Beyond the [descriptor requirements](descriptor.md#properties), the value has the following additional restrictions:

Expand Down