/home/daytona/project/workspace. You do not need to create or configure a
volume to use file, shell, browser, or code tools.
Local workspace data follows the sandbox lifecycle.
Create a persistent volume only when files must survive independently of one
sandbox or be shared with the Files API.
For typed application records, use Databases. Databases and Volumes
are separate project resources with their own access grants.
Persistent volumes
Volumes are project resources backed by project-scoped object storage. A volume has one canonical strategy:
Both strategies support
read-only and read-write access. A read-write
hydrated volume also requires a writeback policy:
autosynchronizes changed files before the outer run releases its sandbox.manualrequires the agent to callsandbox_volume_checkpointafter a consistent set of changes. A dirty manual volume fails finalization instead of silently dropping changes.
Agent grants
Creating a volume does not expose it to every agent. Grant each agent only the volumes it needs in Agent > Security. A grant can narrow the volume to read-only or manual writeback, but cannot widen the project volume policy. At runtime, callers may narrow the granted set again:sandbox.volumes field only selects or narrows existing
grants; it does not create a volume or grant access during polpo deploy.
Volume CLI
Manage the project catalog from any linked project directory:--json to every command for machine-readable output. Destructive commands
require interactive confirmation or --yes in automation. The CLI resolves a
volume name to its immutable id before modifying a grant and fails if the name
is absent.
Volume API
List and create project volumes:PATCH or DELETE on
/v1/files/volumes/{name}. Volume names are stable and cannot be renamed.
They must start with a lowercase letter, contain only lowercase letters,
digits, dashes, or underscores, and contain 2 to 63 characters.
Mount paths must stay below /home/daytona/project, cannot overlap, and cannot
cover the reserved .polpo tree. The runtime also rejects paths that resolve
through symlinks before mounting or hydrating storage.
Grant and revoke agent access with:
Files SDK
The SDK exposes project file methods directly onPolpoClient:
File or Blob to a persistent volume path:
Concurrency and failure behavior
Hydrated writeback uses revision compare-and-swap. If two runs hydrate the same revision, only the first valid writeback can commit. The other run fails with a conflict rather than overwriting newer data. Sandbox pooling also includes the resolved volume-plan fingerprint. A pooled sandbox is reused only when its mounted paths, policies, and storage selection match the new run.Self-hosted providers
The volume contract is provider-neutral in Polpo OSS. A self-hosted sandbox provider decides how to implementmounted, hydration, checkpoint, writeback,
and finalization. Polpo Cloud supplies the managed object-storage adapter.
See Sandboxes for isolation and lifecycle policy.