@@ -57,10 +57,9 @@ helm install taco-sidecar diggerhq/taco-sidecar
5757| Variable | Description |
5858| --- | --- |
5959| ` PORT ` | HTTP port for the sidecar (default ` 9100 ` ). |
60- | ` SANDBOX_RUNNER ` | ` local ` or ` e2b ` . Defaults to ` local ` . |
61- | ` E2B_API_KEY ` | Required for ` SANDBOX_RUNNER=e2b ` . |
62- | ` E2B_BAREBONES_TEMPLATE_ID ` | Optional fallback template ID for runtime installation (defaults to ` rki5dems9wqfm4r03t7g ` ). |
63- | ` LOCAL_TERRAFORM_BIN ` | Optional path to the ` terraform ` binary (defaults to ` terraform ` in ` $PATH ` ). |
60+ | ` SANDBOX_RUNNER ` | Must be ` e2b ` . |
61+ | ` E2B_API_KEY ` | Required. Your E2B API key. |
62+ | ` E2B_BAREBONES_TEMPLATE_ID ` | Required. Fallback template ID for runtime installation. |
6463
6564### Terraform/OpenTofu Version Selection
6665
@@ -77,20 +76,11 @@ The sidecar automatically selects the best execution environment:
7776
7877Users specify the version when creating a unit in the UI (defaults to 1.5.5).
7978
80- ### Local Runner
81-
82- The bundled local runner is intended for development. It unpacks the provided
83- archive, writes the optional state payload, and shells out to a Terraform binary
84- installed on the same host. All stdout/stderr is captured and streamed back to
85- the requester.
86-
8779### E2B Runner
8880
89- An opinionated ` E2BSandboxRunner ` is included as a scaffold. Hook it up to the
90- official SDK by wiring the ` runPlan ` /` runApply ` helpers with the appropriate E2B API
91- calls and file upload primitives (see ` src/runners/e2bRunner.ts ` for the TODOs).
92- Once implemented, switch ` SANDBOX_RUNNER=e2b ` and provide ` E2B_API_KEY ` plus a
93- template/blueprint identifier.
81+ The sidecar uses E2B sandboxes for secure, isolated Terraform/OpenTofu execution.
82+ Each run creates an ephemeral sandbox, executes the IaC commands, and returns
83+ results. Sandboxes are automatically cleaned up after execution.
9484
9585## API Surface
9686
@@ -131,9 +121,6 @@ failure, `error` contains the reason string. A `failed` response never includes
131121
132122- This package intentionally keeps job state in-memory. Use a persistent store
133123 (Redis, Postgres) before running multiple replicas.
134- - The local runner shell-outs to ` terraform ` . Sandbox machines therefore need
135- Terraform installed and accessible in ` $PATH ` .
136- - The E2B runner is wired as an interchangeable strategy: extend it or add
137- additional runners (Kubernetes, Nomad, etc.) as needed without touching
138- the Go control plane.
124+ - E2B sandboxes are ephemeral and isolated - each run gets a fresh environment.
125+ - Pre-built templates provide instant startup; custom versions install at runtime (~ 1-2s).
139126
0 commit comments