Images
heyvm pull <image> # pull an image
heyvm images list # list images
heyvm images add <…> # add an image
heyvm images publish <…> # publish an image
heyvm images supported # supported images
heyvm images build <…> # build an image
heyvm images macos-versions # list macOS versions
The mvm subcommand manages micro-VM artifacts specifically:
heyvm mvm build # build a micro-VM rootfs
heyvm mvm images # list micro-VM images
heyvm mvm fetch-kernel # download the guest kernel (Firecracker)
Building images
heyvm mvm build turns a Dockerfile into a Firecracker rootfs: docker build,
then docker export of the created container, then tar -xf into a staging
directory, then mke2fs -t ext4 -d to produce the ext4 image directly from that
tree. It needs Docker and mke2fs (from e2fsprogs) on the host. Images
land in ~/.heyo/images/firecracker/<name>/rootfs.ext4.
heyvm images build --backend apple_virt builds an Apple Virtualization image
instead, and also requires Docker.
On macOS you can skip image building entirely: provision a running apple_virt
sandbox and capture it with heyvm snapshot, which clones the rootfs in place.
See macOS Capabilities.
Archives
heyvm archive <id> # archive a sandbox
heyvm archive-dir <path> # archive a directory
heyvm list-archives # list archives
heyvm delete-archive <id> # delete an archive
Mounts & volumes
heyvm mount <…> # mount into a sandbox
heyvm mount-add <id> <…> # add a mount to a running sandbox
heyvm volume create <name> # create a volume
heyvm volume list # list volumes
heyvm volume path <name> # print a volume's path
heyvm volume push <name> # push a volume
heyvm volume pull <name> # pull a volume
heyvm volume rm <name> # remove a volume
Sync & export
heyvm sync push|pull|list # sync sandboxes between machines
heyvm export docker <id> # export a sandbox as a Docker image
To move a whole VM to another machine in one step — including its memory
snapshot where supported — see heyvm transfer in
Sandbox Commands.