tailcfg: deprecate Debug, flesh out Node.DERP docs

Updates #docs

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/8682/head
Brad Fitzpatrick 1 year ago committed by Brad Fitzpatrick
parent 907c56c200
commit 41db1d7bba

@ -213,10 +213,20 @@ type Node struct {
Addresses []netip.Prefix // IP addresses of this Node directly Addresses []netip.Prefix // IP addresses of this Node directly
AllowedIPs []netip.Prefix // range of IP addresses to route to this node AllowedIPs []netip.Prefix // range of IP addresses to route to this node
Endpoints []string `json:",omitempty"` // IP+port (public via STUN, and local LANs) Endpoints []string `json:",omitempty"` // IP+port (public via STUN, and local LANs)
DERP string `json:",omitempty"` // DERP-in-IP:port ("127.3.3.40:N") endpoint
Hostinfo HostinfoView // DERP is this node's home DERP region ID integer, but shoved into an
Created time.Time // IP:port string for legacy reasons. The IP address is always "127.3.3.40"
Cap CapabilityVersion `json:",omitempty"` // if non-zero, the node's capability version; old servers might not send // (a loopback address (127) followed by the digits over the letters DERP on
// a QWERTY keyboard (3.3.40)). The "port number" is the home DERP region ID
// integer.
//
// TODO(bradfitz): simplify this legacy mess; add a new HomeDERPRegionID int
// field behind a new capver bump.
DERP string `json:",omitempty"` // DERP-in-IP:port ("127.3.3.40:N") endpoint
Hostinfo HostinfoView
Created time.Time
Cap CapabilityVersion `json:",omitempty"` // if non-zero, the node's capability version; old servers might not send
// Tags are the list of ACL tags applied to this node. // Tags are the list of ACL tags applied to this node.
// Tags take the form of `tag:<value>` where value starts // Tags take the form of `tag:<value>` where value starts
@ -677,11 +687,12 @@ type NetInfo struct {
// Empty means not checked. // Empty means not checked.
PCP opt.Bool PCP opt.Bool
// PreferredDERP is this node's preferred DERP server // PreferredDERP is this node's preferred (home) DERP region ID.
// for incoming traffic. The node might be be temporarily // This is where the node expects to be contacted to begin a
// connected to multiple DERP servers (to send to other nodes) // peer-to-peer connection. The node might be be temporarily
// but PreferredDERP is the instance number that the node // connected to multiple DERP servers (to speak to other nodes
// subscribes to traffic at. // that are located elsewhere) but PreferredDERP is the region ID
// that the node subscribes to traffic at.
// Zero means disconnected or unknown. // Zero means disconnected or unknown.
PreferredDERP int PreferredDERP int
@ -1616,8 +1627,15 @@ type ControlIPCandidate struct {
Priority int `json:",omitempty"` Priority int `json:",omitempty"`
} }
// Debug are instructions from the control server to the client // Debug are instructions from the control server to the client to adjust debug
// to adjust debug settings. // settings.
//
// Deprecated: these should no longer be used. They're a weird mix of declartive
// and imperative. The imperative ones should be c2n requests instead, and the
// declarative ones (at least the bools) should generally be self
// Node.Capabilities.
//
// TODO(bradfitz): start migrating the imperative ones to c2n requests.
type Debug struct { type Debug struct {
// LogHeapPprof controls whether the client should log // LogHeapPprof controls whether the client should log
// its heap pprof data. Each true value sent from the server // its heap pprof data. Each true value sent from the server

Loading…
Cancel
Save