Container Device Interface (Rust)
Rust implementation of the Container Device Interface (CDI) specification, at parity with CDI v1.1.0.
CDI lets container runtimes support third-party devices (GPUs, FPGAs, and other accelerators) through vendor-provided JSON/YAML specs instead of runtime-specific plugins.
Library
The API mirrors the Go implementation: CDI specs are discovered from the standard spec directories and requested devices are injected into an OCI runtime spec:
use default_cache;
use Spec;
let mut oci_spec = default;
inject_devices?;
Full API documentation: https://docs.rs/container-device-interface
Binaries and signed artifacts
Each release ships the cdi and validate CLI tools and the
libcontainer_device_interface.so cdylib for x86_64 and aarch64 as
reproducible tarballs with cosign signatures, an SPDX SBOM, and SLSA
provenance. Artifacts and verification material are on the
releases page.
Building from source
See BUILDING.md for local builds and for reproducing release artifacts bit-for-bit.
License
Apache-2.0