How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

OCI Runtime Specification

The OCI Runtime Specification defines the configuration, execution environment and lifecycle of a container — what a runtime is handed and what operations it must support — so that runc, crun, and other runtimes are interchangeable.

The OCI Runtime Specification describes what happens after an image is unpacked. It defines the on-disk bundle a runtime is handed, the config.json that specifies namespaces, mounts, cgroups, capabilities and process settings, and the lifecycle operations — create, start, kill, delete — that every compliant runtime must implement.

  • The bundle - A root filesystem plus a config.json, which together are everything a runtime needs.
  • Platform configuration - Linux namespaces, cgroups, seccomp, capabilities and device access, expressed as data.
  • Lifecycle operations - A defined state machine, which is why runc and crun can be swapped underneath the same orchestrator.
  • JSON Schema - The configuration is machine-checkable.

The runtime spec is where a container’s security posture is actually written down, and it is worth reading if you care about the blast radius of an API workload: dropped capabilities, a read-only root, and a seccomp profile are all config.json fields. That makes it the enforcement layer beneath the identity story in SPIFFE and the provenance story in SLSA. Companions: OCI Image and OCI Distribution.