Why Blaxel
- Hardware isolation. Each machine runs in its own microVM with its own kernel, boots in milliseconds, and is fully isolated from every other machine.
- Resume in about 25 ms. With sleep on, idle machines stop using compute and come back in about 25 ms with their memory, files, and running processes intact, with no cold starts to manage.
- Files at memory speed. Each machine’s file system runs in memory, so installs, builds, and searches are fast.
- Bring your own Dockerfile. Build images from any Dockerfile, including base images from private Docker Hub, GitHub, Google Artifact Registry, and Amazon ECR repositories.
- US and European regions. Run machines in Oregon, Virginia, London, or Frankfurt.
Set up a Blaxel pool
1
Create an API key
In the Blaxel console, create a service account in your workspace settings and generate an API key for it. A personal key from Profile > Security also works, but it can access every workspace you belong to.Store the key as an org-owned secret in Omnara, and note your workspace name from the console URL (
app.blaxel.ai/{workspace}).2
Build an image
Every Blaxel image must include Blaxel’s Add a Run
sandbox-api binary. Start from a Dockerfile that installs your agents’ tools and meets the custom image requirements:blaxel.toml next to it. Blaxel slims images by default, which can remove compilers and package manager files, so turn that off:bl push with the Blaxel CLI, then use sandbox/omnara-agent:latest or a pinned tag as the image. See Blaxel’s template docs for private registries.3
Create the pool
On the Machines page, click New pool and choose Blaxel. Enter the workspace name, credential, image, region, memory, and capacity limits. Blaxel keeps each machine’s files in memory, so give each machine at least 4 GB for coding work.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:
workspaceis your Blaxel workspace name.regionisus-pdx-1,us-was-1,eu-lon-1, oreu-fra-1.sleep_after_msturns on sleep. Omit it to keep machines awake.- Blaxel pools set memory only, so don’t send any CPU fields.
- Optional:
startup_scriptindefault_machine_provider_optionsruns on each new machine before the daemon starts, andallowed_imagesandallowed_regionsinprovider_configare allowlists.