VMs
Provider-side VM management.
Provider-side VM management.
POSTGETGET
/tunnel/{leaseHash}/tcpOpen TCP tunnel to VM — Opens a raw TCP tunnel to the VM behind a lease, relayed to the provider over libp2p. The caller proves control of the lease's access key by sending `X-Signature`: a hex ed25519 signature over the raw 32 bytes of the lease hash. On success the node replies `200 OK` and then hands the connection over — everything after the headers is the tunnel's byte stream in both directions, so an ordinary JSON HTTP client cannot use this endpoint.
/vmsList VMs — VMs visible to this node: the ones it runs as a provider, plus the ones it leased as a consumer. It is a node-local view, not a network-wide inventory.
/vms/{leaseHash}Get VM — VM status for a lease. The node answers from local state where it can, and otherwise relays the question to the lease's provider over libp2p with a 10-second timeout.
GET /vms is a node-local view — the VMs a node runs as a provider plus the
ones it leased as a consumer — not a network-wide inventory. GET /vms/{leaseHash}
answers from that local state where it can, and otherwise relays the question to
the lease's provider over libp2p.
The API exposes no command-execution endpoint. Reaching into a leased VM means
opening a connection to it — over the node's SSH gateway, or over the TCP tunnel
below — and both authenticate against the access_pub_key recorded on the lease.