Skip to main content

Module status

Module status 

Source
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::capabilities is populated from the domain Node’s cap_map (the control-pushed CapMap), which the domain model retains.
  • User (login/profile) — surfaced when the netmap provided it: WhoIs::user is the owning user’s login/display name, resolved by joining the node’s owning user id against the netmap’s UserProfiles table (accumulated by the PeerTracker across delta updates). None when control sent no profile for that user.
  • Online state — still a gap: the domain Node does not retain the wire-level online / last_seen fields, so StatusNode::online is always None. 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.
StatusNode
A single node entry in a Status snapshot.
WhoIs
The result of a Runtime::whois lookup: the node that owns a tailnet source address, plus its user and capabilities.