Skip to main content
Boat (boat.dev, formerly Box) runs persistent x86_64 Linux sandbox VMs with root, Docker and systemd that agents create, exec into, snapshot and fork over an API. The following table shows what CostGraph runs on this provider.

Connect

Run the dispatcher with provider set to boat and these variables:
  • BOAT_API_KEY
If you connected boat for cost data, CostGraph’s dispatcher can start sandboxes with the key from your boat integration. That key then needs the permissions in the next section as well.

Key and permissions

BOAT_API_KEY is a Boat API key (prefix boat_), created in the Boat dashboard or with boat api-key create <name> —preset ci“ (needs a browser session or an account.admin key). Keys expire after 90 days by default (max 365 days, or --ttl never). Scoped by actions. Minimum: sandbox.create, sandbox.read, exec, and sandbox.delete-own (or sandbox.delete). The ‘ci’ preset covers exactly this (full-sandbox plus create/resume/fork/delete of the sandboxes the key created, no account admin). A key with no actions and no preset is an admin key. Sources: docs.boat.dev: scopes, docs.boat.dev: create and list, docs.boat.dev: limits, docs.boat.dev: machines, docs.boat.dev: faq.

Limits

  • Auto-stop defaults to 1 hour counted from create or last resume, not from activity; max 30 days or off (boat extend <id> —hours N" or "--no-auto-stop). Trial: 2 hours max. (source)
  • API command calls that wait for a result: default timeout 30 s, max 600 s; longer work must run detached. (source)
  • Sizes: small 2 vCPU/4 GB, default 4 vCPU/8 GB, large 8 vCPU/16 GB, xlarge 16 vCPU/32 GB (xlarge needs the $100 plan+). All sizes x86_64, no GPU. (source)
  • Per-plan limits on concurrent sandboxes and starts per minute/hour/day; a full start limit returns 429 and the start does not queue. (source)