Beat VM create wall time without changing VM semantics. Generate a work-seed ext4 sidecar during image builds and rootfs rebuilds, then clone and resize that seed for each new VM instead of rebuilding /root from scratch. Plumb the new seed artifact through config, runtime metadata, store state, runtime-bundle defaults, doctor checks, and default-image reconciliation so older images still fall back cleanly. Add a daemon TAP pool to keep idle bridge-attached devices warm, expose stage timing in lifecycle logs, add a create/SSH benchmark script plus Make target, and teach verify.sh that tap-pool-* devices are reusable capacity rather than cleanup leaks. Validated with go test ./..., make build, ./verify.sh, and make bench-create ARGS="--runs 2".
33 lines
1 KiB
TOML
33 lines
1 KiB
TOML
# Template manifest for local or published runtime bundle archives.
|
|
# Keep this checked-in file empty by default; use a local manifest copy with
|
|
# concrete `url` and `sha256` values when bootstrapping `./runtime/`.
|
|
version = "v0"
|
|
url = ""
|
|
sha256 = ""
|
|
bundle_root = "runtime"
|
|
required_paths = [
|
|
"firecracker",
|
|
"customize.sh",
|
|
"packages.sh",
|
|
"namegen",
|
|
"banger-vsock-pingd",
|
|
"packages.apt",
|
|
"id_ed25519",
|
|
"rootfs-docker.ext4",
|
|
"wtf/root/boot/vmlinux-6.8.0-94-generic",
|
|
"wtf/root/boot/initrd.img-6.8.0-94-generic",
|
|
"wtf/root/lib/modules/6.8.0-94-generic",
|
|
]
|
|
|
|
[bundle_metadata]
|
|
firecracker_bin = "firecracker"
|
|
ssh_key_path = "id_ed25519"
|
|
namegen_path = "namegen"
|
|
customize_script = "customize.sh"
|
|
vsock_ping_helper_path = "banger-vsock-pingd"
|
|
default_packages_file = "packages.apt"
|
|
default_rootfs = "rootfs-docker.ext4"
|
|
default_work_seed = "rootfs-docker.work-seed.ext4"
|
|
default_kernel = "wtf/root/boot/vmlinux-6.8.0-94-generic"
|
|
default_initrd = "wtf/root/boot/initrd.img-6.8.0-94-generic"
|
|
default_modules_dir = "wtf/root/lib/modules/6.8.0-94-generic"
|