system
The system domain has 11 actions. On the meta surface they are all reached through arcane_system; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.
Summary
Section titled “Summary”| Action | Title | Kind |
|---|---|---|
system.containers_start_all | Start all containers | write |
system.containers_start_stopped | Start all stopped containers | write |
system.containers_stop_all | Stop all containers | destructive |
system.convert_docker_run | Convert docker run command | read |
system.docker_info | Get Docker info | read |
system.prune_all | Prune Docker resources | destructive |
system.stats | Get host resource usage | read |
system.update_all | Update all environments | destructive |
system.update_all_status | Get update-all status | read |
system.upgrade | Trigger system upgrade | destructive |
system.upgrade_check | Check for system upgrade | read |
Actions
Section titled “Actions”system.containers_start_all
Section titled “system.containers_start_all”Start all containers
Start all Docker containers
- Kind: write
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "containers_start_all" - Individual tool:
arcane_system_containers_start_all - Arcane route:
POST /api/environments/{id}/system/containers/start-all - Operation ID:
start-all-containers - Usage: Starts every container of the environment that is not running (created, exited and other states). Use system.containers_start_stopped to start only exited ones, container.start for one. Result lists started and failed container IDs with errors, and success is false if any failed. Needs containers:start.
- Related actions:
system.containers_start_stopped,system.containers_stop_all,container.list,container.start
system.containers_start_stopped
Section titled “system.containers_start_stopped”Start all stopped containers
Start all stopped Docker containers
- Kind: write
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "containers_start_stopped" - Individual tool:
arcane_system_containers_start_stopped - Arcane route:
POST /api/environments/{id}/system/containers/start-stopped - Operation ID:
start-all-stopped-containers - Usage: Starts only containers in state exited (never-started created containers are skipped). Use system.containers_start_all to also start those. Result lists started and failed container IDs with errors. Needs containers:start.
- Related actions:
system.containers_start_all,system.containers_stop_all,container.list
system.containers_stop_all
Section titled “system.containers_stop_all”Stop all containers
Stop all running Docker containers
- Kind: destructive — requires
confirm: true - Required parameters: none
- Meta tool:
arcane_systemwith"action": "containers_stop_all" - Individual tool:
arcane_system_containers_stop_all - Arcane route:
POST /api/environments/{id}/system/containers/stop-all - Operation ID:
stop-all-containers - Usage: Stops every container of the environment except Arcane’s own container, interrupting all workloads. Use container.stop for one or project.down for a stack. Result lists stopped and failed container IDs with errors. Bring them back with system.containers_start_stopped. Needs containers:stop.
- Related actions:
system.containers_start_stopped,system.containers_start_all,container.list,container.stop
system.convert_docker_run
Section titled “system.convert_docker_run”Convert docker run command
Convert a docker run command to docker-compose format
- Kind: read
- Required parameters:
dockerRunCommand - Meta tool:
arcane_systemwith"action": "convert_docker_run" - Individual tool:
arcane_system_convert_docker_run - Arcane route:
POST /api/environments/{id}/system/convert - Operation ID:
convert-docker-run - Usage: Pass dockerRunCommand, a full ‘docker run …’ command line. Nothing is created or run. Returns dockerCompose (YAML), envVars (env-file text) and serviceName, and a syntax error returns 400. Feed the result to project.create to deploy it as a Compose project. Needs containers:create.
- Related actions:
project.create,container.create,container.generate_compose
system.docker_info
Section titled “system.docker_info”Get Docker info
Get Docker daemon version and system information
- Kind: read
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "docker_info" - Individual tool:
arcane_system_docker_info - Arcane route:
GET /api/environments/{id}/system/docker/info - Operation ID:
get-docker-info - Usage: Returns the daemon’s docker info (ServerVersion, NCPU, MemTotal, container and image counts, storage Driver, Swarm state, Warnings) plus apiVersion, os and arch. Use system.stats for live CPU/memory usage and server.app_version for Arcane’s own version.
- Related actions:
system.stats,server.app_version,swarm.info,dashboard.get
system.prune_all
Section titled “system.prune_all”Prune Docker resources
Remove unused Docker resources (containers, images, volumes, networks)
- Kind: destructive — requires
confirm: true - Required parameters: none
- Meta tool:
arcane_systemwith"action": "prune_all" - Individual tool:
arcane_system_prune_all - Arcane route:
POST /api/environments/{id}/system/prune - Operation ID:
prune-all - Usage: Prunes several resource types in one call. Each is an object {mode, until}: containers none|stopped|olderThan, images none|dangling|all|olderThan, volumes none|anonymous|all (all also removes unused named volumes), networks none|unused|olderThan, buildCache none|unused|all|olderThan. until is required with olderThan (a duration such as 24h or a timestamp). Omitted resources are left alone. Runs in the background and returns only an activityId (an already running prune returns its activityId instead). Follow its status, messages and errors with activity.get. Needs system:prune.
- Related actions:
activity.get,image.prune,volume.prune,network.prune,container.list
system.stats
Section titled “system.stats”Get host resource usage
Sample the Docker host’s live CPU, memory, disk and GPU usage
- Kind: read
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "stats" - Individual tool:
arcane_system_stats - Arcane route:
GET /api/environments/{id}/ws/system/stats(WebSocket) - Operation ID:
ws-system-stats - Usage: Each sample has cpuUsage (percent), memoryUsage/memoryTotal and diskUsage/diskTotal in bytes, cpuCount, architecture, platform, hostname and per-GPU stats. Pass samples (up to 60) with intervalSeconds (Arcane default 2) to watch a trend, and seconds bounds the wait. For per-container usage use container.stats_all.
- Related actions:
system.docker_info,container.stats_all,dashboard.get
system.update_all
Section titled “system.update_all”Update all environments
Upgrade every Arcane environment: the remote agents one at a time first, then the manager last
- Kind: destructive — requires
confirm: true - Required parameters: none
- Meta tool:
arcane_systemwith"action": "update_all" - Individual tool:
arcane_system_update_all - Arcane route:
POST /api/environments/{id}/system/upgrade/all - Operation ID:
trigger-update-all - Usage: Upgrades the whole fleet in the background: every remote agent environment first, then the manager itself last (Arcane restarts). Only on the manager (400 on an agent), and refused while another update-all job is active. Returns the job with a per-environment results list. Poll system.update_all_status for progress. Needs system:upgrade.
- Related actions:
system.update_all_status,system.upgrade,environment.list,server.app_version
system.update_all_status
Section titled “system.update_all_status”Get update-all status
Get the status of the latest update-all-environments job
- Kind: read
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "update_all_status" - Individual tool:
arcane_system_update_all_status - Arcane route:
GET /api/environments/{id}/system/upgrade/all/status - Operation ID:
update-all-status - Usage: Returns the latest update-all job: status running|pending_restart|completed|failed and results per environment (status pending|updating|updated|triggered|up_to_date|skipped_offline|failed, with stage and error). Answers 404 ‘no update-all job found’ until system.update_all has run once. Manager only.
- Related actions:
system.update_all,environment.list
system.upgrade
Section titled “system.upgrade”Trigger system upgrade
Trigger a system upgrade
- Kind: destructive — requires
confirm: true - Required parameters: none
- Meta tool:
arcane_systemwith"action": "upgrade" - Individual tool:
arcane_system_upgrade - Arcane route:
POST /api/environments/{id}/system/upgrade - Operation ID:
trigger-upgrade - Usage: Self-upgrades the Arcane instance serving environmentId (the manager for environment 0, that agent for a remote one): pulls the newest image and recreates Arcane’s container in the background, so the API drops briefly. Optional targetVersion picks the release instead of the version check. upToDate true means it already runs the newest image and no restart follows. One upgrade at a time. Needs system:upgrade.
- Related actions:
system.upgrade_check,server.app_version,system.update_all
system.upgrade_check
Section titled “system.upgrade_check”Check for system upgrade
Check if a system upgrade is available
- Kind: read
- Required parameters: none
- Meta tool:
arcane_systemwith"action": "upgrade_check" - Individual tool:
arcane_system_upgrade_check - Arcane route:
GET /api/environments/{id}/system/upgrade/check - Operation ID:
check-upgrade - Usage: Only checks whether self-upgrade is possible here (Docker socket reachable and Arcane running in a container): canUpgrade true does not mean a newer version exists. Use server.app_version (updateAvailable, newestVersion) for that. Failures come back as error true with the reason in message, not as an HTTP error.
- Related actions:
server.app_version,system.upgrade