Skip to content

feat(runtime): package and enable Firecracker - #38

Open
tianyuzhou95 wants to merge 2 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/firecracker
Open

feat(runtime): package and enable Firecracker#38
tianyuzhou95 wants to merge 2 commits into
inclusionAI:mainfrom
tianyuzhou95:albert/firecracker

Conversation

@tianyuzhou95

Copy link
Copy Markdown
Collaborator

Summary

Consume sandboxd's shared runtime manifest as the source of truth for the
compatible gVisor and Firecracker releases.

Package the checksum-verified Firecracker runtime bundle, build its matching
guest-agent initrd, and enable the runtime in standalone, Helm, and Terraform
deployments. Firecracker accepts read-only EROFS roots and mounts, with a
private ext4 writable layer for each sandbox.

Update the runtime documentation and examples to describe KVM requirements,
capability discovery, storage behavior, and unsupported inputs.

Testing

  • make sdk-check
  • make deploy-script-check
  • make versions
  • AKernel standalone Firecracker command, process, filesystem, PTY, storage,
    recovery, and reverse-tunnel coverage
  • Firecracker EROFS lazy loading through distill-fs against an S3-compatible
    range server
  • sandboxd runtime and network E2E coverage in feat(runtime): add Firecracker and pooled TAP networking sandboxd#27

Update the sandboxd submodule to the tested runtime series and use its
shared manifest as the single source of truth for gVisor artifacts. This
keeps sandboxd E2E and AKernel packaging on the same compatibility release.

Install the checksum-verified runsc binary from the promoted AKernel gVisor
release instead of selecting an independent upstream release in the node
image. Do not expose per-field artifact overrides; testing another runtime
release requires checking out the sandboxd revision that pins it.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Package the promoted Firecracker runtime bundle selected by sandboxd's
shared runtime manifest. Verify the archive, provenance manifest, inner
checksums, VMM version, and component hashes before installing the official
VMM, tested guest kernel, resolved configuration, and licenses.

Build only sandboxd's matching static guest-agent initrd in AKernel. Removing
the duplicate kernel configuration and source build ensures sandboxd E2E and
AKernel standalone consume the same artifacts that passed candidate testing.

Register the runtime in standalone and cloud deployment configurations so
eligible KVM nodes advertise the microVM backend. Require local or
image-provider-backed raw EROFS files for roots and filesystem mounts while
each sandbox owns only its private ext4 writable layer and runtime state.

Document the supported command, file, PTY, networking, storage, recovery,
and tunnel workflows together with the VMM limitations. Reject OCI, Nydus,
host directories, GPU, and nested KVM instead of weakening their semantics.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
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.

1 participant