> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Brezel sandboxes

> Run CostGraph workflows and CI jobs in Brezel sandboxes: the key to create, its permissions, and its limits

Brezel is an open-source, self-hosted service (infercrane/brezel) that runs stateful Firecracker microVM sandboxes for agents on a host the customer operates.

The following table shows what CostGraph runs on this provider.

| Workflows | CI runners | Connect with |
| - | - | - |
| Yes | No | Integrations or your own dispatcher |

CI runners: no. AutoPilot compares runners by price, and this provider publishes no sandbox price.

## Connect

Connect Brezel on Integrations, and CostGraph starts sandboxes in your Brezel account. You don't run anything yourself.

1. In CostGraph, go to **Integrations > Sandbox > Brezel**.

2. Enter these fields:

   * **Service token** (`BREZEL_API_KEY`, required): The service token of your Brezel deployment.
   * **API URL** (`BREZEL_API_URL`, required): The public HTTPS address of your Brezel deployment.
   * **Project ID** (`BREZEL_PROJECT_ID`, required): The Brezel project sandboxes are created in.

3. Click **Connect**.

### Your own dispatcher

To keep the key out of CostGraph or reach a private network, run your own dispatcher instead.
Set `provider` to `brezel` and the preceding fields as environment variables, as described in [Run your own dispatcher](https://docs.costgraph.ai/costgraph/workflows/managed-sandboxes.md#run-your-own-dispatcher).

## Key and permissions

BREZEL\_API\_KEY is the opaque service token issued by the customer's own Brezel deployment (the installer writes it to .brezel/secrets/service.token; sent as a Bearer token). BREZEL\_API\_URL is the public HTTPS endpoint of that deployment. BREZEL\_PROJECT\_ID is the project boundary sent as X-Project-ID (default project brezel-default).

No roles or scopes beyond the project: "the credential must already be bound to" the X-Project-ID project, and a token bound to it can create, inspect, list, pause, resume and delete that project's sandboxes. No finer permissions are documented.

Sources: [github.com: brezel](https://github.com/infercrane/brezel), [github.com: API](https://github.com/infercrane/brezel/blob/main/docs/API.md), [github.com: STATUS](https://github.com/infercrane/brezel/blob/main/docs/STATUS.md), [github.com: GO LIVE](https://github.com/infercrane/brezel/blob/main/docs/GO-LIVE.md), [pypi.org: brezel sdk](https://pypi.org/project/brezel-sdk/).

## Limits

* Status: 'Self-hosted private-tenant developer preview', one organization on one dedicated Ubuntu 24.04 x86-64 host with KVM; not a cluster, HA or public-production system. ([source](https://github.com/infercrane/brezel/blob/main/docs/STATUS.md))
* Lifetime is a per-sandbox TTL plus automatic standby; guest activity can postpone standby but cannot extend absolute expiration. Network egress is denied unless allow\_internet is set. ([source](https://github.com/infercrane/brezel/blob/main/docs/API.md))
* Capacity (vCPU/RAM/concurrency) is whatever the operator's host provides; no hosted limits exist. Host requirements: Ubuntu 24.04 x86-64, KVM, /dev/net/tun, cgroup v2. ([source](https://github.com/infercrane/brezel/blob/main/docs/GO-LIVE.md))

## Related

* [Supported sandbox providers](https://docs.costgraph.ai/costgraph/workflows/sandbox-providers.md)
* [Run workflows on a managed sandbox provider](https://docs.costgraph.ai/costgraph/workflows/managed-sandboxes.md)
* [Run CI jobs in sandboxes](https://docs.costgraph.ai/costgraph/autopilot/ci-sandboxes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.