Documentation
¶
Index ¶
- Constants
- Variables
- func NewDNSConfigurator(t *Tunnel) dns.OSConfigurator
- func NewRouter(t *Tunnel) router.Router
- type Agent
- func (*Agent) Descriptor() ([]byte, []int)deprecated
- func (x *Agent) GetFqdn() []string
- func (x *Agent) GetId() []byte
- func (x *Agent) GetIpAddrs() []string
- func (x *Agent) GetLastHandshake() *timestamppb.Timestamp
- func (x *Agent) GetName() string
- func (x *Agent) GetWorkspaceId() []byte
- func (*Agent) ProtoMessage()
- func (x *Agent) ProtoReflect() protoreflect.Message
- func (x *Agent) Reset()
- func (x *Agent) String() string
- type BidirectionalPipe
- type Client
- type Conn
- type GetPeerUpdate
- type Log
- func (*Log) Descriptor() ([]byte, []int)deprecated
- func (x *Log) GetFields() []*Log_Field
- func (x *Log) GetLevel() Log_Level
- func (x *Log) GetLoggerNames() []string
- func (x *Log) GetMessage() string
- func (*Log) ProtoMessage()
- func (x *Log) ProtoReflect() protoreflect.Message
- func (x *Log) Reset()
- func (x *Log) String() string
- type Log_Field
- type Log_Level
- type ManagerMessage
- func (*ManagerMessage) Descriptor() ([]byte, []int)deprecated
- func (m *ManagerMessage) EnsureRPC() *RPC
- func (x *ManagerMessage) GetGetPeerUpdate() *GetPeerUpdate
- func (m *ManagerMessage) GetMsg() isManagerMessage_Msg
- func (x *ManagerMessage) GetNetworkSettings() *NetworkSettingsResponse
- func (x *ManagerMessage) GetRpc() *RPC
- func (x *ManagerMessage) GetStart() *StartRequest
- func (x *ManagerMessage) GetStop() *StopRequest
- func (*ManagerMessage) ProtoMessage()
- func (x *ManagerMessage) ProtoReflect() protoreflect.Message
- func (x *ManagerMessage) Reset()
- func (x *ManagerMessage) String() string
- type ManagerMessage_GetPeerUpdate
- type ManagerMessage_NetworkSettings
- type ManagerMessage_Start
- type ManagerMessage_Stop
- type NetworkSettingsRequest
- func (*NetworkSettingsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest) GetDnsSettings() *NetworkSettingsRequest_DNSSettings
- func (x *NetworkSettingsRequest) GetIpv4Settings() *NetworkSettingsRequest_IPv4Settings
- func (x *NetworkSettingsRequest) GetIpv6Settings() *NetworkSettingsRequest_IPv6Settings
- func (x *NetworkSettingsRequest) GetMtu() uint32
- func (x *NetworkSettingsRequest) GetTunnelOverheadBytes() uint32
- func (x *NetworkSettingsRequest) GetTunnelRemoteAddress() string
- func (*NetworkSettingsRequest) ProtoMessage()
- func (x *NetworkSettingsRequest) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest) Reset()
- func (x *NetworkSettingsRequest) String() string
- type NetworkSettingsRequest_DNSSettings
- func (*NetworkSettingsRequest_DNSSettings) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest_DNSSettings) GetDomainName() string
- func (x *NetworkSettingsRequest_DNSSettings) GetMatchDomains() []string
- func (x *NetworkSettingsRequest_DNSSettings) GetMatchDomainsNoSearch() bool
- func (x *NetworkSettingsRequest_DNSSettings) GetSearchDomains() []string
- func (x *NetworkSettingsRequest_DNSSettings) GetServers() []string
- func (*NetworkSettingsRequest_DNSSettings) ProtoMessage()
- func (x *NetworkSettingsRequest_DNSSettings) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest_DNSSettings) Reset()
- func (x *NetworkSettingsRequest_DNSSettings) String() string
- type NetworkSettingsRequest_IPv4Settings
- func (*NetworkSettingsRequest_IPv4Settings) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest_IPv4Settings) GetAddrs() []string
- func (x *NetworkSettingsRequest_IPv4Settings) GetExcludedRoutes() []*NetworkSettingsRequest_IPv4Settings_IPv4Route
- func (x *NetworkSettingsRequest_IPv4Settings) GetIncludedRoutes() []*NetworkSettingsRequest_IPv4Settings_IPv4Route
- func (x *NetworkSettingsRequest_IPv4Settings) GetRouter() string
- func (x *NetworkSettingsRequest_IPv4Settings) GetSubnetMasks() []string
- func (*NetworkSettingsRequest_IPv4Settings) ProtoMessage()
- func (x *NetworkSettingsRequest_IPv4Settings) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest_IPv4Settings) Reset()
- func (x *NetworkSettingsRequest_IPv4Settings) String() string
- type NetworkSettingsRequest_IPv4Settings_IPv4Route
- func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetDestination() string
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetMask() string
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetRouter() string
- func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoMessage()
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) Reset()
- func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) String() string
- type NetworkSettingsRequest_IPv6Settings
- func (*NetworkSettingsRequest_IPv6Settings) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest_IPv6Settings) GetAddrs() []string
- func (x *NetworkSettingsRequest_IPv6Settings) GetExcludedRoutes() []*NetworkSettingsRequest_IPv6Settings_IPv6Route
- func (x *NetworkSettingsRequest_IPv6Settings) GetIncludedRoutes() []*NetworkSettingsRequest_IPv6Settings_IPv6Route
- func (x *NetworkSettingsRequest_IPv6Settings) GetPrefixLengths() []uint32
- func (*NetworkSettingsRequest_IPv6Settings) ProtoMessage()
- func (x *NetworkSettingsRequest_IPv6Settings) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest_IPv6Settings) Reset()
- func (x *NetworkSettingsRequest_IPv6Settings) String() string
- type NetworkSettingsRequest_IPv6Settings_IPv6Route
- func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetDestination() string
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetPrefixLength() uint32
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetRouter() string
- func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoMessage()
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) Reset()
- func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) String() string
- type NetworkSettingsResponse
- func (*NetworkSettingsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkSettingsResponse) GetErrorMessage() string
- func (x *NetworkSettingsResponse) GetSuccess() bool
- func (*NetworkSettingsResponse) ProtoMessage()
- func (x *NetworkSettingsResponse) ProtoReflect() protoreflect.Message
- func (x *NetworkSettingsResponse) Reset()
- func (x *NetworkSettingsResponse) String() string
- type NetworkStack
- type Options
- type PeerUpdate
- func (*PeerUpdate) Descriptor() ([]byte, []int)deprecated
- func (x *PeerUpdate) GetDeletedAgents() []*Agent
- func (x *PeerUpdate) GetDeletedWorkspaces() []*Workspace
- func (x *PeerUpdate) GetUpsertedAgents() []*Agent
- func (x *PeerUpdate) GetUpsertedWorkspaces() []*Workspace
- func (*PeerUpdate) ProtoMessage()
- func (x *PeerUpdate) ProtoReflect() protoreflect.Message
- func (x *PeerUpdate) Reset()
- func (x *PeerUpdate) String() string
- type RPC
- type RPCVersion
- type RPCVersionList
- type SpeakerRole
- type StartRequest
- func (*StartRequest) Descriptor() ([]byte, []int)deprecated
- func (x *StartRequest) GetApiToken() string
- func (x *StartRequest) GetCoderDesktopVersion() string
- func (x *StartRequest) GetCoderUrl() string
- func (x *StartRequest) GetDeviceId() string
- func (x *StartRequest) GetDeviceOs() string
- func (x *StartRequest) GetHeaders() []*StartRequest_Header
- func (x *StartRequest) GetTunnelFileDescriptor() int32
- func (*StartRequest) ProtoMessage()
- func (x *StartRequest) ProtoReflect() protoreflect.Message
- func (x *StartRequest) Reset()
- func (x *StartRequest) String() string
- type StartRequest_Header
- func (*StartRequest_Header) Descriptor() ([]byte, []int)deprecated
- func (x *StartRequest_Header) GetName() string
- func (x *StartRequest_Header) GetValue() string
- func (*StartRequest_Header) ProtoMessage()
- func (x *StartRequest_Header) ProtoReflect() protoreflect.Message
- func (x *StartRequest_Header) Reset()
- func (x *StartRequest_Header) String() string
- type StartResponse
- func (*StartResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StartResponse) GetErrorMessage() string
- func (x *StartResponse) GetSuccess() bool
- func (*StartResponse) ProtoMessage()
- func (x *StartResponse) ProtoReflect() protoreflect.Message
- func (x *StartResponse) Reset()
- func (x *StartResponse) String() string
- type StopRequest
- type StopResponse
- func (*StopResponse) Descriptor() ([]byte, []int)deprecated
- func (x *StopResponse) GetErrorMessage() string
- func (x *StopResponse) GetSuccess() bool
- func (*StopResponse) ProtoMessage()
- func (x *StopResponse) ProtoReflect() protoreflect.Message
- func (x *StopResponse) Reset()
- func (x *StopResponse) String() string
- type Tunnel
- type TunnelMessage
- func (*TunnelMessage) Descriptor() ([]byte, []int)deprecated
- func (t *TunnelMessage) EnsureRPC() *RPC
- func (x *TunnelMessage) GetLog() *Log
- func (m *TunnelMessage) GetMsg() isTunnelMessage_Msg
- func (x *TunnelMessage) GetNetworkSettings() *NetworkSettingsRequest
- func (x *TunnelMessage) GetPeerUpdate() *PeerUpdate
- func (x *TunnelMessage) GetRpc() *RPC
- func (x *TunnelMessage) GetStart() *StartResponse
- func (x *TunnelMessage) GetStop() *StopResponse
- func (*TunnelMessage) ProtoMessage()
- func (x *TunnelMessage) ProtoReflect() protoreflect.Message
- func (x *TunnelMessage) Reset()
- func (x *TunnelMessage) String() string
- type TunnelMessage_Log
- type TunnelMessage_NetworkSettings
- type TunnelMessage_PeerUpdate
- type TunnelMessage_Start
- type TunnelMessage_Stop
- type TunnelOption
- type Workspace
- func (*Workspace) Descriptor() ([]byte, []int)deprecated
- func (x *Workspace) GetId() []byte
- func (x *Workspace) GetName() string
- func (x *Workspace) GetStatus() Workspace_Status
- func (*Workspace) ProtoMessage()
- func (x *Workspace) ProtoReflect() protoreflect.Message
- func (x *Workspace) Reset()
- func (x *Workspace) String() string
- type Workspace_Status
- func (Workspace_Status) Descriptor() protoreflect.EnumDescriptor
- func (x Workspace_Status) Enum() *Workspace_Status
- func (Workspace_Status) EnumDescriptor() ([]byte, []int)deprecated
- func (x Workspace_Status) Number() protoreflect.EnumNumber
- func (x Workspace_Status) String() string
- func (Workspace_Status) Type() protoreflect.EnumType
Constants ¶
const MaxLength = 0x1000000 // 16MiB
MaxLength is the largest possible CoderVPN Protocol message size. This is set so that a misbehaving peer can't cause us to allocate a huge amount of memory.
Variables ¶
var ( Log_Level_name = map[int32]string{ 0: "DEBUG", 1: "INFO", 2: "WARN", 3: "ERROR", 4: "CRITICAL", 5: "FATAL", } Log_Level_value = map[string]int32{ "DEBUG": 0, "INFO": 1, "WARN": 2, "ERROR": 3, "CRITICAL": 4, "FATAL": 5, } )
Enum value maps for Log_Level.
var ( Workspace_Status_name = map[int32]string{ 0: "UNKNOWN", 1: "PENDING", 2: "STARTING", 3: "RUNNING", 4: "STOPPING", 5: "STOPPED", 6: "FAILED", 7: "CANCELING", 8: "CANCELED", 9: "DELETING", 10: "DELETED", } Workspace_Status_value = map[string]int32{ "UNKNOWN": 0, "PENDING": 1, "STARTING": 2, "RUNNING": 3, "STOPPING": 4, "STOPPED": 5, "FAILED": 6, "CANCELING": 7, "CANCELED": 8, "DELETING": 9, "DELETED": 10, } )
Enum value maps for Workspace_Status.
var CurrentSupportedVersions = RPCVersionList{ Versions: []RPCVersion{ {Major: 1, Minor: 1}, }, }
CurrentSupportedVersions is the list of versions supported by this implementation of the VPN RPC protocol.
var File_vpn_vpn_proto protoreflect.FileDescriptor
Functions ¶
func NewDNSConfigurator ¶ added in v2.18.0
func NewDNSConfigurator(t *Tunnel) dns.OSConfigurator
Types ¶
type Agent ¶
type Agent struct { Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` WorkspaceId []byte `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"` // UUID Fqdn []string `protobuf:"bytes,4,rep,name=fqdn,proto3" json:"fqdn,omitempty"` IpAddrs []string `protobuf:"bytes,5,rep,name=ip_addrs,json=ipAddrs,proto3" json:"ip_addrs,omitempty"` // last_handshake is the primary indicator of whether we are connected to a peer. Zero value or // anything longer than 5 minutes ago means there is a problem. LastHandshake *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_handshake,json=lastHandshake,proto3" json:"last_handshake,omitempty"` // contains filtered or unexported fields }
func (*Agent) Descriptor
deprecated
func (*Agent) GetIpAddrs ¶
func (*Agent) GetLastHandshake ¶
func (x *Agent) GetLastHandshake() *timestamppb.Timestamp
func (*Agent) GetWorkspaceId ¶
func (*Agent) ProtoMessage ¶
func (*Agent) ProtoMessage()
func (*Agent) ProtoReflect ¶
func (x *Agent) ProtoReflect() protoreflect.Message
type BidirectionalPipe ¶ added in v2.18.0
type BidirectionalPipe struct {
// contains filtered or unexported fields
}
BidirectionalPipe combines a pair of files that can be used for bidirectional communication.
func NewBidirectionalPipe ¶ added in v2.18.0
func NewBidirectionalPipe(readFd, writeFd uintptr) (BidirectionalPipe, error)
NewBidirectionalPipe creates a new BidirectionalPipe from the given file descriptors.
func (BidirectionalPipe) Close ¶ added in v2.18.0
func (b BidirectionalPipe) Close() error
Close implements io.Closer. Both the read and write pipes are closed.
type Client ¶ added in v2.19.0
type Conn ¶ added in v2.19.0
type Conn interface { CurrentWorkspaceState() (tailnet.WorkspaceUpdate, error) GetPeerDiagnostics(peerID uuid.UUID) tailnet.PeerDiagnostics Close() error }
type GetPeerUpdate ¶
type GetPeerUpdate struct {
// contains filtered or unexported fields
}
GetPeerUpdate asks for a PeerUpdate with a full set of data.
func (*GetPeerUpdate) Descriptor
deprecated
func (*GetPeerUpdate) Descriptor() ([]byte, []int)
Deprecated: Use GetPeerUpdate.ProtoReflect.Descriptor instead.
func (*GetPeerUpdate) ProtoMessage ¶
func (*GetPeerUpdate) ProtoMessage()
func (*GetPeerUpdate) ProtoReflect ¶
func (x *GetPeerUpdate) ProtoReflect() protoreflect.Message
func (*GetPeerUpdate) Reset ¶
func (x *GetPeerUpdate) Reset()
func (*GetPeerUpdate) String ¶
func (x *GetPeerUpdate) String() string
type Log ¶
type Log struct { Level Log_Level `protobuf:"varint,1,opt,name=level,proto3,enum=vpn.Log_Level" json:"level,omitempty"` Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` LoggerNames []string `protobuf:"bytes,3,rep,name=logger_names,json=loggerNames,proto3" json:"logger_names,omitempty"` Fields []*Log_Field `protobuf:"bytes,4,rep,name=fields,proto3" json:"fields,omitempty"` // contains filtered or unexported fields }
Log is a log message generated by the tunnel. The manager should log it to the system log. It is one-way tunnel -> manager with no response.
func (*Log) Descriptor
deprecated
func (*Log) GetLoggerNames ¶
func (*Log) GetMessage ¶
func (*Log) ProtoMessage ¶
func (*Log) ProtoMessage()
func (*Log) ProtoReflect ¶
func (x *Log) ProtoReflect() protoreflect.Message
type Log_Field ¶
type Log_Field struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
func (*Log_Field) Descriptor
deprecated
func (*Log_Field) ProtoMessage ¶
func (*Log_Field) ProtoMessage()
func (*Log_Field) ProtoReflect ¶
func (x *Log_Field) ProtoReflect() protoreflect.Message
type Log_Level ¶
type Log_Level int32
func (Log_Level) Descriptor ¶
func (Log_Level) Descriptor() protoreflect.EnumDescriptor
func (Log_Level) EnumDescriptor
deprecated
func (Log_Level) Number ¶
func (x Log_Level) Number() protoreflect.EnumNumber
func (Log_Level) Type ¶
func (Log_Level) Type() protoreflect.EnumType
type ManagerMessage ¶
type ManagerMessage struct { Rpc *RPC `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` // Types that are assignable to Msg: // // *ManagerMessage_GetPeerUpdate // *ManagerMessage_NetworkSettings // *ManagerMessage_Start // *ManagerMessage_Stop Msg isManagerMessage_Msg `protobuf_oneof:"msg"` // contains filtered or unexported fields }
ManagerMessage is a message from the manager (to the tunnel).
func (*ManagerMessage) Descriptor
deprecated
func (*ManagerMessage) Descriptor() ([]byte, []int)
Deprecated: Use ManagerMessage.ProtoReflect.Descriptor instead.
func (*ManagerMessage) EnsureRPC ¶
func (m *ManagerMessage) EnsureRPC() *RPC
func (*ManagerMessage) GetGetPeerUpdate ¶
func (x *ManagerMessage) GetGetPeerUpdate() *GetPeerUpdate
func (*ManagerMessage) GetMsg ¶
func (m *ManagerMessage) GetMsg() isManagerMessage_Msg
func (*ManagerMessage) GetNetworkSettings ¶
func (x *ManagerMessage) GetNetworkSettings() *NetworkSettingsResponse
func (*ManagerMessage) GetRpc ¶
func (x *ManagerMessage) GetRpc() *RPC
func (*ManagerMessage) GetStart ¶
func (x *ManagerMessage) GetStart() *StartRequest
func (*ManagerMessage) GetStop ¶
func (x *ManagerMessage) GetStop() *StopRequest
func (*ManagerMessage) ProtoMessage ¶
func (*ManagerMessage) ProtoMessage()
func (*ManagerMessage) ProtoReflect ¶
func (x *ManagerMessage) ProtoReflect() protoreflect.Message
func (*ManagerMessage) Reset ¶
func (x *ManagerMessage) Reset()
func (*ManagerMessage) String ¶
func (x *ManagerMessage) String() string
type ManagerMessage_GetPeerUpdate ¶
type ManagerMessage_GetPeerUpdate struct {
GetPeerUpdate *GetPeerUpdate `protobuf:"bytes,2,opt,name=get_peer_update,json=getPeerUpdate,proto3,oneof"`
}
type ManagerMessage_NetworkSettings ¶
type ManagerMessage_NetworkSettings struct {
NetworkSettings *NetworkSettingsResponse `protobuf:"bytes,3,opt,name=network_settings,json=networkSettings,proto3,oneof"`
}
type ManagerMessage_Start ¶
type ManagerMessage_Start struct {
Start *StartRequest `protobuf:"bytes,4,opt,name=start,proto3,oneof"`
}
type ManagerMessage_Stop ¶
type ManagerMessage_Stop struct {
Stop *StopRequest `protobuf:"bytes,5,opt,name=stop,proto3,oneof"`
}
type NetworkSettingsRequest ¶
type NetworkSettingsRequest struct { TunnelOverheadBytes uint32 `protobuf:"varint,1,opt,name=tunnel_overhead_bytes,json=tunnelOverheadBytes,proto3" json:"tunnel_overhead_bytes,omitempty"` Mtu uint32 `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"` DnsSettings *NetworkSettingsRequest_DNSSettings `protobuf:"bytes,3,opt,name=dns_settings,json=dnsSettings,proto3" json:"dns_settings,omitempty"` TunnelRemoteAddress string `protobuf:"bytes,4,opt,name=tunnel_remote_address,json=tunnelRemoteAddress,proto3" json:"tunnel_remote_address,omitempty"` Ipv4Settings *NetworkSettingsRequest_IPv4Settings `protobuf:"bytes,5,opt,name=ipv4_settings,json=ipv4Settings,proto3" json:"ipv4_settings,omitempty"` Ipv6Settings *NetworkSettingsRequest_IPv6Settings `protobuf:"bytes,6,opt,name=ipv6_settings,json=ipv6Settings,proto3" json:"ipv6_settings,omitempty"` // contains filtered or unexported fields }
NetworkSettingsRequest is based on https://developer.apple.com/documentation/networkextension/nepackettunnelnetworksettings for macOS. It is a request/response message with response NetworkSettingsResponse
func (*NetworkSettingsRequest) Descriptor
deprecated
func (*NetworkSettingsRequest) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest) GetDnsSettings ¶
func (x *NetworkSettingsRequest) GetDnsSettings() *NetworkSettingsRequest_DNSSettings
func (*NetworkSettingsRequest) GetIpv4Settings ¶
func (x *NetworkSettingsRequest) GetIpv4Settings() *NetworkSettingsRequest_IPv4Settings
func (*NetworkSettingsRequest) GetIpv6Settings ¶
func (x *NetworkSettingsRequest) GetIpv6Settings() *NetworkSettingsRequest_IPv6Settings
func (*NetworkSettingsRequest) GetMtu ¶
func (x *NetworkSettingsRequest) GetMtu() uint32
func (*NetworkSettingsRequest) GetTunnelOverheadBytes ¶
func (x *NetworkSettingsRequest) GetTunnelOverheadBytes() uint32
func (*NetworkSettingsRequest) GetTunnelRemoteAddress ¶
func (x *NetworkSettingsRequest) GetTunnelRemoteAddress() string
func (*NetworkSettingsRequest) ProtoMessage ¶
func (*NetworkSettingsRequest) ProtoMessage()
func (*NetworkSettingsRequest) ProtoReflect ¶
func (x *NetworkSettingsRequest) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest) Reset ¶
func (x *NetworkSettingsRequest) Reset()
func (*NetworkSettingsRequest) String ¶
func (x *NetworkSettingsRequest) String() string
type NetworkSettingsRequest_DNSSettings ¶
type NetworkSettingsRequest_DNSSettings struct { Servers []string `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"` SearchDomains []string `protobuf:"bytes,2,rep,name=search_domains,json=searchDomains,proto3" json:"search_domains,omitempty"` // domain_name is the primary domain name of the tunnel DomainName string `protobuf:"bytes,3,opt,name=domain_name,json=domainName,proto3" json:"domain_name,omitempty"` MatchDomains []string `protobuf:"bytes,4,rep,name=match_domains,json=matchDomains,proto3" json:"match_domains,omitempty"` // match_domains_no_search specifies if the domains in the matchDomains list should not be // appended to the resolver’s list of search domains. MatchDomainsNoSearch bool `` /* 126-byte string literal not displayed */ // contains filtered or unexported fields }
func (*NetworkSettingsRequest_DNSSettings) Descriptor
deprecated
func (*NetworkSettingsRequest_DNSSettings) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest_DNSSettings.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest_DNSSettings) GetDomainName ¶
func (x *NetworkSettingsRequest_DNSSettings) GetDomainName() string
func (*NetworkSettingsRequest_DNSSettings) GetMatchDomains ¶
func (x *NetworkSettingsRequest_DNSSettings) GetMatchDomains() []string
func (*NetworkSettingsRequest_DNSSettings) GetMatchDomainsNoSearch ¶
func (x *NetworkSettingsRequest_DNSSettings) GetMatchDomainsNoSearch() bool
func (*NetworkSettingsRequest_DNSSettings) GetSearchDomains ¶
func (x *NetworkSettingsRequest_DNSSettings) GetSearchDomains() []string
func (*NetworkSettingsRequest_DNSSettings) GetServers ¶
func (x *NetworkSettingsRequest_DNSSettings) GetServers() []string
func (*NetworkSettingsRequest_DNSSettings) ProtoMessage ¶
func (*NetworkSettingsRequest_DNSSettings) ProtoMessage()
func (*NetworkSettingsRequest_DNSSettings) ProtoReflect ¶
func (x *NetworkSettingsRequest_DNSSettings) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest_DNSSettings) Reset ¶
func (x *NetworkSettingsRequest_DNSSettings) Reset()
func (*NetworkSettingsRequest_DNSSettings) String ¶
func (x *NetworkSettingsRequest_DNSSettings) String() string
type NetworkSettingsRequest_IPv4Settings ¶
type NetworkSettingsRequest_IPv4Settings struct { Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` SubnetMasks []string `protobuf:"bytes,2,rep,name=subnet_masks,json=subnetMasks,proto3" json:"subnet_masks,omitempty"` // router is the next-hop router in dotted-decimal format Router string `protobuf:"bytes,3,opt,name=router,proto3" json:"router,omitempty"` IncludedRoutes []*NetworkSettingsRequest_IPv4Settings_IPv4Route `protobuf:"bytes,4,rep,name=included_routes,json=includedRoutes,proto3" json:"included_routes,omitempty"` ExcludedRoutes []*NetworkSettingsRequest_IPv4Settings_IPv4Route `protobuf:"bytes,5,rep,name=excluded_routes,json=excludedRoutes,proto3" json:"excluded_routes,omitempty"` // contains filtered or unexported fields }
func (*NetworkSettingsRequest_IPv4Settings) Descriptor
deprecated
func (*NetworkSettingsRequest_IPv4Settings) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest_IPv4Settings.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest_IPv4Settings) GetAddrs ¶
func (x *NetworkSettingsRequest_IPv4Settings) GetAddrs() []string
func (*NetworkSettingsRequest_IPv4Settings) GetExcludedRoutes ¶
func (x *NetworkSettingsRequest_IPv4Settings) GetExcludedRoutes() []*NetworkSettingsRequest_IPv4Settings_IPv4Route
func (*NetworkSettingsRequest_IPv4Settings) GetIncludedRoutes ¶
func (x *NetworkSettingsRequest_IPv4Settings) GetIncludedRoutes() []*NetworkSettingsRequest_IPv4Settings_IPv4Route
func (*NetworkSettingsRequest_IPv4Settings) GetRouter ¶
func (x *NetworkSettingsRequest_IPv4Settings) GetRouter() string
func (*NetworkSettingsRequest_IPv4Settings) GetSubnetMasks ¶
func (x *NetworkSettingsRequest_IPv4Settings) GetSubnetMasks() []string
func (*NetworkSettingsRequest_IPv4Settings) ProtoMessage ¶
func (*NetworkSettingsRequest_IPv4Settings) ProtoMessage()
func (*NetworkSettingsRequest_IPv4Settings) ProtoReflect ¶
func (x *NetworkSettingsRequest_IPv4Settings) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest_IPv4Settings) Reset ¶
func (x *NetworkSettingsRequest_IPv4Settings) Reset()
func (*NetworkSettingsRequest_IPv4Settings) String ¶
func (x *NetworkSettingsRequest_IPv4Settings) String() string
type NetworkSettingsRequest_IPv4Settings_IPv4Route ¶
type NetworkSettingsRequest_IPv4Settings_IPv4Route struct { Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` Mask string `protobuf:"bytes,2,opt,name=mask,proto3" json:"mask,omitempty"` // router is the next-hop router in dotted-decimal format Router string `protobuf:"bytes,3,opt,name=router,proto3" json:"router,omitempty"` // contains filtered or unexported fields }
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) Descriptor
deprecated
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest_IPv4Settings_IPv4Route.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) GetDestination ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetDestination() string
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) GetMask ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetMask() string
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) GetRouter ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) GetRouter() string
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoMessage ¶
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoMessage()
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoReflect ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) Reset ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) Reset()
func (*NetworkSettingsRequest_IPv4Settings_IPv4Route) String ¶
func (x *NetworkSettingsRequest_IPv4Settings_IPv4Route) String() string
type NetworkSettingsRequest_IPv6Settings ¶
type NetworkSettingsRequest_IPv6Settings struct { Addrs []string `protobuf:"bytes,1,rep,name=addrs,proto3" json:"addrs,omitempty"` PrefixLengths []uint32 `protobuf:"varint,2,rep,packed,name=prefix_lengths,json=prefixLengths,proto3" json:"prefix_lengths,omitempty"` IncludedRoutes []*NetworkSettingsRequest_IPv6Settings_IPv6Route `protobuf:"bytes,3,rep,name=included_routes,json=includedRoutes,proto3" json:"included_routes,omitempty"` ExcludedRoutes []*NetworkSettingsRequest_IPv6Settings_IPv6Route `protobuf:"bytes,4,rep,name=excluded_routes,json=excludedRoutes,proto3" json:"excluded_routes,omitempty"` // contains filtered or unexported fields }
func (*NetworkSettingsRequest_IPv6Settings) Descriptor
deprecated
func (*NetworkSettingsRequest_IPv6Settings) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest_IPv6Settings.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest_IPv6Settings) GetAddrs ¶
func (x *NetworkSettingsRequest_IPv6Settings) GetAddrs() []string
func (*NetworkSettingsRequest_IPv6Settings) GetExcludedRoutes ¶
func (x *NetworkSettingsRequest_IPv6Settings) GetExcludedRoutes() []*NetworkSettingsRequest_IPv6Settings_IPv6Route
func (*NetworkSettingsRequest_IPv6Settings) GetIncludedRoutes ¶
func (x *NetworkSettingsRequest_IPv6Settings) GetIncludedRoutes() []*NetworkSettingsRequest_IPv6Settings_IPv6Route
func (*NetworkSettingsRequest_IPv6Settings) GetPrefixLengths ¶
func (x *NetworkSettingsRequest_IPv6Settings) GetPrefixLengths() []uint32
func (*NetworkSettingsRequest_IPv6Settings) ProtoMessage ¶
func (*NetworkSettingsRequest_IPv6Settings) ProtoMessage()
func (*NetworkSettingsRequest_IPv6Settings) ProtoReflect ¶
func (x *NetworkSettingsRequest_IPv6Settings) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest_IPv6Settings) Reset ¶
func (x *NetworkSettingsRequest_IPv6Settings) Reset()
func (*NetworkSettingsRequest_IPv6Settings) String ¶
func (x *NetworkSettingsRequest_IPv6Settings) String() string
type NetworkSettingsRequest_IPv6Settings_IPv6Route ¶
type NetworkSettingsRequest_IPv6Settings_IPv6Route struct { Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` PrefixLength uint32 `protobuf:"varint,2,opt,name=prefix_length,json=prefixLength,proto3" json:"prefix_length,omitempty"` // router is the address of the next-hop Router string `protobuf:"bytes,3,opt,name=router,proto3" json:"router,omitempty"` // contains filtered or unexported fields }
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) Descriptor
deprecated
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsRequest_IPv6Settings_IPv6Route.ProtoReflect.Descriptor instead.
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) GetDestination ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetDestination() string
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) GetPrefixLength ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetPrefixLength() uint32
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) GetRouter ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) GetRouter() string
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoMessage ¶
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoMessage()
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoReflect ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) ProtoReflect() protoreflect.Message
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) Reset ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) Reset()
func (*NetworkSettingsRequest_IPv6Settings_IPv6Route) String ¶
func (x *NetworkSettingsRequest_IPv6Settings_IPv6Route) String() string
type NetworkSettingsResponse ¶
type NetworkSettingsResponse struct { Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // contains filtered or unexported fields }
NetworkSettingsResponse is the response from the manager to the tunnel for a NetworkSettingsRequest
func (*NetworkSettingsResponse) Descriptor
deprecated
func (*NetworkSettingsResponse) Descriptor() ([]byte, []int)
Deprecated: Use NetworkSettingsResponse.ProtoReflect.Descriptor instead.
func (*NetworkSettingsResponse) GetErrorMessage ¶
func (x *NetworkSettingsResponse) GetErrorMessage() string
func (*NetworkSettingsResponse) GetSuccess ¶
func (x *NetworkSettingsResponse) GetSuccess() bool
func (*NetworkSettingsResponse) ProtoMessage ¶
func (*NetworkSettingsResponse) ProtoMessage()
func (*NetworkSettingsResponse) ProtoReflect ¶
func (x *NetworkSettingsResponse) ProtoReflect() protoreflect.Message
func (*NetworkSettingsResponse) Reset ¶
func (x *NetworkSettingsResponse) Reset()
func (*NetworkSettingsResponse) String ¶
func (x *NetworkSettingsResponse) String() string
type NetworkStack ¶ added in v2.20.0
type NetworkStack struct { WireguardMonitor *netmon.Monitor TUNDevice tun.Device Router router.Router DNSConfigurator dns.OSConfigurator }
func GetNetworkingStack ¶ added in v2.20.0
func GetNetworkingStack(_ *Tunnel, _ *StartRequest, _ slog.Logger) (NetworkStack, error)
This is a no-op on every platform except Darwin and Windows.
type PeerUpdate ¶
type PeerUpdate struct { UpsertedWorkspaces []*Workspace `protobuf:"bytes,1,rep,name=upserted_workspaces,json=upsertedWorkspaces,proto3" json:"upserted_workspaces,omitempty"` UpsertedAgents []*Agent `protobuf:"bytes,2,rep,name=upserted_agents,json=upsertedAgents,proto3" json:"upserted_agents,omitempty"` DeletedWorkspaces []*Workspace `protobuf:"bytes,3,rep,name=deleted_workspaces,json=deletedWorkspaces,proto3" json:"deleted_workspaces,omitempty"` DeletedAgents []*Agent `protobuf:"bytes,4,rep,name=deleted_agents,json=deletedAgents,proto3" json:"deleted_agents,omitempty"` // contains filtered or unexported fields }
PeerUpdate is an update about workspaces and agents connected via the tunnel. It is generated in response to GetPeerUpdate (which dumps the full set). It is also generated on any changes (not in response to any request).
func (*PeerUpdate) Descriptor
deprecated
func (*PeerUpdate) Descriptor() ([]byte, []int)
Deprecated: Use PeerUpdate.ProtoReflect.Descriptor instead.
func (*PeerUpdate) GetDeletedAgents ¶
func (x *PeerUpdate) GetDeletedAgents() []*Agent
func (*PeerUpdate) GetDeletedWorkspaces ¶
func (x *PeerUpdate) GetDeletedWorkspaces() []*Workspace
func (*PeerUpdate) GetUpsertedAgents ¶
func (x *PeerUpdate) GetUpsertedAgents() []*Agent
func (*PeerUpdate) GetUpsertedWorkspaces ¶
func (x *PeerUpdate) GetUpsertedWorkspaces() []*Workspace
func (*PeerUpdate) ProtoMessage ¶
func (*PeerUpdate) ProtoMessage()
func (*PeerUpdate) ProtoReflect ¶
func (x *PeerUpdate) ProtoReflect() protoreflect.Message
func (*PeerUpdate) Reset ¶
func (x *PeerUpdate) Reset()
func (*PeerUpdate) String ¶
func (x *PeerUpdate) String() string
type RPC ¶
type RPC struct { MsgId uint64 `protobuf:"varint,1,opt,name=msg_id,json=msgId,proto3" json:"msg_id,omitempty"` ResponseTo uint64 `protobuf:"varint,2,opt,name=response_to,json=responseTo,proto3" json:"response_to,omitempty"` // contains filtered or unexported fields }
RPC allows a very simple unary request/response RPC mechanism. The requester generates a unique msg_id which it sets on the request, the responder sets response_to that msg_id on the response message
func (*RPC) Descriptor
deprecated
func (*RPC) GetResponseTo ¶
func (*RPC) ProtoMessage ¶
func (*RPC) ProtoMessage()
func (*RPC) ProtoReflect ¶
func (x *RPC) ProtoReflect() protoreflect.Message
type RPCVersion ¶ added in v2.19.0
RPCVersion represents a single version of the RPC protocol. Any given version is expected to be backwards compatible with all previous minor versions on the same major version.
e.g. RPCVersion{2, 3} is backwards compatible with RPCVersion{2, 2} but is not backwards compatible with RPCVersion{1, 2}.
func ParseRPCVersion ¶ added in v2.19.0
func ParseRPCVersion(str string) (RPCVersion, error)
ParseRPCVersion parses a version string in the format "major.minor" into a RPCVersion.
func (RPCVersion) IsCompatibleWith ¶ added in v2.19.0
func (v RPCVersion) IsCompatibleWith(other RPCVersion) (RPCVersion, bool)
IsCompatibleWith returns the lowest version that is compatible with both versions. If the versions are not compatible, the second return value will be false.
func (RPCVersion) String ¶ added in v2.19.0
func (v RPCVersion) String() string
type RPCVersionList ¶ added in v2.19.0
type RPCVersionList struct {
Versions []RPCVersion `json:"versions"`
}
RPCVersionList represents a list of RPC versions supported by a RPC peer. An
func ParseRPCVersionList ¶ added in v2.19.0
func ParseRPCVersionList(str string) (RPCVersionList, error)
ParseRPCVersionList parses a version string in the format "major.minor,major.minor" into a RPCVersionList.
func (RPCVersionList) IsCompatibleWith ¶ added in v2.19.0
func (vl RPCVersionList) IsCompatibleWith(other RPCVersionList) (RPCVersion, bool)
IsCompatibleWith returns the lowest version that is compatible with both version lists. If the versions are not compatible, the second return value will be false.
func (RPCVersionList) String ¶ added in v2.19.0
func (vl RPCVersionList) String() string
func (RPCVersionList) Validate ¶ added in v2.19.0
func (vl RPCVersionList) Validate() error
Validate returns an error if the version list is not sorted or contains duplicate major versions.
type SpeakerRole ¶
type SpeakerRole string
const ( SpeakerRoleManager SpeakerRole = "manager" SpeakerRoleTunnel SpeakerRole = "tunnel" )
type StartRequest ¶
type StartRequest struct { TunnelFileDescriptor int32 `protobuf:"varint,1,opt,name=tunnel_file_descriptor,json=tunnelFileDescriptor,proto3" json:"tunnel_file_descriptor,omitempty"` CoderUrl string `protobuf:"bytes,2,opt,name=coder_url,json=coderUrl,proto3" json:"coder_url,omitempty"` ApiToken string `protobuf:"bytes,3,opt,name=api_token,json=apiToken,proto3" json:"api_token,omitempty"` Headers []*StartRequest_Header `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"` // Device ID from Coder Desktop DeviceId string `protobuf:"bytes,5,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` // Device OS from Coder Desktop DeviceOs string `protobuf:"bytes,6,opt,name=device_os,json=deviceOs,proto3" json:"device_os,omitempty"` // Coder Desktop version CoderDesktopVersion string `protobuf:"bytes,7,opt,name=coder_desktop_version,json=coderDesktopVersion,proto3" json:"coder_desktop_version,omitempty"` // contains filtered or unexported fields }
StartRequest is a request from the manager to start the tunnel. The tunnel replies with a StartResponse.
func (*StartRequest) Descriptor
deprecated
func (*StartRequest) Descriptor() ([]byte, []int)
Deprecated: Use StartRequest.ProtoReflect.Descriptor instead.
func (*StartRequest) GetApiToken ¶
func (x *StartRequest) GetApiToken() string
func (*StartRequest) GetCoderDesktopVersion ¶ added in v2.21.0
func (x *StartRequest) GetCoderDesktopVersion() string
func (*StartRequest) GetCoderUrl ¶
func (x *StartRequest) GetCoderUrl() string
func (*StartRequest) GetDeviceId ¶ added in v2.21.0
func (x *StartRequest) GetDeviceId() string
func (*StartRequest) GetDeviceOs ¶ added in v2.21.0
func (x *StartRequest) GetDeviceOs() string
func (*StartRequest) GetHeaders ¶ added in v2.19.0
func (x *StartRequest) GetHeaders() []*StartRequest_Header
func (*StartRequest) GetTunnelFileDescriptor ¶
func (x *StartRequest) GetTunnelFileDescriptor() int32
func (*StartRequest) ProtoMessage ¶
func (*StartRequest) ProtoMessage()
func (*StartRequest) ProtoReflect ¶
func (x *StartRequest) ProtoReflect() protoreflect.Message
func (*StartRequest) Reset ¶
func (x *StartRequest) Reset()
func (*StartRequest) String ¶
func (x *StartRequest) String() string
type StartRequest_Header ¶ added in v2.19.0
type StartRequest_Header struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` // contains filtered or unexported fields }
Additional HTTP headers added to all requests
func (*StartRequest_Header) Descriptor
deprecated
added in
v2.19.0
func (*StartRequest_Header) Descriptor() ([]byte, []int)
Deprecated: Use StartRequest_Header.ProtoReflect.Descriptor instead.
func (*StartRequest_Header) GetName ¶ added in v2.19.0
func (x *StartRequest_Header) GetName() string
func (*StartRequest_Header) GetValue ¶ added in v2.19.0
func (x *StartRequest_Header) GetValue() string
func (*StartRequest_Header) ProtoMessage ¶ added in v2.19.0
func (*StartRequest_Header) ProtoMessage()
func (*StartRequest_Header) ProtoReflect ¶ added in v2.19.0
func (x *StartRequest_Header) ProtoReflect() protoreflect.Message
func (*StartRequest_Header) Reset ¶ added in v2.19.0
func (x *StartRequest_Header) Reset()
func (*StartRequest_Header) String ¶ added in v2.19.0
func (x *StartRequest_Header) String() string
type StartResponse ¶
type StartResponse struct { Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // contains filtered or unexported fields }
func (*StartResponse) Descriptor
deprecated
func (*StartResponse) Descriptor() ([]byte, []int)
Deprecated: Use StartResponse.ProtoReflect.Descriptor instead.
func (*StartResponse) GetErrorMessage ¶
func (x *StartResponse) GetErrorMessage() string
func (*StartResponse) GetSuccess ¶
func (x *StartResponse) GetSuccess() bool
func (*StartResponse) ProtoMessage ¶
func (*StartResponse) ProtoMessage()
func (*StartResponse) ProtoReflect ¶
func (x *StartResponse) ProtoReflect() protoreflect.Message
func (*StartResponse) Reset ¶
func (x *StartResponse) Reset()
func (*StartResponse) String ¶
func (x *StartResponse) String() string
type StopRequest ¶
type StopRequest struct {
// contains filtered or unexported fields
}
StopRequest is a request from the manager to stop the tunnel. The tunnel replies with a StopResponse.
func (*StopRequest) Descriptor
deprecated
func (*StopRequest) Descriptor() ([]byte, []int)
Deprecated: Use StopRequest.ProtoReflect.Descriptor instead.
func (*StopRequest) ProtoMessage ¶
func (*StopRequest) ProtoMessage()
func (*StopRequest) ProtoReflect ¶
func (x *StopRequest) ProtoReflect() protoreflect.Message
func (*StopRequest) Reset ¶
func (x *StopRequest) Reset()
func (*StopRequest) String ¶
func (x *StopRequest) String() string
type StopResponse ¶
type StopResponse struct { Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // contains filtered or unexported fields }
StopResponse is a response to stopping the tunnel. After sending this response, the tunnel closes its side of the bidirectional stream for writing.
func (*StopResponse) Descriptor
deprecated
func (*StopResponse) Descriptor() ([]byte, []int)
Deprecated: Use StopResponse.ProtoReflect.Descriptor instead.
func (*StopResponse) GetErrorMessage ¶
func (x *StopResponse) GetErrorMessage() string
func (*StopResponse) GetSuccess ¶
func (x *StopResponse) GetSuccess() bool
func (*StopResponse) ProtoMessage ¶
func (*StopResponse) ProtoMessage()
func (*StopResponse) ProtoReflect ¶
func (x *StopResponse) ProtoReflect() protoreflect.Message
func (*StopResponse) Reset ¶
func (x *StopResponse) Reset()
func (*StopResponse) String ¶
func (x *StopResponse) String() string
type Tunnel ¶
type Tunnel struct {
// contains filtered or unexported fields
}
func NewTunnel ¶
func NewTunnel( ctx context.Context, logger slog.Logger, mgrConn io.ReadWriteCloser, client Client, opts ...TunnelOption, ) (*Tunnel, error)
func (*Tunnel) ApplyNetworkSettings ¶
func (t *Tunnel) ApplyNetworkSettings(ctx context.Context, ns *NetworkSettingsRequest) error
ApplyNetworkSettings sends a request to the manager to apply the given network settings
func (*Tunnel) Update ¶ added in v2.19.0
func (u *Tunnel) Update(update tailnet.WorkspaceUpdate) error
Update pushes a workspace update to the manager
type TunnelMessage ¶
type TunnelMessage struct { Rpc *RPC `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` // Types that are assignable to Msg: // // *TunnelMessage_Log // *TunnelMessage_PeerUpdate // *TunnelMessage_NetworkSettings // *TunnelMessage_Start // *TunnelMessage_Stop Msg isTunnelMessage_Msg `protobuf_oneof:"msg"` // contains filtered or unexported fields }
TunnelMessage is a message from the tunnel (to the manager).
func (*TunnelMessage) Descriptor
deprecated
func (*TunnelMessage) Descriptor() ([]byte, []int)
Deprecated: Use TunnelMessage.ProtoReflect.Descriptor instead.
func (*TunnelMessage) EnsureRPC ¶
func (t *TunnelMessage) EnsureRPC() *RPC
func (*TunnelMessage) GetLog ¶
func (x *TunnelMessage) GetLog() *Log
func (*TunnelMessage) GetMsg ¶
func (m *TunnelMessage) GetMsg() isTunnelMessage_Msg
func (*TunnelMessage) GetNetworkSettings ¶
func (x *TunnelMessage) GetNetworkSettings() *NetworkSettingsRequest
func (*TunnelMessage) GetPeerUpdate ¶
func (x *TunnelMessage) GetPeerUpdate() *PeerUpdate
func (*TunnelMessage) GetRpc ¶
func (x *TunnelMessage) GetRpc() *RPC
func (*TunnelMessage) GetStart ¶
func (x *TunnelMessage) GetStart() *StartResponse
func (*TunnelMessage) GetStop ¶
func (x *TunnelMessage) GetStop() *StopResponse
func (*TunnelMessage) ProtoMessage ¶
func (*TunnelMessage) ProtoMessage()
func (*TunnelMessage) ProtoReflect ¶
func (x *TunnelMessage) ProtoReflect() protoreflect.Message
func (*TunnelMessage) Reset ¶
func (x *TunnelMessage) Reset()
func (*TunnelMessage) String ¶
func (x *TunnelMessage) String() string
type TunnelMessage_Log ¶
type TunnelMessage_Log struct {
Log *Log `protobuf:"bytes,2,opt,name=log,proto3,oneof"`
}
type TunnelMessage_NetworkSettings ¶
type TunnelMessage_NetworkSettings struct {
NetworkSettings *NetworkSettingsRequest `protobuf:"bytes,4,opt,name=network_settings,json=networkSettings,proto3,oneof"`
}
type TunnelMessage_PeerUpdate ¶
type TunnelMessage_PeerUpdate struct {
PeerUpdate *PeerUpdate `protobuf:"bytes,3,opt,name=peer_update,json=peerUpdate,proto3,oneof"`
}
type TunnelMessage_Start ¶
type TunnelMessage_Start struct {
Start *StartResponse `protobuf:"bytes,5,opt,name=start,proto3,oneof"`
}
type TunnelMessage_Stop ¶
type TunnelMessage_Stop struct {
Stop *StopResponse `protobuf:"bytes,6,opt,name=stop,proto3,oneof"`
}
type TunnelOption ¶ added in v2.19.0
type TunnelOption func(t *Tunnel)
func UseAsLogger ¶ added in v2.19.0
func UseAsLogger() TunnelOption
func UseCustomLogSinks ¶ added in v2.20.0
func UseCustomLogSinks(sinks ...slog.Sink) TunnelOption
func UseOSNetworkingStack ¶ added in v2.20.0
func UseOSNetworkingStack() TunnelOption
func WithClock ¶ added in v2.19.0
func WithClock(clock quartz.Clock) TunnelOption
type Workspace ¶
type Workspace struct { Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Status Workspace_Status `protobuf:"varint,3,opt,name=status,proto3,enum=vpn.Workspace_Status" json:"status,omitempty"` // contains filtered or unexported fields }
func (*Workspace) Descriptor
deprecated
func (*Workspace) GetStatus ¶
func (x *Workspace) GetStatus() Workspace_Status
func (*Workspace) ProtoMessage ¶
func (*Workspace) ProtoMessage()
func (*Workspace) ProtoReflect ¶
func (x *Workspace) ProtoReflect() protoreflect.Message
type Workspace_Status ¶
type Workspace_Status int32
const ( Workspace_UNKNOWN Workspace_Status = 0 Workspace_PENDING Workspace_Status = 1 Workspace_STARTING Workspace_Status = 2 Workspace_RUNNING Workspace_Status = 3 Workspace_STOPPING Workspace_Status = 4 Workspace_STOPPED Workspace_Status = 5 Workspace_FAILED Workspace_Status = 6 Workspace_CANCELING Workspace_Status = 7 Workspace_CANCELED Workspace_Status = 8 Workspace_DELETING Workspace_Status = 9 Workspace_DELETED Workspace_Status = 10 )
func (Workspace_Status) Descriptor ¶
func (Workspace_Status) Descriptor() protoreflect.EnumDescriptor
func (Workspace_Status) Enum ¶
func (x Workspace_Status) Enum() *Workspace_Status
func (Workspace_Status) EnumDescriptor
deprecated
func (Workspace_Status) EnumDescriptor() ([]byte, []int)
Deprecated: Use Workspace_Status.Descriptor instead.
func (Workspace_Status) Number ¶
func (x Workspace_Status) Number() protoreflect.EnumNumber
func (Workspace_Status) String ¶
func (x Workspace_Status) String() string
func (Workspace_Status) Type ¶
func (Workspace_Status) Type() protoreflect.EnumType