package apitype
import "tailscale.com/client/tailscale/apitype"
Package apitype contains types for the Tailscale LocalAPI and control plane API.
Index ¶
- Constants
- Variables
- type DNSConfig
- type DNSOSConfig
- type DNSQueryResponse
- type DNSResolver
- type ExitNodeSuggestionResponse
- type FileTarget
- type ReloadConfigResponse
- type SetPushDeviceTokenRequest
- type WaitingFile
- type WhoIsResponse
Constants ¶
const LocalAPIHost = "local-tailscaled.sock"
LocalAPIHost is the Host header value used by the LocalAPI.
const RequestReasonHeader = "X-Tailscale-Reason"
RequestReasonHeader is the header used to pass justification for a LocalAPI request, such as when a user wants to perform an action they don't have permission for, and a policy allows it with justification. As of 2025-01-29, it is only used to allow a user to disconnect Tailscale when the "always-on" mode is enabled.
The header value is base64-encoded using the standard encoding defined in RFC 4648.
See tailscale/corp#26146.
Variables ¶
RequestReasonKey is the context key used to pass the request reason when making a LocalAPI request via [local.Client]. It's value is a raw string. An empty string means no reason was provided.
See tailscale/corp#26146.
Types ¶
type DNSConfig ¶
type DNSConfig struct { Resolvers []DNSResolver `json:"resolvers"` FallbackResolvers []DNSResolver `json:"fallbackResolvers"` Routes map[string][]DNSResolver `json:"routes"` Domains []string `json:"domains"` Nameservers []string `json:"nameservers"` Proxied bool `json:"proxied"` TempCorpIssue13969 string `json:"TempCorpIssue13969,omitempty"` }
type DNSOSConfig ¶
DNSOSConfig mimics dns.OSConfig without forcing us to import the entire dns package into the CLI.
type DNSQueryResponse ¶
type DNSQueryResponse struct { // Bytes is the raw DNS response bytes. Bytes []byte // Resolvers is the list of resolvers that the forwarder deemed able to resolve the query. Resolvers []*dnstype.Resolver }
DNSQueryResponse is the response to a DNS query request sent via LocalAPI.
type DNSResolver ¶
type DNSResolver struct { Addr string `json:"addr"` BootstrapResolution []string `json:"bootstrapResolution,omitempty"` }
type ExitNodeSuggestionResponse ¶
type ExitNodeSuggestionResponse struct { ID tailcfg.StableNodeID Name string Location tailcfg.LocationView `json:",omitempty"` }
ExitNodeSuggestionResponse is the response to a LocalAPI suggest-exit-node GET request. It returns the StableNodeID, name, and location of a suggested exit node for the client making the request.
type FileTarget ¶
type FileTarget struct { Node *tailcfg.Node // PeerAPI is the http://ip:port URL base of the node's PeerAPI, // without any path (not even a single slash). PeerAPIURL string }
FileTarget is a node to which files can be sent, and the PeerAPI URL base to do so via.
type ReloadConfigResponse ¶
type ReloadConfigResponse struct { Reloaded bool // whether the config was reloaded Err string // any error message }
ReloadConfigResponse is the response to a LocalAPI reload-config request.
There are three possible outcomes: (false, "") if no config mode in use, (true, "") on success, or (false, "error message") on failure.
type SetPushDeviceTokenRequest ¶
type SetPushDeviceTokenRequest struct { // PushDeviceToken is the iOS/macOS APNs device token (and any future Android equivalent). PushDeviceToken string }
SetPushDeviceTokenRequest is the body POSTed to the LocalAPI endpoint /set-device-token.
type WaitingFile ¶
type WhoIsResponse ¶
type WhoIsResponse struct { Node *tailcfg.Node UserProfile *tailcfg.UserProfile // CapMap is a map of capabilities to their values. // See tailcfg.PeerCapMap and tailcfg.PeerCapability for details. CapMap tailcfg.PeerCapMap }
WhoIsResponse is the JSON type returned by tailscaled debug server's /whois?ip=$IP handler. In successful whois responses, Node and UserProfile are never nil.
Source Files ¶
apitype.go controltype.go
- Version
- v1.84.0 (latest)
- Published
- May 21, 2025
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 1 day ago –
Tools for package owners.