POST /v1beta2/sandbox/profile-templates request body. Paste it into curl -d after you set $TOKEN, then adjust the fields you need.
For field-by-field background, see Understanding profiles and the Profile reference.
CoreWeave sandboxes are in public preview. For access, contact your CoreWeave account team, reach out to CoreWeave Support, or email support@coreweave.com.
GPU data-science workbench
A long-lived per-user sandbox with an H100, PyTorch preloaded, generous memory, and internet egress to pull datasets and packages.Profile template
CPU agent with allowlisted egress
A multi-tenant agent profile where each agent lands in its own user namespace, can reach only GitHub and the public npm or PyPI CDNs, and is Kata-isolated.Profile template
Ephemeral CI runner
Short-lived, minimal resources, no persistent state, and restricted to a single CI namespace. No GPUs. gVisor is sufficient.Profile template
Untrusted code execution
Defense-in-depth: Kata VM isolation, per-profile namespace, and zero egress.Profile template
Long-running worker with internal service exposure
A background worker that other org sandboxes can reach on a ClusterIP service, with internet egress for outbound API calls.Profile template
Attach templates to a runner
After you create the preceding profile templates, attach them to a runner so sandboxes can use them. A runner can bind multiple templates at once. The following runner hosts all five preceding profiles, with the CI template as the default:Multi-profile runner
profileName (or get the ci-test-runner default).
Use binding overrides for per-runner tweaks
When you need the same template to behave differently on different runners, use binding overrides instead of a duplicate template. For example, you can attach the sameagent-allowlist template to two runners, but tune the allowlist per region with overridesJson:
Binding override: different allowlist per region
networkConfigJson is itself a string field, and overridesJson is a string-encoded ProfileSpec that contains it. Apply overrides at higher-level fields (nodeSelector, runtimeClass, and resourceDefaults) where they don’t require nested escaping.
See also
- Agentic RL training: RL-specific profiles (reward functions and multi-turn agent rollouts) with working Python code.
- Understanding profiles: Detailed reference on templates, bindings, and overrides.
- Configure a sandbox profile: Egress, ingress, namespace strategy, and runtime class fields used in these examples.
- Profile reference: Every field on the spec.