Nodes

Add a server over SSH: log in with the given credentials, install `temps` if needed, pair the server and start its agent. Runs in the background; follow it with `GET /nodes/ssh/enrollments/{enrollment_id}`.

Changed on
post/nodes/ssh/enrollments

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/nodes/ssh/enrollments
  • Auth: HTTP bearer

Request body

hoststring required

Hostname or IP address.

host_key_fingerprintstring required

The host-key fingerprint the operator confirmed (from POST /nodes/ssh/host-key). The enrollment stops if the server presents another key.

namestring nullable

Name the node registers under. Defaults to worker-<random>.

node_addressstring nullable

The server's public address for WireGuard, ip or ip:port, when it is not the address SSH connects to.

portinteger nullable

SSH port (default 22).

userstring required

User to log in as: root, or a user with sudo.

Response

Enrollment started

agent_modestring nullable

service (systemd unit) or detached (started without a service manager: it does not come back after a reboot).

auth_methodstring required

password, private_key or agent.

created_atstring required
errorstring nullable

Why it failed, and what to do.

finished_atstring nullable
hoststring required
host_key_fingerprintstring required
idinteger required
logstring required

What it did, with the server's output (its last 64 KiB).

namestring required
node_idinteger nullable
pairing_idinteger nullable

The pairing it runs on the server.

ssh_addressstring required
ssh_userstring required
statusstring required

running, succeeded or failed.

stepstring required

What it is doing, or was doing when it stopped.

Changes