curl -sS -X POST "https://gateway.orbit/api/v1/nodes" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"name": "beast"}'{
"data": {
"id": 123,
"cluster_id": 123,
"name": "<string>",
"status": "<string>",
"platform": "<string>",
"architecture": "<string>",
"tld": "<string>",
"public_ssh_host": "<string>",
"public_ssh_port": 123,
"user": "<string>",
"wireguard_ip": "<string>",
"lan_ip": "<string>",
"wireguard_public_key": "<string>",
"wireguard_endpoint_override": "<string>",
"dns_server_override": "<string>",
"ssh_host_fingerprint": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"roles": [
"<string>"
],
"settings": {
"apps": {
"path": "<string>"
}
},
"updating": {
"kind": "fleet_rollout",
"since": "<string>",
"rollout": 123,
"release": 123
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"data": {
"id": 123,
"cluster_id": 123,
"name": "<string>",
"status": "<string>",
"platform": "<string>",
"architecture": "<string>",
"tld": "<string>",
"public_ssh_host": "<string>",
"public_ssh_port": 123,
"user": "<string>",
"wireguard_ip": "<string>",
"lan_ip": "<string>",
"wireguard_public_key": "<string>",
"wireguard_endpoint_override": "<string>",
"dns_server_override": "<string>",
"ssh_host_fingerprint": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"roles": [
"<string>"
],
"settings": {
"apps": {
"path": "<string>"
}
},
"updating": {
"kind": "fleet_rollout",
"since": "<string>",
"rollout": 123,
"release": 123
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Add a Node
Add a node to the fleet: provision a new machine or converge an existing one.
curl -sS -X POST "https://gateway.orbit/api/v1/nodes" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"name": "beast"}'{
"data": {
"id": 123,
"cluster_id": 123,
"name": "<string>",
"status": "<string>",
"platform": "<string>",
"architecture": "<string>",
"tld": "<string>",
"public_ssh_host": "<string>",
"public_ssh_port": 123,
"user": "<string>",
"wireguard_ip": "<string>",
"lan_ip": "<string>",
"wireguard_public_key": "<string>",
"wireguard_endpoint_override": "<string>",
"dns_server_override": "<string>",
"ssh_host_fingerprint": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"roles": [
"<string>"
],
"settings": {
"apps": {
"path": "<string>"
}
},
"updating": {
"kind": "fleet_rollout",
"since": "<string>",
"rollout": 123,
"release": 123
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"data": {
"id": 123,
"cluster_id": 123,
"name": "<string>",
"status": "<string>",
"platform": "<string>",
"architecture": "<string>",
"tld": "<string>",
"public_ssh_host": "<string>",
"public_ssh_port": 123,
"user": "<string>",
"wireguard_ip": "<string>",
"lan_ip": "<string>",
"wireguard_public_key": "<string>",
"wireguard_endpoint_override": "<string>",
"dns_server_override": "<string>",
"ssh_host_fingerprint": "<string>",
"failed_step": "<string>",
"error_code": "<string>",
"roles": [
"<string>"
],
"settings": {
"apps": {
"path": "<string>"
}
},
"updating": {
"kind": "fleet_rollout",
"since": "<string>",
"rollout": 123,
"release": 123
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Body
Node name
63^[A-Za-z0-9_-]+$Conditionally required.
255linux for Ubuntu service Nodes, or macos for tools on an existing account; no default account or address
linux, macos Node machine architecture; defaults to the architecture observed on the machine and must match it when given
Node TLD; required for production clone preview domains
253^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$(?![\s\S])1 <= x <= 65535Bootstrap SSH user; root for a new Linux node, the managed user for an existing one; macOS requires the account
Managed user; Linux defaults to orbit, and macOS requires the same existing account as user
gateway, vpn, router, ingress, app-dev, app-prod, metrics, database, websocket, analytics x >= 1Stable WireGuard address; Linux allocates when omitted. macOS requires the existing one and does not replace it
Optional Cluster-local LAN IPv4 address
255Approved SSH SHA256 host key fingerprint
^SHA256:[A-Za-z0-9+/]{43}$(?![\s\S])