Skip to content

Nodes

Manage worker and proxy nodes. All node endpoints require admin privileges.

See the Nodes guide for architecture details.

List Nodes

GET /api/nodes

Get Node

GET /api/nodes/{id}

Create Node

POST /api/nodes

Request Body:

json
{
  "name": "worker-us-east-1",
  "ip_address": "203.0.113.10",
  "user": "deploy",
  "type": "worker",
  "ssh_key_id": 1,
  "hostname": "worker-1.example.com"
}
FieldTypeRequiredDescription
namestringYesDisplay name
ip_addressstringYesServer IP address
userstringYesSSH username
typestringYesworker or proxy
ssh_key_idintegerYesSSH key to use
hostnamestringNoServer hostname (required for proxy nodes)
has_gpubooleanNoEnable GPU support (worker nodes only)
cdn_modebooleanNoDisable local Nginx cache (proxy nodes only)
workersintegerNoNumber of parallel workers (1–20 for workers, 1 for proxy)

Update Node

PUT /api/nodes/{id}

Delete Node

Deletes the node and removes its Docker containers from the remote server.

DELETE /api/nodes/{id}

Node Metrics

Get health metrics for all nodes.

GET /api/nodes/metrics

List Containers

Get Docker containers running on a node.

GET /api/nodes/{id}/containers

Pending Jobs

Get queue statistics for a node.

GET /api/nodes/{id}/pending-jobs

Response:

json
{
  "pending": 5,
  "reserved": 2,
  "total": 7
}

Deployment

Get Deploy Steps

GET /api/nodes/{id}/deploy/steps

Returns the list of available deployment steps for the node.

Execute Deploy Step

POST /api/nodes/{id}/deploy

Request Body:

json
{
  "step": "step_name"
}

SSH Keys

SSH keys are used to authenticate with remote nodes.

MethodEndpointDescription
GET/api/ssh-keysList SSH keys
POST/api/ssh-keysCreate SSH key
GET/api/ssh-keys/{id}Get SSH key
DELETE/api/ssh-keys/{id}Delete SSH key

Create SSH Key

POST /api/ssh-keys

Request Body:

json
{
  "name": "Production Key",
  "public_key": "ssh-ed25519 AAAA...",
  "private_key": "-----BEGIN OPENSSH PRIVATE KEY-----\n..."
}

WARNING

Private keys are stored encrypted. They are never returned in API responses.

Released under the MIT License.