Image Manifest
The Ocre Container Image Manifest (application/vnd.oci.image.manifest.v1+json
) defines the structure and contents of an Ocre container. It provides a standardized way to organize, configure, and execute container elements within the Ocre runtime, providing configuration and layers for a single cohesive container image.
The manifest references all elements that comprise the container image. This includes the following elements:
- Configuration: Metadata defining container execution, including properties, variables, and permissions.
- WebAssembly Module: Standard WebAssembly executable code that runs in the container runtime.
- Blobs (Optional): Additional resources that can be referenced by the application, such as images, binary data, or AI/ML models.
Manifest Structure
The manifest format follows the OCI Image Manifest specification, and while this format typically supports multiple architectures and operating systems, Ocre containers are fixed to the Wasi configuration. Additionally, every Ocre container must include a manifest file (application/vnd.oci.image.manifest.v1+json
) with a matching mediaType
.
Example
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"config": {
"mediaType": "application/vnd.wasm.config.v0+json",
"digest": "sha256:55a98fff5a9a7bef217678f2669ad89816875df55af51b6d1c23a5f9393234e3",
"size": 196
},
"layers": [
{
"mediaType": "application/wasm",
"digest": "sha256:71cb138990af165c4baf0c43361e5c055ed60a5d2632ee547597be56dcfa07e2",
"size": 2397
}
]
}
Manifest Elements
Elements within the manifest are defined as follows:
Element | Type | Required | Description |
---|---|---|---|
schemaVersion | int | Yes | Specifies the image manifest schema version; per the OCI Image Spec this MUST be 2 |
mediaType | string | Yes | Specifies the type of this manifest file; for Ocre containers, this MUST be application/vnd.oci.image.manifest.v1+json |
config | descriptor object | Yes | References the configuration object for this container image; schema follows the OCI Content Descriptor schema; mediaType must be set to application/vnd.wasm.config.v0+json |
layers | array | Yes | Specifies the list of elements that comprise this container image; each layer is a descriptor; one and only one layer MUST be of type application/wasm |
Learn More
To understand how container configuration works in detail, see the Image Configuration guide, which explains how metadata, environment variables, and execution parameters are defined for Ocre containers.