Nodes

Report whether this install can schedule workloads.

Changed on

A control plane with no local workloads and no joined worker node accepts deploys it can never run. Rather than letting every surface learn that by failing, this endpoint states it up front so the console can render an onboarding state with a link to join a node — and so a client can tell "not set up" apart from "not built", which a 404 or a 500 cannot.

get/nodes/capability

Request

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

Response

Scheduling capability of this install

active_worker_nodesinteger required

Worker nodes that are active and heartbeating. Excludes the control plane, which local_workloads already reports.

can_manage_nodesboolean required

Whether this caller can act on setup_path.

The capability itself is readable by every authenticated session, but the remedy is not: the Worker Nodes page needs SettingsRead to list the node inventory and SettingsWrite to mint an enrollment token. Sending a caller without both to that page produces "Failed to load worker nodes" — an advertised fix that denies the user who followed it. Clients render a non-admin variant ("ask an administrator") when this is false rather than a dead link.

local_workloadsboolean required

Whether the control plane itself may run containers, builds and managed services (false in the control-plane serve profile).

reasonstring nullable

Why nothing can be placed, when schedulable is false. Rendered verbatim by the client.

schedulableboolean required

Whether a workload can be placed at all.

setup_pathstring required

Console path that fixes it: where an operator joins a worker node.

Changes