Skip to content

feat(vm): derive guest rootfs from sandbox images#957

Open
drew wants to merge 12 commits intomainfrom
vm-container-support
Open

feat(vm): derive guest rootfs from sandbox images#957
drew wants to merge 12 commits intomainfrom
vm-container-support

Conversation

@drew
Copy link
Copy Markdown
Collaborator

@drew drew commented Apr 24, 2026

Summary

Update the VM compute driver so sandbox images drive guest rootfs creation, including per-image caching and Dockerless OCI fetch/unpack for registry and community image refs.
Keep Docker only for local Dockerfile builds on the CLI host, where the CLI exports a rootfs artifact for the VM backend, and update the VM gateway scripts/docs to match the new flow.

Related Issue

N/A

Changes

  • remove the bundled VM rootfs fallback and require a sandbox image or configured default image for VM sandboxes
  • add OCI-based image fetch, layer unpack, whiteout handling, and digest-keyed rootfs caching in openshell-driver-vm
  • keep Dockerfile sources on the host Docker socket, export them as local rootfs tar artifacts for VM sandboxes, and retain gateway-container imports for local Kubernetes gateways
  • bundle the guest supervisor separately, update gateway:vm setup/start behavior, and refresh VM architecture and user docs
  • fix VM rootfs archiving to preserve broken symlinks found in real container filesystems

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (if applicable)

Additional testing run:

  • cargo check -p openshell-driver-vm -p openshell-cli -p openshell-bootstrap
  • cargo test -p openshell-bootstrap encode_and_decode_rootfs_tar_image_ref_round_trip
  • cargo test -p openshell-driver-vm apply_layer_dir_to_rootfs_honors_whiteouts
  • cargo test -p openshell-driver-vm layer_compression_from_media_type_supports_common_formats
  • cargo test -p openshell-driver-vm compute_file_sha256_returns_prefixed_digest
  • cargo test -p openshell-driver-vm create_rootfs_archive_preserves_broken_symlinks
  • cargo test -p openshell-driver-vm prepare_sandbox_rootfs_rewrites_guest_layout
  • attempted mise run pre-commit, but test:rust failed in sccache with Too many open files while compiling ring

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

@drew drew requested a review from a team as a code owner April 24, 2026 06:04
@drew drew self-assigned this Apr 24, 2026
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 24, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions
Copy link
Copy Markdown

@drew drew marked this pull request as draft April 24, 2026 06:06
@drew drew force-pushed the vm-container-support branch 2 times, most recently from 7368da1 to 616584b Compare April 29, 2026 23:05
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 29, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

drew added 12 commits May 1, 2026 08:06
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Revert docs/get-started/quickstart.mdx and docs/sandboxes/community-sandboxes.mdx to their pre-VM-rootfs state. Keep these changes internal until the feature is finalized.

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew drew force-pushed the vm-container-support branch from e356d60 to 6bc1e94 Compare May 1, 2026 15:28
@drew drew marked this pull request as ready for review May 2, 2026 01:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants