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 — surfaced:
StatusNode::online/StatusNode::last_seenreflect the domainNode’s retainedonline/last_seen, populated from the netmap node and its online deltas (PeerChange,MapResponse.online_change/peer_seen_change).onlinestays tri-state (None= unknown), never fabricated tofalse.
Structs§
- File
Target - A tailnet peer this node can send a Taildrop file to, plus the peerAPI base URL to reach it.
- Netcheck
Report - A snapshot of this node’s latest network conditions report — the Rust analog of Go’s
netcheck.Reportastailscale netchecksurfaces it. - Region
Latency - A measured-latency entry for one DERP region in a
NetcheckReport. - 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.