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 ClientMessage
- func (*ClientMessage) Descriptor() ([]byte, []int)deprecated
- func (m *ClientMessage) GetMsg() isClientMessage_Msg
- func (x *ClientMessage) GetRpc() *RPC
- func (x *ClientMessage) GetStart() *StartRequest
- func (x *ClientMessage) GetStatus() *StatusRequest
- func (x *ClientMessage) GetStop() *StopRequest
- func (*ClientMessage) ProtoMessage()
- func (x *ClientMessage) ProtoReflect() protoreflect.Message
- func (x *ClientMessage) Reset()
- func (x *ClientMessage) String() string
- type ClientMessage_Start
- type ClientMessage_Status
- type ClientMessage_Stop
- 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 ServiceMessage
- func (*ServiceMessage) Descriptor() ([]byte, []int)deprecated
- func (m *ServiceMessage) GetMsg() isServiceMessage_Msg
- func (x *ServiceMessage) GetRpc() *RPC
- func (x *ServiceMessage) GetStart() *StartResponse
- func (x *ServiceMessage) GetStatus() *Status
- func (x *ServiceMessage) GetStop() *StopResponse
- func (*ServiceMessage) ProtoMessage()
- func (x *ServiceMessage) ProtoReflect() protoreflect.Message
- func (x *ServiceMessage) Reset()
- func (x *ServiceMessage) String() string
- type ServiceMessage_Start
- type ServiceMessage_Status
- type ServiceMessage_Stop
- 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 Status
- func (*Status) Descriptor() ([]byte, []int)deprecated
- func (x *Status) GetErrorMessage() string
- func (x *Status) GetLifecycle() Status_Lifecycle
- func (x *Status) GetPeerUpdate() *PeerUpdate
- func (*Status) ProtoMessage()
- func (x *Status) ProtoReflect() protoreflect.Message
- func (x *Status) Reset()
- func (x *Status) String() string
- type StatusRequest
- type Status_Lifecycle
- func (Status_Lifecycle) Descriptor() protoreflect.EnumDescriptor
- func (x Status_Lifecycle) Enum() *Status_Lifecycle
- func (Status_Lifecycle) EnumDescriptor() ([]byte, []int)deprecated
- func (x Status_Lifecycle) Number() protoreflect.EnumNumber
- func (x Status_Lifecycle) String() string
- func (Status_Lifecycle) Type() protoreflect.EnumType
- 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 ( Status_Lifecycle_name = map[int32]string{ 0: "UNKNOWN", 1: "STARTING", 2: "STARTED", 3: "STOPPING", 4: "STOPPED", } Status_Lifecycle_value = map[string]int32{ "UNKNOWN": 0, "STARTING": 1, "STARTED": 2, "STOPPING": 3, "STOPPED": 4, } )
Enum value maps for Status_Lifecycle.
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 ClientMessage ¶ added in v2.22.0
type ClientMessage struct { Rpc *RPC `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` // Types that are assignable to Msg: // // *ClientMessage_Start // *ClientMessage_Stop // *ClientMessage_Status Msg isClientMessage_Msg `protobuf_oneof:"msg"` // contains filtered or unexported fields }
ClientMessage is a message from the client (to the service). Windows only.
func (*ClientMessage) Descriptor
deprecated
added in
v2.22.0
func (*ClientMessage) Descriptor() ([]byte, []int)
Deprecated: Use ClientMessage.ProtoReflect.Descriptor instead.
func (*ClientMessage) GetMsg ¶ added in v2.22.0
func (m *ClientMessage) GetMsg() isClientMessage_Msg
func (*ClientMessage) GetRpc ¶ added in v2.22.0
func (x *ClientMessage) GetRpc() *RPC
func (*ClientMessage) GetStart ¶ added in v2.22.0
func (x *ClientMessage) GetStart() *StartRequest
func (*ClientMessage) GetStatus ¶ added in v2.22.0
func (x *ClientMessage) GetStatus() *StatusRequest
func (*ClientMessage) GetStop ¶ added in v2.22.0
func (x *ClientMessage) GetStop() *StopRequest
func (*ClientMessage) ProtoMessage ¶ added in v2.22.0
func (*ClientMessage) ProtoMessage()
func (*ClientMessage) ProtoReflect ¶ added in v2.22.0
func (x *ClientMessage) ProtoReflect() protoreflect.Message
func (*ClientMessage) Reset ¶ added in v2.22.0
func (x *ClientMessage) Reset()
func (*ClientMessage) String ¶ added in v2.22.0
func (x *ClientMessage) String() string
type ClientMessage_Start ¶ added in v2.22.0
type ClientMessage_Start struct {
Start *StartRequest `protobuf:"bytes,2,opt,name=start,proto3,oneof"`
}
type ClientMessage_Status ¶ added in v2.22.0
type ClientMessage_Status struct {
Status *StatusRequest `protobuf:"bytes,4,opt,name=status,proto3,oneof"`
}
type ClientMessage_Stop ¶ added in v2.22.0
type ClientMessage_Stop struct {
Stop *StopRequest `protobuf:"bytes,3,opt,name=stop,proto3,oneof"`
}
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 ServiceMessage ¶ added in v2.22.0
type ServiceMessage struct { Rpc *RPC `protobuf:"bytes,1,opt,name=rpc,proto3" json:"rpc,omitempty"` // Types that are assignable to Msg: // // *ServiceMessage_Start // *ServiceMessage_Stop // *ServiceMessage_Status Msg isServiceMessage_Msg `protobuf_oneof:"msg"` // contains filtered or unexported fields }
ServiceMessage is a message from the service (to the client). Windows only.
func (*ServiceMessage) Descriptor
deprecated
added in
v2.22.0
func (*ServiceMessage) Descriptor() ([]byte, []int)
Deprecated: Use ServiceMessage.ProtoReflect.Descriptor instead.
func (*ServiceMessage) GetMsg ¶ added in v2.22.0
func (m *ServiceMessage) GetMsg() isServiceMessage_Msg
func (*ServiceMessage) GetRpc ¶ added in v2.22.0
func (x *ServiceMessage) GetRpc() *RPC
func (*ServiceMessage) GetStart ¶ added in v2.22.0
func (x *ServiceMessage) GetStart() *StartResponse
func (*ServiceMessage) GetStatus ¶ added in v2.22.0
func (x *ServiceMessage) GetStatus() *Status
func (*ServiceMessage) GetStop ¶ added in v2.22.0
func (x *ServiceMessage) GetStop() *StopResponse
func (*ServiceMessage) ProtoMessage ¶ added in v2.22.0
func (*ServiceMessage) ProtoMessage()
func (*ServiceMessage) ProtoReflect ¶ added in v2.22.0
func (x *ServiceMessage) ProtoReflect() protoreflect.Message
func (*ServiceMessage) Reset ¶ added in v2.22.0
func (x *ServiceMessage) Reset()
func (*ServiceMessage) String ¶ added in v2.22.0
func (x *ServiceMessage) String() string
type ServiceMessage_Start ¶ added in v2.22.0
type ServiceMessage_Start struct {
Start *StartResponse `protobuf:"bytes,2,opt,name=start,proto3,oneof"`
}
type ServiceMessage_Status ¶ added in v2.22.0
type ServiceMessage_Status struct {
Status *Status `protobuf:"bytes,4,opt,name=status,proto3,oneof"` // either in reply to a StatusRequest or broadcasted
}
type ServiceMessage_Stop ¶ added in v2.22.0
type ServiceMessage_Stop struct {
Stop *StopResponse `protobuf:"bytes,3,opt,name=stop,proto3,oneof"`
}
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 Status ¶ added in v2.22.0
type Status struct { Lifecycle Status_Lifecycle `protobuf:"varint,1,opt,name=lifecycle,proto3,enum=vpn.Status_Lifecycle" json:"lifecycle,omitempty"` ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` // This will be a FULL update with all workspaces and agents, so clients // should replace their current peer state. Only the Upserted fields will // be populated. PeerUpdate *PeerUpdate `protobuf:"bytes,3,opt,name=peer_update,json=peerUpdate,proto3" json:"peer_update,omitempty"` // contains filtered or unexported fields }
Status is sent in response to a StatusRequest or broadcasted to all clients when the status changes.
func (*Status) Descriptor
deprecated
added in
v2.22.0
func (*Status) GetErrorMessage ¶ added in v2.22.0
func (*Status) GetLifecycle ¶ added in v2.22.0
func (x *Status) GetLifecycle() Status_Lifecycle
func (*Status) GetPeerUpdate ¶ added in v2.22.0
func (x *Status) GetPeerUpdate() *PeerUpdate
func (*Status) ProtoMessage ¶ added in v2.22.0
func (*Status) ProtoMessage()
func (*Status) ProtoReflect ¶ added in v2.22.0
func (x *Status) ProtoReflect() protoreflect.Message
type StatusRequest ¶ added in v2.22.0
type StatusRequest struct {
// contains filtered or unexported fields
}
StatusRequest is a request to get the status of the tunnel. The manager replies with a Status.
func (*StatusRequest) Descriptor
deprecated
added in
v2.22.0
func (*StatusRequest) Descriptor() ([]byte, []int)
Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead.
func (*StatusRequest) ProtoMessage ¶ added in v2.22.0
func (*StatusRequest) ProtoMessage()
func (*StatusRequest) ProtoReflect ¶ added in v2.22.0
func (x *StatusRequest) ProtoReflect() protoreflect.Message
func (*StatusRequest) Reset ¶ added in v2.22.0
func (x *StatusRequest) Reset()
func (*StatusRequest) String ¶ added in v2.22.0
func (x *StatusRequest) String() string
type Status_Lifecycle ¶ added in v2.22.0
type Status_Lifecycle int32
const ( Status_UNKNOWN Status_Lifecycle = 0 Status_STARTING Status_Lifecycle = 1 Status_STARTED Status_Lifecycle = 2 Status_STOPPING Status_Lifecycle = 3 Status_STOPPED Status_Lifecycle = 4 )
func (Status_Lifecycle) Descriptor ¶ added in v2.22.0
func (Status_Lifecycle) Descriptor() protoreflect.EnumDescriptor
func (Status_Lifecycle) Enum ¶ added in v2.22.0
func (x Status_Lifecycle) Enum() *Status_Lifecycle
func (Status_Lifecycle) EnumDescriptor
deprecated
added in
v2.22.0
func (Status_Lifecycle) EnumDescriptor() ([]byte, []int)
Deprecated: Use Status_Lifecycle.Descriptor instead.
func (Status_Lifecycle) Number ¶ added in v2.22.0
func (x Status_Lifecycle) Number() protoreflect.EnumNumber
func (Status_Lifecycle) String ¶ added in v2.22.0
func (x Status_Lifecycle) String() string
func (Status_Lifecycle) Type ¶ added in v2.22.0
func (Status_Lifecycle) Type() protoreflect.EnumType
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