arcbox-boot 0.5.1

Boot asset manifest types, asset manager, and CLI tools for ArcBox VM runtime
Documentation
# upstream.toml — declares upstream binary sources for ArcBox runtime.
#
# `boot-assets sync-binaries` reads this file, downloads missing binaries
# from upstream, and stages them for R2 upload.
#
# R2 layout: bin/{name}/{version}/{arch}/{name}
# These are Linux static binaries shared into the guest VM via VirtioFS.
#
# IMPORTANT: dockerd, containerd, containerd-shim-runc-v2, and runc MUST
# come from the same Docker static package to guarantee ABI/protocol
# compatibility. Do NOT mix versions from different sources.

# --- Docker static package (all 4 from same tarball) ---

[[binaries]]
name = "dockerd"
version = "27.5.1"

[binaries.source.arm64]
url = "https://download.docker.com/linux/static/stable/aarch64/docker-27.5.1.tgz"
extract = "docker/dockerd"

[binaries.source.x86_64]
url = "https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz"
extract = "docker/dockerd"

[[binaries]]
name = "containerd"
version = "27.5.1"

[binaries.source.arm64]
url = "https://download.docker.com/linux/static/stable/aarch64/docker-27.5.1.tgz"
extract = "docker/containerd"

[binaries.source.x86_64]
url = "https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz"
extract = "docker/containerd"

[[binaries]]
name = "containerd-shim-runc-v2"
version = "27.5.1"

[binaries.source.arm64]
url = "https://download.docker.com/linux/static/stable/aarch64/docker-27.5.1.tgz"
extract = "docker/containerd-shim-runc-v2"

[binaries.source.x86_64]
url = "https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz"
extract = "docker/containerd-shim-runc-v2"

[[binaries]]
name = "runc"
version = "27.5.1"

[binaries.source.arm64]
url = "https://download.docker.com/linux/static/stable/aarch64/docker-27.5.1.tgz"
extract = "docker/runc"

[binaries.source.x86_64]
url = "https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz"
extract = "docker/runc"

[[binaries]]
name = "k3s"
version = "v1.34.3+k3s1"

[binaries.source.arm64]
format = "binary"
url = "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s-arm64"

[binaries.source.x86_64]
format = "binary"
url = "https://github.com/k3s-io/k3s/releases/download/v1.34.3%2Bk3s1/k3s"

# --- Firecracker VMM + jailer (from same release tarball) ---

[[binaries]]
name = "firecracker"
version = "1.10.1"

[binaries.source.arm64]
url = "https://github.com/firecracker-microvm/firecracker/releases/download/v1.10.1/firecracker-v1.10.1-aarch64.tgz"
extract = "release-v1.10.1-aarch64/firecracker-v1.10.1-aarch64"

[binaries.source.x86_64]
url = "https://github.com/firecracker-microvm/firecracker/releases/download/v1.10.1/firecracker-v1.10.1-x86_64.tgz"
extract = "release-v1.10.1-x86_64/firecracker-v1.10.1-x86_64"

[[binaries]]
name = "jailer"
version = "1.10.1"

[binaries.source.arm64]
url = "https://github.com/firecracker-microvm/firecracker/releases/download/v1.10.1/firecracker-v1.10.1-aarch64.tgz"
extract = "release-v1.10.1-aarch64/jailer-v1.10.1-aarch64"

[binaries.source.x86_64]
url = "https://github.com/firecracker-microvm/firecracker/releases/download/v1.10.1/firecracker-v1.10.1-x86_64.tgz"
extract = "release-v1.10.1-x86_64/jailer-v1.10.1-x86_64"

# --- Guest kernel image (for Firecracker microVMs) ---
# Placed at /arcbox/kernel/vmlinux inside the guest VM.

[[binaries]]
name = "vmlinux"
version = "6.1.102"
install_dir = "kernel"

[binaries.source.arm64]
format = "binary"
url = "https://s3.amazonaws.com/spec.ccfc.min/firecracker-ci/v1.10/aarch64/vmlinux-6.1.102"

[binaries.source.x86_64]
format = "binary"
url = "https://s3.amazonaws.com/spec.ccfc.min/firecracker-ci/v1.10/x86_64/vmlinux-6.1.102"