Add a node to a running fleet
Prerequisites
- At least one node already enrolled and heartbeating (see Enroll a PPN node)
- A second machine with
service-vm-hostdeployed - A
VM_NODE_IDthat doesn't collide with any node already in the fleet
Purpose
Enroll a second (or third, or Nth) node into a fleet that's already running — a few minutes, and it's exactly the same procedure as enrolling the first node. There is no separate "add to a running fleet" mechanism; the fleet controller accepts new nodes at any time without disturbing existing ones.
Procedure
-
Check the existing fleet's current node IDs so your new one doesn't collide:
The fleet controller rejects nothing at enrollment time based on naming — but reusing an ID would just mean the new node's heartbeats overwrite the existing node's record, not a clean rejection. Pick a genuinely distinct
VM_NODE_ID. -
On the new machine, set the same three required environment variables as any node enrollment:
VM_FLEET_ENDPOINT=http://<fleet-controller-host>:9203 VM_NODE_ID=<new-unique-node-id> VM_WG_IP=<new-node-wireguard-ip> -
Start
service-vm-hostunder systemd, as with any node. It begins heartbeating immediately — no registration call, and no restart of the controller or any existing node is required.
Expected outcome
The new node appears in the fleet controller's listing alongside every existing node, each heartbeating independently, within one heartbeat interval (10 seconds by default).
Verification
Confirm your new VM_NODE_ID appears with a recent last_heartbeat, and confirm every previously-existing node is still present and heartbeating too — adding a node doesn't touch any other node's state.
Rollback
Stop the new node's service-vm-host process. It drops out of the fleet listing on its own after roughly 30 seconds without a heartbeat — no separate removal step, and no effect on the rest of the fleet.
Next steps
- Enroll a PPN node — the same procedure in full, including every environment variable and its default
- Configure a tenant namespace — set up quotas for tenants placing VMs on this expanded fleet
See also
- service-vm-fleet — the PPN VM fleet controller — the fleet controller's real route table and state model
- Private Platform Network: pooled compute from hardware you already own — the fleet architecture this node joins
Cite this record: /wiki/add-a-fleet-node — revision 9b9339a2, last updated 6 August 2026.