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::user_profileis the owning user’s whole profile (login name, display name, group membership), 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.WhoIs::userflattens it to one display label andWhoIs::user_groupsreaches the groups an embedder authorises on. - 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.