Why Unikraft Cloud
- Scale to zero in milliseconds. Agents often wait on a model, a tool, or a person. With sleep on, Unikraft Cloud snapshots an idle machine, scales it to zero in under 10 ms, and resumes it in milliseconds with its memory, files, and running processes intact.
- The security of VMs, the tools you love. Each machine is its own hardware-isolated microVM, and you define it with a Dockerfile, just like a container.
- Built for scale. Unikraft Cloud packs up to 100,000 instances onto a single server and handles millions of microVMs, so it keeps up with fleets of agents.
- Your cloud, your way. Unikraft’s enterprise plan deploys Unikraft Cloud on-premises, in your own cloud account, or on dedicated hosts. Point a pool at your deployment with
api_base_url.
Set up a Unikraft pool
1
Create an API token
Sign up for Unikraft Cloud and create an API token in the console. The token has full access to your account. Store it as an org-owned secret in Omnara.
2
Build an image
Start from the Omnara repository’s example image, which packages the daemon. Building it needs Go, Docker, and the Unikraft CLI, signed in with
unikraft login.Add your agents’ tools to the example’s Dockerfile rather than a startup script, since startup scripts have limited space on Unikraft. Then build and push the image from the repository root with your image name and an omnarad release version:3
Create the pool
On the Machines page, click New pool and choose Unikraft. Enter the credential, image, metro, CPU and memory, and capacity limits. Files that agents write are kept in memory, so size memory to fit their repositories and dependencies.To use the API instead, call Create a pool with the fields under API fields. The dashboard can’t turn on sleep yet, so set
sleep_after_ms through the API.API fields
When you create a pool through the API, send these fields in the Create a pool request.provider_config applies to the whole pool, and default_machine_provider_options sets the options for each new machine, which project grants and agent configs can override. For example:
imageis an image in Unikraft’s registry.metroisfra,sfo,dal,was, orsin.sleep_after_msturns on sleep. Omit it to keep machines awake.- Optional: a short
startup_scriptindefault_machine_provider_optionsruns on each new machine before the daemon starts. Inprovider_config,api_base_urlpoints the pool at a custom Unikraft Cloud API (an HTTPS URL without a path, used for every metro), andallowed_imagesandallowed_metrosare allowlists.