Atlas
PluginsSandboxes

Daytona

Managed cloud sandbox isolation via the Daytona SDK.

Managed cloud sandbox isolation via the Daytona SDK. Similar to E2B -- ephemeral, cloud-hosted environments with no local infrastructure required. Semantic layer files are uploaded into the sandbox and commands are executed remotely.

Installation

bun add @useatlas/daytona @daytonaio/sdk

Configuration

// atlas.config.ts
import { defineConfig } from "@atlas/api/lib/config";
import { daytonaSandboxPlugin } from "@useatlas/daytona";

export default defineConfig({
  plugins: [
    daytonaSandboxPlugin({
      apiKey: process.env.DAYTONA_API_KEY!,
      apiUrl: "https://my-daytona.example.com", // optional
    }),
  ],
});

Options

OptionTypeRequiredDefaultDescription
apiKeystringYes--Daytona API key
apiUrlstringNoDaytona cloud endpointCustom API URL for self-hosted Daytona
timeoutSecnumberNo30Per-command timeout in seconds

Security

PropertyValue
Network isolationYes
Filesystem isolationYes (ephemeral per sandbox)
Unprivileged executionYes
Priority85

Daytona managed sandbox. Cloud-hosted ephemeral environment with network isolation, filesystem isolation, and unprivileged execution. Sandbox is deleted after use.

Troubleshooting

@daytonaio/sdk package not found

The @daytonaio/sdk package is an optional peer dependency, lazy-loaded at runtime. Install it explicitly: bun add @daytonaio/sdk.

Combined stdout/stderr

Daytona combines stdout and stderr into a single result field, so the plugin returns stderr as an empty string. This means error output from commands will appear in stdout.

Nested directory uploads

Parent directories are explicitly created before file upload since Daytona may not auto-create them for nested paths (e.g. semantic/entities/users.yml).

No semantic layer files

The plugin errors if no semantic layer files are found. Run atlas init to generate a semantic layer before using this plugin.

Health check API costs

Health checks create a real sandbox instance. Avoid calling at high frequency to minimize API costs.

On this page