Expand description
Netmap status snapshot, WhoIs, and watcher types. Netmap status aggregation, WhoIs lookups, and a netmap-change watcher.
These surface the internal netmap state (ts_control::StateUpdate, consumed by the
PeerTracker) to embedders, mirroring tsnet’s
LocalClient::Status, WhoIs, and WatchIPNBus.
§Capability / user / online surfacing (do not fabricate)
tsnet’s Status/WhoIs also carry per-node online state, the owning user (login/profile),
and a capability map. Status of each in this fork:
- Capabilities — surfaced:
WhoIs::capabilitiesis populated from the domainNode’scap_map(the control-pushedCapMap), which the domain model retains. - User (login/profile) — surfaced when the netmap provided it:
WhoIs::useris the owning user’s login/display name, resolved by joining the node’s owning user id against the netmap’sUserProfilestable (accumulated by thePeerTrackeracross delta updates).Nonewhen control sent no profile for that user. - Online state — still a gap: the domain
Nodedoes not retain the wire-levelonline/last_seenfields, soStatusNode::onlineis alwaysNone. We surface what the domain model actually holds rather than inventing a value.
Structs§
- Status
- A snapshot of the local netmap: this node plus every known peer.
- Status
Node - A single node entry in a
Statussnapshot. - WhoIs
- The result of a
Runtime::whoislookup: the node that owns a tailnet source address, plus its user and capabilities.