Back to App Store
App Store/ Infrastructure/ Smol Machines

Smol Machines

smol machines · io.pilot.smol
Fast, hardware-isolated microVMs — local and cloud.
Infrastructure Live on catalogue
Install
pilotctl appstore install io.pilot.smol
v1.2.0
Version
9
Methods
9.3 MB
Size
guarded
Sandbox
macOS · Linux
Platforms

About Smol Machines

Smol Machines — fast, hardware-isolated Linux microVMs for agents, now local AND cloud. Spin up sub-second, real-hypervisor-isolated Linux microVMs locally with the smolvm CLI, then push a VM to the smol cloud with a single method.

Local (free, offline): run untrusted or AI-generated code safely (networking off by default), a real Linux shell, ephemeral or persistent VMs, portable .smolmachine artifacts, GPU/Vulkan.

Cloud (per-user, metered): smol.push sends a local VM (or an OCI image) to the smol cloud; Pilot provisions your own cloud key automatically on install — no account, no API key. Your cloud machines are isolated per user and metered against your free credit. The master key never leaves Pilot's broker.

Methods · 9

smol.exec
Run ANY smolvm subcommand in a fast, hardware-isolated Linux microVM LOCALLY. Payload is {"args":[...]} (verbatim smolvm argv) with optional {"stdin":"..."}. This one method exposes the whole smolvm CLI — for the complete agent reference call smol.exec {"args":["--help"]}, and for any subcommand call smol.exec {"args":["<group>","--help"]}. COMMAND SURFACE: • machine run — create an EPHEMERAL VM, run one command, tear down (nothing persists). e.g. ["machine","run","--net","--image","alpine","--","sh","-c","echo hi"]. • machine create | start | stop | delete — lifecycle of a PERSISTENT named VM (--name, default "default"). • machine exec — run a command in a persistent VM; FILESYSTEM CHANGES PERSIST across sessions (package installs stick). e.g. ["machine","exec","--name","myvm","--","apk","add","python3"]. • machine status | ls | images | monitor — read-only introspection (do NOT stop a running VM). • machine cp — copy files host↔VM (HOST:GUEST). machine update — change mounts/ports/env/cpu/memory on a STOPPED VM. machine prune — reclaim layers (prune --all needs the VM stopped). • pack create -o <out> — build a portable, self-contained .smolmachine executable; pack run — run one. machine create --from <artifact>.smolmachine for fast start. • serve start --listen <addr> — HTTP API server (POST/GET /api/v1/machines…); serve openapi — the spec. • config — manage registries + defaults. KEY FLAGS: --net (networking is OFF by default), --image <oci ref | ./archive.tar | ./rootfs/ | ->, -v HOST:GUEST[:ro] (mount; -v host:/workspace replaces the default workspace), -p HOST:GUEST (port), --gpu, --ssh-agent (forward host SSH agent; keys never enter the VM), --secret-env GUEST=HOST / --secret-file GUEST=/abs / -s Smolfile (inject secrets by reference), --from <artifact>, --cpus, --memory. DEFAULTS: network off; cpus 4; memory 8192 MiB; storage 20 GiB; name "default". Elastic memory/CPU via virtio balloon. NOT SUPPORTED OVER IPC: interactive sessions (-it / machine shell) and long-running serve (no attached TTY).
smol.version
Report the local smolvm engine version. This is `smolvm --version`.
smol.provision
Provision (or fetch) this Pilot user's proprietary smol cloud key and free credit balance. Runs automatically on install and on smol.help — you rarely call it directly. The key is bound to your Pilot identity, stored only in your app's private secrets, and used to push and isolate your cloud VMs. Returns {key, credits}.
smol.balance
Report your remaining smol cloud credit balance. Returns {credits}.
smol.push
Push a VM to the smol cloud as YOU (your provisioned key) and START it running. Provide either a local packed artifact (base64 of a `smolvm pack` output) OR an OCI `image` reference the cloud pulls; pass {"net":true} for outbound networking (off by default). BILLING: you must have credit to start (402 if empty); the running VM then drains your credit by REAL usage (CPU + memory + disk per the rate card in smol.help) and the broker STOPS it when your credit runs out. The machine is tagged as owned by you, so no other user can see or touch it. Returns the created machine.
smol.list
List YOUR smol cloud machines (only yours — the broker filters by owner). Free (no credit). Returns an array of machines.
smol.key
Get your current smol cloud key (the per-user credential bound to your Pilot identity). Idempotent — safe to call anytime. The key is also cached in your app's private secrets. Returns {key, credits}.
smol.rotate
Rotate your smol cloud key if it leaked. Your OLD key stops working immediately and a NEW key is issued — your credit and cloud machines are NOT affected (only the key changes). Returns {key, credits, rotated}.
smol.help
Discovery: every method with params, kind, and latency class.

What’s New

v1.2.0 Latest
  • Released v1.2.0

Platform Compatibility

macOS Apple Silicon
4.6 MBSupported
macOS Intel
4.6 MBSupported
Linux arm64
5.3 MBSupported
Linux amd64
5.5 MBSupported
You might also like

More in Infrastructure