Nearby nodes¶
An AryaOS fleet finds itself. Every unit quietly beacons its identity on the TAK Mesh SA multicast group, and every unit listens for the others — so any box's Nearby AryaOS nodes card shows the rest of the fleet, their roles, health, position, and a one-click admin link. No central server, no manual inventory.
How self-discovery works¶
The aryaos-neighbord daemon runs on each box and does two things at once on
the Mesh SA group 239.2.3.1:6969 (the same multicast lane Charontak uses
for Situational Awareness — see Firewall):
- Beacon — periodically it multicasts a small Cursor on Target (CoT) event
describing itself: hostname, roles, health, and GPS position (from
gpsd, falling back to a no-fix marker). - Listen — it joins the multicast group and, for every AryaOS beacon it hears, records the neighbor into a local cache with the time it was last seen.
flowchart LR
subgraph mesh["Mesh SA — 239.2.3.1:6969"]
direction LR
A[aryaos-alpha] -- beacon --> M(( ))
B[aryaos-bravo] -- beacon --> M
C[aryaos-charlie] -- beacon --> M
end
M --> A
M --> B
M --> C
A --> J[/run/aryaos/neighbors.json]
J --> Card[Nearby nodes card]
The cache is written to /run/aryaos/neighbors.json (world-readable,
0644, on tmpfs so it never persists across reboots). Entries carry a
time-to-live of 240 seconds — a neighbor that stops beaconing ages out of
the list, so what you see is what's currently alive on the mesh.
It's just CoT on the SA lane
Because discovery rides standard CoT multicast on the same 239.2.3.1:6969
lane as Situational Awareness, no extra network configuration is needed:
anywhere your Mesh SA reaches, the fleet discovers itself. That includes a
disconnected backpack mesh with no infrastructure at all.
The Nearby AryaOS nodes card¶
The Nearby AryaOS nodes card on Cockpit → AryaOS Site reads
/run/aryaos/neighbors.json (via the aryaos-neighbors CGI endpoint) and
refreshes every few seconds. Each heard node is one row:
| Column | Shows | Source |
|---|---|---|
| Node | The neighbor's hostname (aryaos-xxxx), or its UID / source IP if the name is unknown. |
beacon host |
| Roles | Which sensor pipelines it runs — e.g. ADS-B / AIS / UAS, or base if none. |
beacon roles |
| Health | System load, memory %, CPU temperature, and active/total service count (e.g. load 0.42 \| mem 61% \| 47 C \| 8/9 svc). |
beacon system / services |
| Position | Latitude, longitude — or no fix when GPS has no lock. |
beacon point |
| Seen | How long ago the node was last heard (12s, 3m, 1h). |
cache age_s |
| Admin | An Open link straight to that node's Cockpit, when it advertises one. | beacon host.admin_url |
The summary line reports how many nodes are currently heard on Mesh SA; if none are, it shows "Listening for AryaOS CoT beacons…" — which usually just means you're the only unit on the mesh right now.
Jump straight to a neighbor's Cockpit
When a node advertises its admin URL, the Open link in the Admin column takes you directly to that unit's AryaOS Site page. That's the fast path for triaging a fleet: open one box, see the others, click into whichever one looks unhealthy.
Using it to run a fleet¶
- Muster check — glance at the card to confirm every unit you deployed is up and beaconing. A missing node either dropped off the mesh or aged past its 240-second TTL.
- Triage — the Health column surfaces load, memory, temperature, and failed services at a glance; the Position column tells you where each unit physically is. Spot the unhealthy one, click Open, and dig in.
- Coverage — because roles are shown per node, you can see at a glance that your air, maritime, and drone coverage are all present on the mesh.
Discovery is read-only and low-cost
Beacons are tiny CoT events sent about once a minute with a multicast TTL of 1, and the cache lives on tmpfs. Neighbor discovery doesn't move sensor data or reconfigure anything — it only tells you who else is out there.
Related¶
- Firewall — the Mesh SA
6969/udprule this rides on. Firewall - AryaOS Site — the admin page hosting the nearby-nodes card. AryaOS Site
- Support bundles — the neighbor cache is included for diagnostics. Support bundles
- Operating a fleet — the day-2 overview. Operating a fleet