Skip to content

[Daytona] createSandbox - improvements (extension) #3171

@AleksandarCole

Description

@AleksandarCole
  1. Add public field -- Daytona sandboxes support a public boolean that makes preview URLs accessible without authentication tokens. Currently the component doesn't expose this, so all sandboxes are private by default and preview URLs require an x-daytona-preview-token header. For use cases where the URL is shared (e.g. posted in a GitHub comment), public access is essential.

  2. Return preview URL in output -- The component currently only returns data.id and data.state. It should also return the preview URL base (e.g. data.previewUrl or data.proxyDomain) so downstream nodes can construct clickable links without hardcoding proxy.daytona.works. The proxy domain is available from the Daytona /api/config endpoint (proxyTemplateUrl field).

  3. Poll until sandbox is ready (state: started) -- The CreateSandbox API returns immediately with state: creating. When using custom snapshots (especially large ones), the sandbox can take 30-60+ seconds to reach started. The component should poll GET /sandbox/{id} until the state is started (or error/stopped) before emitting the output. Without this, downstream executeCommand nodes fire against a sandbox that isn't ready, causing context deadline exceeded on the toolbox proxy. Suggested implementation: add GetSandbox(id) to the client, then CreateSandboxAndWait() that polls every 3s with a 5-minute timeout.

  4. Add labels field -- The Daytona API supports labels on sandbox creation (map[string]string). This would be useful for tracking which canvas/execution/PR created the sandbox, enabling cleanup automation.

  5. Add resources field -- Allow overriding CPU/memory/disk at creation time instead of relying solely on snapshot defaults. This would let a single snapshot be reused across different resource tiers.

Metadata

Metadata

Assignees

Labels

integrationIssues for introducing new integrations and componentsmkd

Type

No type

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions