Understanding the OCI Distribution Specification - distribution/distribution

The Open Container Initiative (OCI) Distribution Specification defines an API protocol to facilitate and standardize the distribution of content. It is part of the OCI project which includes the Runtime Specification and the Image Specification. The Distribution Specification is used to distribute OCI Images, which consist of an image manifest, an optional image index, a set of filesystem layers, and a configuration.

The Distribution Specification includes several key concepts:

  • Distribution-spec: The OCI Distribution Spec defines an API protocol to facilitate and standardize the distribution of content.
  • Image Layout: The OCI Image Layout is the directory structure for OCI content-addressable blobs and location-addressable references (refs). It must contain a blobs directory, oci-layout file and an index.json file.
  • Image Manifest: An image manifest provides a configuration and set of layers for a single container image for a specific architecture and operating system.
  • Image Index Specification: The image index is a higher-level manifest which points to specific image manifests, ideal for one or more platforms. It is a multi-descriptor entry point.
  • OCI Artifacts: OCI artifacts are a way of using OCI registries, or container registries that are compliant with specifications set by the Open Container Initiative, to store arbitrary files.

The OCI Distribution Specification includes a process and API for prototyping and testing extensions to the Distribution API.

The OCI Artifacts project is an attempt to define an opinionated way to leverage OCI Registries for arbitrary artifacts without masquerading them as container images.

References:

Additional resources:

Example of Distribution-spec implementation:

Example of using Distribution-spec for arbitrary artifacts:

Example of OCI compliant registry:

Example of OCI compliant runtime:

Example of OCI compliant image:

Example of OCI compliant image builder:

Example of OCI compliant image scanner:

Example of OCI compliant image vulnerability scanner:

Example of OCI compliant image signing and verification:

Example of OCI compliant image distribution:

Example of OCI compliant image distribution tool:

Example of OCI compliant image conversion:

Example of OCI compliant image diff:

Example of OCI compliant image inspection:

  • [conta