Skip to main content
Valkyrie creates each task’s sandbox with your organization’s own sandbox provider account. An organization sets up each provider once: store its credentials as an organization secret, then map the provider to that secret. Every member’s runs on that provider use the mapping.

Set up Daytona

  1. Create a Daytona API key with read, write, and delete access to sandboxes and snapshots.
  2. Choose a target from Daytona’s shared regions.
  3. Save the key, API URL, and target in daytona.json:
    Replace API_KEY with your Daytona API key.
  4. Store the file as a secret, then map the daytona provider to the reference that secret set prints:

Set up Modal

  1. Create an API token under Settings > Tokens > API tokens, in the Modal workspace where you want the sandboxes to run. Modal shows the token once, as a command:
  2. Save the token ID and secret from that command in modal.json:
  3. Store the file as a secret and map it to the provider named modal:
The provider name selects the provider, so map Modal credentials to modal, never to another name.

Choose the provider for a run

A run uses the provider you pass with --provider, otherwise your default provider, otherwise daytona:
Set your own default with valkyrie provider default modal. The default is yours alone in the current organization and needs a login. valkyrie provider list shows each mapped provider’s secret and marks your default.

Rotate or remove credentials

To replace the credentials, run valkyrie secret set again with the new file. The mapping keeps pointing at the same secret. Remove a mapping with valkyrie provider remove modal. A run on a provider with no mapping fails with No secret is set for provider modal.

Limits

  • Modal sandboxes last at most 24 hours, so a longer task fails on Modal.
  • Benchmark services built with a create-benchmark-service version earlier than v0.14.0 can’t create Modal sandboxes. Their runs fail with Modal sandbox provider is not implemented.
  • Docker sandboxes are available only on a local Tracker.