docs: promote composable VM images proposal to a design document

The proposal told us to move it under docs/design/ once it was accepted
and implemented.  The systemd base landed on main and the NVIDIA split
(nvidia base + gpu extension) is what this series wires up, so it's no
longer a proposal - promote it to docs/design/composable-vm-images.md,
flip the status accordingly and repoint the in-tree references (agent,
osbuilder and kata-deploy) at the new path.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
This commit is contained in:
Fabiano Fidêncio
2026-07-10 21:37:20 +02:00
parent 186e6907b2
commit de775d9c88
5 changed files with 6 additions and 9 deletions

View File

@@ -1,9 +1,6 @@
# Composable VM Images for Kata Containers
> **Status**: Proposal
>
> Once accepted and implemented, this document should be moved to
> `docs/design/composable-vm-images.md`.
> **Status**: Implemented
## Summary

View File

@@ -94,7 +94,7 @@ HASH_DEV="${REAL_DEV}${PART_SEP}2"
# NO hash device + NO params -> raw mount (genuinely unmeasured extension)
#
# See "Integrity policy: measured vs. unmeasured, and failing closed" in
# docs/design/proposals/composable-vm-images.md for the rationale.
# docs/design/composable-vm-images.md for the rationale.
if [[ -b "${HASH_DEV}" ]]; then
if [[ -z "${VERITY_PARAMS}" ]]; then
echo "ERROR: extension ${EXTENSION_NAME} ships a dm-verity hash device but no verity params were provided on the kernel command line; refusing to mount it unverified" >&2

View File

@@ -21,7 +21,7 @@
//!
//! The manifest schema, the `${var}` substitution variables the agent publishes,
//! and the attester-variant / NVRC contract are documented in
//! `docs/design/proposals/composable-vm-images.md`, which is the source of
//! `docs/design/composable-vm-images.md`, which is the source of
//! truth; this module must stay consistent with it.
use anyhow::{anyhow, bail, Context, Result};

View File

@@ -546,7 +546,7 @@ partition_gpu_extension() {
# This is subtractive on purpose while the monolith still exists: the base is
# the monolith minus the GPU allow-list. The planned next step inverts this into
# a purely additive base/extension assembly (monolith = base + extension); see
# "Additive image assembly" in docs/design/proposals/composable-vm-images.md.
# "Additive image assembly" in docs/design/composable-vm-images.md.
partition_base() {
echo "nvidia: building driver-agnostic base layout"

View File

@@ -918,7 +918,7 @@ install_image_nvidia_gpu_confidential() {
}
# Install the driver-agnostic nvidia base image: the NVRC-init half of the
# chiseled NVIDIA tree (see docs/design/proposals/composable-vm-images.md).
# chiseled NVIDIA tree (see docs/design/composable-vm-images.md).
# The driver still has to be installed to build the shared stage-one (the GPU
# files are carved out afterwards), so keep the same NVIDIA_GPU_STACK as the
# monolith.
@@ -936,7 +936,7 @@ install_image_nvidia() {
# Install the gpu extension image: the driver half of the chiseled NVIDIA tree,
# laid out for /run/kata-extensions/gpu (see
# docs/design/proposals/composable-vm-images.md). It is an erofs+verity image
# docs/design/composable-vm-images.md). It is an erofs+verity image
# (MEASURED_ROOTFS) and is driver-versioned, so multiple driver extensions can
# coexist against a single nvidia base image.
install_image_nvidia_gpu_extension() {