Compute
The Podman compute environment and its containers.
On this page
Compute environment status
/compute/statusResponses
| Status | Description | Body | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Status | ComputeStatus | ||||||||||||
| ||||||||||||||
Errors 401 · 403 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/compute/status" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"status": "running",
"containerName": "adf-mcp",
"activeAgents": [
"agent-1"
]
}List ADF compute containers
/compute/containersResponses
| Status | Description | Body | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Containers | ComputeContainersResponse | |||||||||||||||
| |||||||||||||||||
Errors 401 · 403 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/compute/containers" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Start the shared compute environment
/compute/startNo body.
Responses
| Status | Description | Body | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Status after start | ComputeStatus | ||||||||||||
| ||||||||||||||
Errors 401 · 403 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/start" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"status": "running",
"containerName": "adf-mcp",
"activeAgents": [
"agent-1"
]
}Stop the daemon's compute containers
/compute/stopNo body.
Responses
| Status | Description | Body | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Status after stop | ComputeStatus | ||||||||||||
| ||||||||||||||
Errors 401 · 403 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/stop" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"status": "running",
"containerName": "adf-mcp",
"activeAgents": [
"agent-1"
]
}Destroy the daemon's compute containers and images
/compute/destroyNo body.
Responses
| Status | Description | Body | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Destroyed | ComputeDestroyResponse | |||||||||||||||||||||
| |||||||||||||||||||||||
Errors 401 · 403 · 405 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/destroy" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Run a compute setup step
/compute/setupStudio's compute setup steps. check reports availability (Podman, machine, installMethods); any other step name is refused before Podman is probed. install runs installCommand only when it exactly matches the command of an autoRunnable entry in availability.installMethods from check (e.g. /opt/homebrew/bin/brew install podman); anything else is refused with "Install command is not one this runtime can run automatically" and nothing runs. Methods with a url are for the user to open; on Linux every method needs sudo, so install is always refused there. machine_init sizes the Podman machine from compute settings machineMemoryMb / machineCpus (missing, invalid or larger than the host: 2048 MB, 2 CPUs). Step failures answer 200 with success: false.
Request bodyapplication/json · ComputeSetupBody · required
| Field | Type | Description |
|---|---|---|
steprequired | string | |
installCommand | string | step=install: must exactly match an autoRunnable command in availability.installMethods from step=check; anything else is refused |
Responses
| Status | Description | Body | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Step outcome | ComputeSetupResponse | |||||||||
| |||||||||||
Errors 400 · 401 · 403 · 405 · 500 · 503
| 400 | Invalid request: missing or malformed field, query parameter or body. A body Fastify cannot parse gets Fastify's own shape (statusCode, code, error, message).bad_requestFST_ERR_CTP_EMPTY_JSON_BODY | |
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/setup" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"step":"check"}'Recent container exec log
/compute/exec-logQuery parameters
| Name | Type | Description |
|---|---|---|
name | string | Only this container's entries |
Responses
| Status | Description | Body | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Entries | ComputeExecLogResponse | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
Errors 401 · 403 · 405 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/compute/exec-log" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"One container's live detail
/compute/containers/{name}Path parameters
| Name | Type | Description |
|---|---|---|
namerequired | string | Container name |
Responses
| Status | Description | Body | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 200 | Detail | ComputeContainerDetail | |||||||||||||||||||||
| |||||||||||||||||||||||
Errors 401 · 403 · 405 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl "http://127.0.0.1:7385/compute/containers/NAME" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"Start one container
/compute/containers/{name}/startNo body.
Path parameters
| Name | Type | Description |
|---|---|---|
namerequired | string | Container name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Outcome | SuccessResponse | |||
| |||||
Errors 401 · 403 · 405 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/start" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Stop one container
/compute/containers/{name}/stopNo body.
Path parameters
| Name | Type | Description |
|---|---|---|
namerequired | string | Container name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Outcome | SuccessResponse | |||
| |||||
Errors 401 · 403 · 405 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/stop" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}Destroy one container
/compute/containers/{name}/destroyNo body.
Path parameters
| Name | Type | Description |
|---|---|---|
namerequired | string | Container name |
Responses
| Status | Description | Body | |||
|---|---|---|---|---|---|
| 200 | Outcome | SuccessResponse | |||
| |||||
Errors 401 · 403 · 405 · 500 · 503
| 401 | Missing or wrong bearer token (unauthorized) | |
| 403 | The request guard refused it: Host header not allowed (host_not_allowed, DNS-rebinding protection) or a browser cross-site request (cross_origin)host_not_allowedcross_origin | |
| 405 | Not available on this daemon (the subsystem is read-only or lacks this operation) | |
| 500 | Unexpected runtime failure | |
| 503 | The subsystem is not configured on this daemon |
Error bodies use the error format.
Example
curl -X POST "http://127.0.0.1:7385/compute/containers/NAME/destroy" \
-H "Authorization: Bearer $ADF_DAEMON_TOKEN"{
"success": true
}