State

Volumes

Persistent storage that survives container replacement.

Volumes are the persistence primitive in Quilt.

If data needs to outlive the container using it, a volume is usually the right choice.

Primary routes:

GET    /api/volumes
POST   /api/volumes
GET    /api/volumes/<name>
GET    /api/volumes/<name>/inspect
GET    /api/volumes/<name>/ls
GET    /api/volumes/<name>/ls?path=<path>
GET    /api/volumes/<name>/files/<path>
DELETE /api/volumes/<name>/files/<path>
POST   /api/volumes/<name>/rename
DELETE /api/volumes/<name>

Create Payload

{
  "name": "data-volume",
  "driver": "local",
  "labels": {
    "team": "qa"
  }
}

Rename Payload

{
  "new_name": "renamed-volume"
}

Important Semantics

  • volume delete is operation-driven
  • list, inspect, ls, rename, and single-file operations are direct request-response routes
  • file download and delete use the wildcard path segment after /files/

Common Uses

  • keep app data across container replacement
  • preserve caches or datasets between runs
  • share stable filesystem state with newly created containers

Choose volumes for state that should outlive the container using it.