Ir al contenido

volume

El dominio volume tiene 13 acciones. En la superficie meta se alcanzan todas a través de arcane_volume; en la individual, cada una es una herramienta propia; en la dinámica se ejecutan con arcane_execute_action y el ID canónico.

AcciónTítuloTipo
volume.countsGet volume usage countslectura
volume.createCreate a volumeescritura
volume.deleteRemove a volumedestructiva
volume.getGet volume by namelectura
volume.listList volumeslectura
volume.prunePrune unused volumesdestructiva
volume.renameRename a volumeescritura
volume.sizesGet volume sizeslectura
volume.usageGet volume usagelectura
volume.workspace_file_downloadDownload volume workspace filelectura
volume.workspace_file_getGet volume workspace filelectura
volume.workspace_getGet volume workspacelectura
volume.workspace_updateUpdate volume workspacedestructiva

Get volume usage counts

Get counts of volumes in use, unused, and total

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_volume con "action": "counts"
  • Herramienta individual: arcane_volume_counts
  • Ruta de Arcane: GET /api/environments/{id}/volumes/counts
  • ID de operación: get-volume-usage-counts
  • Uso: Returns only the inuse, unused and total volume counts (Arcane’s internal volumes excluded unless includeInternal is true). volume.list returns the same counts with the items.
  • Acciones relacionadas: volume.list, volume.prune

Create a volume

Create a new Docker volume

  • Tipo: escritura
  • Parámetros obligatorios: name
  • Meta-herramienta: arcane_volume con "action": "create"
  • Herramienta individual: arcane_volume_create
  • Ruta de Arcane: POST /api/environments/{id}/volumes
  • ID de operación: create-volume
  • Uso: Creates a named Docker volume. Only name is required, driver defaults to Docker’s local driver, driverOpts are passed to the driver (e.g. NFS options) and labels are attached. Returns the created volume. Mount it with container.create or a Compose project, or fill it with volume.workspace_update.
  • Acciones relacionadas: volume.get, volume.workspace_update, container.create

Remove a volume

Remove a Docker volume by name

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "delete"
  • Herramienta individual: arcane_volume_delete
  • Ruta de Arcane: DELETE /api/environments/{id}/volumes/{volumeName}
  • ID de operación: remove-volume
  • Uso: Deletes one volume by volumeName (from volume.list) with all its data, and removes its backup policies. Irreversible, so consider volume_backup.create first. Docker refuses while any container, even a stopped one, still uses it: check volume.usage and remove those containers first. force is passed to Docker’s volume remove (like docker volume rm -f). Arcane’s own backup volume cannot be deleted.
  • Acciones relacionadas: volume.usage, volume_backup.create, container.delete, volume.prune

Get volume by name

Get a Docker volume by its name

  • Tipo: lectura
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "get"
  • Herramienta individual: arcane_volume_get
  • Ruta de Arcane: GET /api/environments/{id}/volumes/{volumeName}
  • ID de operación: get-volume
  • Uso: Inspect data of one volume by volumeName (from volume.list): driver, options, labels, mountpoint, scope, createdAt, inUse and the IDs of the containers that mount it. usageData (size, refCount) is filled only when Docker’s disk-usage data is cached. Fails when the volume does not exist.
  • Acciones relacionadas: volume.list, volume.usage, volume.workspace_get, volume_backup.list

List volumes

Get a paginated list of Docker volumes

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_volume con "action": "list"
  • Herramienta individual: arcane_volume_list
  • Ruta de Arcane: GET /api/environments/{id}/volumes
  • ID de operación: list-volumes
  • Uso: Lists Docker volumes with driver, mountpoint, labels, inUse and the IDs of the containers that mount them, plus inuse/unused/total counts. The name of each item is the volumeName other volume actions take. search matches name, driver, mountpoint and scope. inUse=“true”/“false” filters. sort accepts name, driver, mountpoint, scope, created, inUse or size. includeInternal adds Arcane’s own volumes (such as its backup volume). Paginated with start and limit (default 20).
  • Acciones relacionadas: volume.get, volume.counts, volume.sizes, volume.usage

Prune unused volumes

Remove all unused Docker volumes

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_volume con "action": "prune"
  • Herramienta individual: arcane_volume_prune
  • Ruta de Arcane: POST /api/environments/{id}/volumes/prune
  • ID de operación: prune-volumes
  • Uso: Deletes the unused anonymous volumes of the environment with all their data. Named volumes and Arcane’s internal volumes are kept, and any volume a container (running or stopped) references counts as used. The result lists volumesDeleted and spaceReclaimed in bytes. Backup policies of the deleted volumes are removed too. To also remove unused named volumes use system.prune_all with volumes mode “all”, or volume.delete one by one.
  • Acciones relacionadas: volume.counts, volume.delete, system.prune_all

Rename a volume

Copy an unused Docker volume to a new name and remove the source

  • Tipo: escritura
  • Parámetros obligatorios: volumeName, name
  • Meta-herramienta: arcane_volume con "action": "rename"
  • Herramienta individual: arcane_volume_rename
  • Ruta de Arcane: POST /api/environments/{id}/volumes/{volumeName}/rename
  • ID de operación: rename-volume
  • Uso: Renames volumeName (from volume.list) to name: Arcane creates a new volume with the same driver, options and labels, copies the data with a helper container and then removes the source, moving its backup history and policies to the new name. The volume must be unused (volume.usage lists no containers, remove them with container.delete) and name must not exist yet. It fails with 409 otherwise, with 507 when the disk lacks space for the copy, and with 400 for Arcane’s internal volumes. Compose files that reference the old name are not updated.
  • Acciones relacionadas: volume.usage, container.delete, volume.get

Get volume sizes

Get disk usage sizes for all volumes (slow operation)

  • Tipo: lectura
  • Parámetros obligatorios: ninguno
  • Meta-herramienta: arcane_volume con "action": "sizes"
  • Herramienta individual: arcane_volume_sizes
  • Ruta de Arcane: GET /api/environments/{id}/volumes/sizes
  • ID de operación: get-volume-sizes
  • Uso: Returns name, size in bytes and refCount for every volume from Docker’s disk-usage API. It is slow on hosts with many or large volumes, so prefer volume.get for one volume. A volume just created or written may appear only after Docker refreshes its disk-usage data.
  • Acciones relacionadas: volume.list, volume.prune

Get volume usage

Get containers using a specific volume

  • Tipo: lectura
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "usage"
  • Herramienta individual: arcane_volume_usage
  • Ruta de Arcane: GET /api/environments/{id}/volumes/{volumeName}/usage
  • ID de operación: get-volume-usage
  • Uso: Tells whether volumeName (from volume.list) is in use and returns the IDs of the containers that mount it. Pass them to container.get. Check it before volume.delete or volume.rename, which need the volume unused.
  • Acciones relacionadas: container.get, volume.delete, volume.rename

Download volume workspace file

  • Tipo: lectura
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "workspace_file_download"
  • Herramienta individual: arcane_volume_workspace_file_download
  • Ruta de Arcane: GET /api/environments/{id}/volumes/{volumeName}/workspace/file/download
  • ID de operación: download-volume-workspace-file
  • Uso: Downloads the raw bytes of one regular file of a volume, including binary files and files too large for volume.workspace_file_get. relativePath comes from volume.workspace_get. Text arrives in content, binary data as an embedded base64 resource. The result is capped at ARCANE_MCP_MAX_DOWNLOAD_BYTES, 4 MiB by default (truncated is true for text over it, and a larger binary file is not returned). Prefer volume.workspace_file_get to read a small text file.
  • Acciones relacionadas: volume.workspace_get, volume.workspace_file_get

Get volume workspace file

  • Tipo: lectura
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "workspace_file_get"
  • Herramienta individual: arcane_volume_workspace_file_get
  • Ruta de Arcane: GET /api/environments/{id}/volumes/{volumeName}/workspace/file
  • ID de operación: get-volume-workspace-file
  • Uso: Reads one file of a volume. relativePath comes from volume.workspace_get (e.g. “conf/app.ini”). content is returned only for editable text files. For binary, too large (over VOLUME_WORKSPACE_MAX_FILE_SIZE_MB, 10 MB by default), symlink or special files it is empty and readOnlyReason says why. Fetch binary or too large files with volume.workspace_file_download. A directory path fails.
  • Acciones relacionadas: volume.workspace_get, volume.workspace_file_download, volume.workspace_update

Get volume workspace

  • Tipo: lectura
  • Parámetros obligatorios: volumeName
  • Meta-herramienta: arcane_volume con "action": "workspace_get"
  • Herramienta individual: arcane_volume_workspace_get
  • Ruta de Arcane: GET /api/environments/{id}/volumes/{volumeName}/workspace
  • ID de operación: get-volume-workspace
  • Uso: Lists the files and folders inside volumeName (from volume.list) through a helper container: each entry has relativePath, isDirectory, size, modTime, editable and readOnlyReason (too_large, symlink or special, while binary files show up as editable here and are only detected by volume.workspace_file_get). Returns fileTreeRevision, required by volume.workspace_update, and fileTreeTruncated when the tree exceeded the entry limit. Fails for volumes backed by a bind mount (type none or o=bind).
  • Acciones relacionadas: volume.workspace_file_get, volume.workspace_file_download, volume.workspace_update

Update volume workspace

  • Tipo: destructiva — exige confirm: true
  • Parámetros obligatorios: volumeName, manifest
  • Meta-herramienta: arcane_volume con "action": "workspace_update"
  • Herramienta individual: arcane_volume_workspace_update
  • Ruta de Arcane: PUT /api/environments/{id}/volumes/{volumeName}/workspace
  • ID de operación: update-volume-workspace
  • Uso: Applies up to 500 file changes inside a volume. manifest is a JSON string {“fileTreeRevision”: <from volume.workspace_get>, “fileChanges”: [{“operation”: “create_file”|“update_file”, “relativePath”: “dir/a.txt”, “uploadIndex”: 0} | {“operation”: “create_folder”|“delete”, “relativePath”, “recursive”?} | {“operation”: “rename”, “relativePath”, “newName”} | {“operation”: “move”, “relativePath”, “newParentPath”} | {“operation”: “restore_file”, “relativePath”, “backupId”: <from volume_backup.list>}]}. uploadIndex points into files (objects with filename and content or contentBase64, each file at most VOLUME_WORKSPACE_MAX_FILE_SIZE_MB, 10 MB by default, else 413), and deleting a non-empty folder needs recursive true. A stale revision fails with 409 (re-read volume.workspace_get), a failed change rolls the batch back, and the result is the new tree with its new fileTreeRevision. create_file/create_folder/update_file need the volumes upload permission, delete the volumes delete permission, rename/move both upload and delete, restore_file the volumes backup permission.
  • Acciones relacionadas: volume.workspace_get, volume.workspace_file_get, volume_backup.list, volume_backup.restore_files