Documentation ¶
Index ¶
- Variables
- func RegisterManagementServiceServer(s grpc.ServiceRegistrar, srv ManagementServiceServer)
- type DeviceAuthorizationFlow
- func (*DeviceAuthorizationFlow) Descriptor() ([]byte, []int)deprecated
- func (x *DeviceAuthorizationFlow) GetProvider() DeviceAuthorizationFlowProvider
- func (x *DeviceAuthorizationFlow) GetProviderConfig() *ProviderConfig
- func (*DeviceAuthorizationFlow) ProtoMessage()
- func (x *DeviceAuthorizationFlow) ProtoReflect() protoreflect.Message
- func (x *DeviceAuthorizationFlow) Reset()
- func (x *DeviceAuthorizationFlow) String() string
- type DeviceAuthorizationFlowProvider
- func (DeviceAuthorizationFlowProvider) Descriptor() protoreflect.EnumDescriptor
- func (x DeviceAuthorizationFlowProvider) Enum() *DeviceAuthorizationFlowProvider
- func (DeviceAuthorizationFlowProvider) EnumDescriptor() ([]byte, []int)deprecated
- func (x DeviceAuthorizationFlowProvider) Number() protoreflect.EnumNumber
- func (x DeviceAuthorizationFlowProvider) String() string
- func (DeviceAuthorizationFlowProvider) Type() protoreflect.EnumType
- type DeviceAuthorizationFlowRequest
- func (*DeviceAuthorizationFlowRequest) Descriptor() ([]byte, []int)deprecated
- func (*DeviceAuthorizationFlowRequest) ProtoMessage()
- func (x *DeviceAuthorizationFlowRequest) ProtoReflect() protoreflect.Message
- func (x *DeviceAuthorizationFlowRequest) Reset()
- func (x *DeviceAuthorizationFlowRequest) String() string
- type Empty
- type EncryptedMessage
- func (*EncryptedMessage) Descriptor() ([]byte, []int)deprecated
- func (x *EncryptedMessage) GetBody() []byte
- func (x *EncryptedMessage) GetVersion() int32
- func (x *EncryptedMessage) GetWgPubKey() string
- func (*EncryptedMessage) ProtoMessage()
- func (x *EncryptedMessage) ProtoReflect() protoreflect.Message
- func (x *EncryptedMessage) Reset()
- func (x *EncryptedMessage) String() string
- type HostConfig
- func (*HostConfig) Descriptor() ([]byte, []int)deprecated
- func (x *HostConfig) GetProtocol() HostConfig_Protocol
- func (x *HostConfig) GetUri() string
- func (*HostConfig) ProtoMessage()
- func (x *HostConfig) ProtoReflect() protoreflect.Message
- func (x *HostConfig) Reset()
- func (x *HostConfig) String() string
- type HostConfig_Protocol
- func (HostConfig_Protocol) Descriptor() protoreflect.EnumDescriptor
- func (x HostConfig_Protocol) Enum() *HostConfig_Protocol
- func (HostConfig_Protocol) EnumDescriptor() ([]byte, []int)deprecated
- func (x HostConfig_Protocol) Number() protoreflect.EnumNumber
- func (x HostConfig_Protocol) String() string
- func (HostConfig_Protocol) Type() protoreflect.EnumType
- type LoginRequest
- func (*LoginRequest) Descriptor() ([]byte, []int)deprecated
- func (x *LoginRequest) GetJwtToken() string
- func (x *LoginRequest) GetMeta() *PeerSystemMeta
- func (x *LoginRequest) GetPeerKeys() *PeerKeys
- func (x *LoginRequest) GetSetupKey() string
- func (*LoginRequest) ProtoMessage()
- func (x *LoginRequest) ProtoReflect() protoreflect.Message
- func (x *LoginRequest) Reset()
- func (x *LoginRequest) String() string
- type LoginResponse
- func (*LoginResponse) Descriptor() ([]byte, []int)deprecated
- func (x *LoginResponse) GetOldsecwayConfig() *OldsecwayConfig
- func (x *LoginResponse) GetPeerConfig() *PeerConfig
- func (*LoginResponse) ProtoMessage()
- func (x *LoginResponse) ProtoReflect() protoreflect.Message
- func (x *LoginResponse) Reset()
- func (x *LoginResponse) String() string
- type ManagementServiceClient
- type ManagementServiceServer
- type ManagementService_SyncClient
- type ManagementService_SyncServer
- type NetworkMap
- func (*NetworkMap) Descriptor() ([]byte, []int)deprecated
- func (x *NetworkMap) GetPeerConfig() *PeerConfig
- func (x *NetworkMap) GetRemotePeers() []*RemotePeerConfig
- func (x *NetworkMap) GetRemotePeersIsEmpty() bool
- func (x *NetworkMap) GetSerial() uint64
- func (*NetworkMap) ProtoMessage()
- func (x *NetworkMap) ProtoReflect() protoreflect.Message
- func (x *NetworkMap) Reset()
- func (x *NetworkMap) String() string
- type OldsecwayConfig
- func (*OldsecwayConfig) Descriptor() ([]byte, []int)deprecated
- func (x *OldsecwayConfig) GetSignal() *HostConfig
- func (x *OldsecwayConfig) GetStuns() []*HostConfig
- func (x *OldsecwayConfig) GetTurns() []*ProtectedHostConfig
- func (*OldsecwayConfig) ProtoMessage()
- func (x *OldsecwayConfig) ProtoReflect() protoreflect.Message
- func (x *OldsecwayConfig) Reset()
- func (x *OldsecwayConfig) String() string
- type PeerConfig
- func (*PeerConfig) Descriptor() ([]byte, []int)deprecated
- func (x *PeerConfig) GetAddress() string
- func (x *PeerConfig) GetDns() string
- func (x *PeerConfig) GetSshConfig() *SSHConfig
- func (*PeerConfig) ProtoMessage()
- func (x *PeerConfig) ProtoReflect() protoreflect.Message
- func (x *PeerConfig) Reset()
- func (x *PeerConfig) String() string
- type PeerKeys
- type PeerSystemMeta
- func (*PeerSystemMeta) Descriptor() ([]byte, []int)deprecated
- func (x *PeerSystemMeta) GetCore() string
- func (x *PeerSystemMeta) GetGoOS() string
- func (x *PeerSystemMeta) GetHostname() string
- func (x *PeerSystemMeta) GetKernel() string
- func (x *PeerSystemMeta) GetOS() string
- func (x *PeerSystemMeta) GetOldsecwayVersion() string
- func (x *PeerSystemMeta) GetPlatform() string
- func (x *PeerSystemMeta) GetUiVersion() string
- func (*PeerSystemMeta) ProtoMessage()
- func (x *PeerSystemMeta) ProtoReflect() protoreflect.Message
- func (x *PeerSystemMeta) Reset()
- func (x *PeerSystemMeta) String() string
- type ProtectedHostConfig
- func (*ProtectedHostConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ProtectedHostConfig) GetHostConfig() *HostConfig
- func (x *ProtectedHostConfig) GetPassword() string
- func (x *ProtectedHostConfig) GetUser() string
- func (*ProtectedHostConfig) ProtoMessage()
- func (x *ProtectedHostConfig) ProtoReflect() protoreflect.Message
- func (x *ProtectedHostConfig) Reset()
- func (x *ProtectedHostConfig) String() string
- type ProviderConfig
- func (*ProviderConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ProviderConfig) GetAudience() string
- func (x *ProviderConfig) GetClientID() string
- func (x *ProviderConfig) GetClientSecret() string
- func (x *ProviderConfig) GetDomain() string
- func (*ProviderConfig) ProtoMessage()
- func (x *ProviderConfig) ProtoReflect() protoreflect.Message
- func (x *ProviderConfig) Reset()
- func (x *ProviderConfig) String() string
- type RemotePeerConfig
- func (*RemotePeerConfig) Descriptor() ([]byte, []int)deprecated
- func (x *RemotePeerConfig) GetAllowedIps() []string
- func (x *RemotePeerConfig) GetSshConfig() *SSHConfig
- func (x *RemotePeerConfig) GetWgPubKey() string
- func (*RemotePeerConfig) ProtoMessage()
- func (x *RemotePeerConfig) ProtoReflect() protoreflect.Message
- func (x *RemotePeerConfig) Reset()
- func (x *RemotePeerConfig) String() string
- type SSHConfig
- type ServerKeyResponse
- func (*ServerKeyResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ServerKeyResponse) GetExpiresAt() *timestamp.Timestamp
- func (x *ServerKeyResponse) GetKey() string
- func (x *ServerKeyResponse) GetVersion() int32
- func (*ServerKeyResponse) ProtoMessage()
- func (x *ServerKeyResponse) ProtoReflect() protoreflect.Message
- func (x *ServerKeyResponse) Reset()
- func (x *ServerKeyResponse) String() string
- type SyncRequest
- type SyncResponse
- func (*SyncResponse) Descriptor() ([]byte, []int)deprecated
- func (x *SyncResponse) GetNetworkMap() *NetworkMap
- func (x *SyncResponse) GetOldsecwayConfig() *OldsecwayConfig
- func (x *SyncResponse) GetPeerConfig() *PeerConfig
- func (x *SyncResponse) GetRemotePeers() []*RemotePeerConfig
- func (x *SyncResponse) GetRemotePeersIsEmpty() bool
- func (*SyncResponse) ProtoMessage()
- func (x *SyncResponse) ProtoReflect() protoreflect.Message
- func (x *SyncResponse) Reset()
- func (x *SyncResponse) String() string
- type UnimplementedManagementServiceServer
- func (UnimplementedManagementServiceServer) GetDeviceAuthorizationFlow(context.Context, *EncryptedMessage) (*EncryptedMessage, error)
- func (UnimplementedManagementServiceServer) GetServerKey(context.Context, *Empty) (*ServerKeyResponse, error)
- func (UnimplementedManagementServiceServer) IsHealthy(context.Context, *Empty) (*Empty, error)
- func (UnimplementedManagementServiceServer) Login(context.Context, *EncryptedMessage) (*EncryptedMessage, error)
- func (UnimplementedManagementServiceServer) Sync(*EncryptedMessage, ManagementService_SyncServer) error
- type UnsafeManagementServiceServer
Constants ¶
This section is empty.
Variables ¶
var ( HostConfig_Protocol_name = map[int32]string{ 0: "UDP", 1: "TCP", 2: "HTTP", 3: "HTTPS", 4: "DTLS", } HostConfig_Protocol_value = map[string]int32{ "UDP": 0, "TCP": 1, "HTTP": 2, "HTTPS": 3, "DTLS": 4, } )
Enum value maps for HostConfig_Protocol.
var ( DeviceAuthorizationFlowProvider_name = map[int32]string{ 0: "HOSTED", } DeviceAuthorizationFlowProvider_value = map[string]int32{ "HOSTED": 0, } )
Enum value maps for DeviceAuthorizationFlowProvider.
var File_management_proto protoreflect.FileDescriptor
var ManagementService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "management.ManagementService", HandlerType: (*ManagementServiceServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Login", Handler: _ManagementService_Login_Handler, }, { MethodName: "GetServerKey", Handler: _ManagementService_GetServerKey_Handler, }, { MethodName: "isHealthy", Handler: _ManagementService_IsHealthy_Handler, }, { MethodName: "GetDeviceAuthorizationFlow", Handler: _ManagementService_GetDeviceAuthorizationFlow_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Sync", Handler: _ManagementService_Sync_Handler, ServerStreams: true, }, }, Metadata: "management.proto", }
ManagementService_ServiceDesc is the grpc.ServiceDesc for ManagementService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterManagementServiceServer ¶
func RegisterManagementServiceServer(s grpc.ServiceRegistrar, srv ManagementServiceServer)
Types ¶
type DeviceAuthorizationFlow ¶
type DeviceAuthorizationFlow struct { // An IDP provider , (eg. Auth0) Provider DeviceAuthorizationFlowProvider `protobuf:"varint,1,opt,name=Provider,proto3,enum=management.DeviceAuthorizationFlowProvider" json:"Provider,omitempty"` ProviderConfig *ProviderConfig `protobuf:"bytes,2,opt,name=ProviderConfig,proto3" json:"ProviderConfig,omitempty"` // contains filtered or unexported fields }
DeviceAuthorizationFlow represents Device Authorization Flow information that can be used by the client to login initiate a Oauth 2.0 device authorization grant flow see https://datatracker.ietf.org/doc/html/rfc8628
func (*DeviceAuthorizationFlow) Descriptor
deprecated
func (*DeviceAuthorizationFlow) Descriptor() ([]byte, []int)
Deprecated: Use DeviceAuthorizationFlow.ProtoReflect.Descriptor instead.
func (*DeviceAuthorizationFlow) GetProvider ¶
func (x *DeviceAuthorizationFlow) GetProvider() DeviceAuthorizationFlowProvider
func (*DeviceAuthorizationFlow) GetProviderConfig ¶
func (x *DeviceAuthorizationFlow) GetProviderConfig() *ProviderConfig
func (*DeviceAuthorizationFlow) ProtoMessage ¶
func (*DeviceAuthorizationFlow) ProtoMessage()
func (*DeviceAuthorizationFlow) ProtoReflect ¶
func (x *DeviceAuthorizationFlow) ProtoReflect() protoreflect.Message
func (*DeviceAuthorizationFlow) Reset ¶
func (x *DeviceAuthorizationFlow) Reset()
func (*DeviceAuthorizationFlow) String ¶
func (x *DeviceAuthorizationFlow) String() string
type DeviceAuthorizationFlowProvider ¶
type DeviceAuthorizationFlowProvider int32
const (
DeviceAuthorizationFlow_HOSTED DeviceAuthorizationFlowProvider = 0
)
func (DeviceAuthorizationFlowProvider) Descriptor ¶
func (DeviceAuthorizationFlowProvider) Descriptor() protoreflect.EnumDescriptor
func (DeviceAuthorizationFlowProvider) Enum ¶
func (x DeviceAuthorizationFlowProvider) Enum() *DeviceAuthorizationFlowProvider
func (DeviceAuthorizationFlowProvider) EnumDescriptor
deprecated
func (DeviceAuthorizationFlowProvider) EnumDescriptor() ([]byte, []int)
Deprecated: Use DeviceAuthorizationFlowProvider.Descriptor instead.
func (DeviceAuthorizationFlowProvider) Number ¶
func (x DeviceAuthorizationFlowProvider) Number() protoreflect.EnumNumber
func (DeviceAuthorizationFlowProvider) String ¶
func (x DeviceAuthorizationFlowProvider) String() string
func (DeviceAuthorizationFlowProvider) Type ¶
func (DeviceAuthorizationFlowProvider) Type() protoreflect.EnumType
type DeviceAuthorizationFlowRequest ¶
type DeviceAuthorizationFlowRequest struct {
// contains filtered or unexported fields
}
DeviceAuthorizationFlowRequest empty struct for future expansion
func (*DeviceAuthorizationFlowRequest) Descriptor
deprecated
func (*DeviceAuthorizationFlowRequest) Descriptor() ([]byte, []int)
Deprecated: Use DeviceAuthorizationFlowRequest.ProtoReflect.Descriptor instead.
func (*DeviceAuthorizationFlowRequest) ProtoMessage ¶
func (*DeviceAuthorizationFlowRequest) ProtoMessage()
func (*DeviceAuthorizationFlowRequest) ProtoReflect ¶
func (x *DeviceAuthorizationFlowRequest) ProtoReflect() protoreflect.Message
func (*DeviceAuthorizationFlowRequest) Reset ¶
func (x *DeviceAuthorizationFlowRequest) Reset()
func (*DeviceAuthorizationFlowRequest) String ¶
func (x *DeviceAuthorizationFlowRequest) String() string
type Empty ¶
type Empty struct {
// contains filtered or unexported fields
}
func (*Empty) Descriptor
deprecated
func (*Empty) ProtoMessage ¶
func (*Empty) ProtoMessage()
func (*Empty) ProtoReflect ¶
func (x *Empty) ProtoReflect() protoreflect.Message
type EncryptedMessage ¶
type EncryptedMessage struct { // Wireguard public key WgPubKey string `protobuf:"bytes,1,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"` // encrypted message Body Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // Version of the Oldsecway Management Service protocol Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
func (*EncryptedMessage) Descriptor
deprecated
func (*EncryptedMessage) Descriptor() ([]byte, []int)
Deprecated: Use EncryptedMessage.ProtoReflect.Descriptor instead.
func (*EncryptedMessage) GetBody ¶
func (x *EncryptedMessage) GetBody() []byte
func (*EncryptedMessage) GetVersion ¶
func (x *EncryptedMessage) GetVersion() int32
func (*EncryptedMessage) GetWgPubKey ¶
func (x *EncryptedMessage) GetWgPubKey() string
func (*EncryptedMessage) ProtoMessage ¶
func (*EncryptedMessage) ProtoMessage()
func (*EncryptedMessage) ProtoReflect ¶
func (x *EncryptedMessage) ProtoReflect() protoreflect.Message
func (*EncryptedMessage) Reset ¶
func (x *EncryptedMessage) Reset()
func (*EncryptedMessage) String ¶
func (x *EncryptedMessage) String() string
type HostConfig ¶
type HostConfig struct { // URI of the resource e.g. turns://stun.isecway.com:4430 or signal.isecway.com:10000 Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` Protocol HostConfig_Protocol `protobuf:"varint,2,opt,name=protocol,proto3,enum=management.HostConfig_Protocol" json:"protocol,omitempty"` // contains filtered or unexported fields }
HostConfig describes connection properties of some server (e.g. STUN, Signal, Management)
func (*HostConfig) Descriptor
deprecated
func (*HostConfig) Descriptor() ([]byte, []int)
Deprecated: Use HostConfig.ProtoReflect.Descriptor instead.
func (*HostConfig) GetProtocol ¶
func (x *HostConfig) GetProtocol() HostConfig_Protocol
func (*HostConfig) GetUri ¶
func (x *HostConfig) GetUri() string
func (*HostConfig) ProtoMessage ¶
func (*HostConfig) ProtoMessage()
func (*HostConfig) ProtoReflect ¶
func (x *HostConfig) ProtoReflect() protoreflect.Message
func (*HostConfig) Reset ¶
func (x *HostConfig) Reset()
func (*HostConfig) String ¶
func (x *HostConfig) String() string
type HostConfig_Protocol ¶
type HostConfig_Protocol int32
const ( HostConfig_UDP HostConfig_Protocol = 0 HostConfig_TCP HostConfig_Protocol = 1 HostConfig_HTTP HostConfig_Protocol = 2 HostConfig_HTTPS HostConfig_Protocol = 3 HostConfig_DTLS HostConfig_Protocol = 4 )
func (HostConfig_Protocol) Descriptor ¶
func (HostConfig_Protocol) Descriptor() protoreflect.EnumDescriptor
func (HostConfig_Protocol) Enum ¶
func (x HostConfig_Protocol) Enum() *HostConfig_Protocol
func (HostConfig_Protocol) EnumDescriptor
deprecated
func (HostConfig_Protocol) EnumDescriptor() ([]byte, []int)
Deprecated: Use HostConfig_Protocol.Descriptor instead.
func (HostConfig_Protocol) Number ¶
func (x HostConfig_Protocol) Number() protoreflect.EnumNumber
func (HostConfig_Protocol) String ¶
func (x HostConfig_Protocol) String() string
func (HostConfig_Protocol) Type ¶
func (HostConfig_Protocol) Type() protoreflect.EnumType
type LoginRequest ¶
type LoginRequest struct { // Pre-authorized setup key (can be empty) SetupKey string `protobuf:"bytes,1,opt,name=setupKey,proto3" json:"setupKey,omitempty"` // Meta data of the peer (e.g. name, os_name, os_version, Meta *PeerSystemMeta `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"` // SSO token (can be empty) JwtToken string `protobuf:"bytes,3,opt,name=jwtToken,proto3" json:"jwtToken,omitempty"` // Can be absent for now. PeerKeys *PeerKeys `protobuf:"bytes,4,opt,name=peerKeys,proto3" json:"peerKeys,omitempty"` // contains filtered or unexported fields }
func (*LoginRequest) Descriptor
deprecated
func (*LoginRequest) Descriptor() ([]byte, []int)
Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead.
func (*LoginRequest) GetJwtToken ¶
func (x *LoginRequest) GetJwtToken() string
func (*LoginRequest) GetMeta ¶
func (x *LoginRequest) GetMeta() *PeerSystemMeta
func (*LoginRequest) GetPeerKeys ¶
func (x *LoginRequest) GetPeerKeys() *PeerKeys
func (*LoginRequest) GetSetupKey ¶
func (x *LoginRequest) GetSetupKey() string
func (*LoginRequest) ProtoMessage ¶
func (*LoginRequest) ProtoMessage()
func (*LoginRequest) ProtoReflect ¶
func (x *LoginRequest) ProtoReflect() protoreflect.Message
func (*LoginRequest) Reset ¶
func (x *LoginRequest) Reset()
func (*LoginRequest) String ¶
func (x *LoginRequest) String() string
type LoginResponse ¶
type LoginResponse struct { // Global config OldsecwayConfig *OldsecwayConfig `protobuf:"bytes,1,opt,name=oldsecwayConfig,proto3" json:"oldsecwayConfig,omitempty"` // Peer local config PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"` // contains filtered or unexported fields }
func (*LoginResponse) Descriptor
deprecated
func (*LoginResponse) Descriptor() ([]byte, []int)
Deprecated: Use LoginResponse.ProtoReflect.Descriptor instead.
func (*LoginResponse) GetOldsecwayConfig ¶
func (x *LoginResponse) GetOldsecwayConfig() *OldsecwayConfig
func (*LoginResponse) GetPeerConfig ¶
func (x *LoginResponse) GetPeerConfig() *PeerConfig
func (*LoginResponse) ProtoMessage ¶
func (*LoginResponse) ProtoMessage()
func (*LoginResponse) ProtoReflect ¶
func (x *LoginResponse) ProtoReflect() protoreflect.Message
func (*LoginResponse) Reset ¶
func (x *LoginResponse) Reset()
func (*LoginResponse) String ¶
func (x *LoginResponse) String() string
type ManagementServiceClient ¶
type ManagementServiceClient interface { // Login logs in peer. In case server returns codes.PermissionDenied this endpoint can be used to register Peer providing LoginRequest.setupKey // Returns encrypted LoginResponse in EncryptedMessage.Body Login(ctx context.Context, in *EncryptedMessage, opts ...grpc.CallOption) (*EncryptedMessage, error) // Sync enables peer synchronization. Each peer that is connected to this stream will receive updates from the server. // For example, if a new peer has been added to an account all other connected peers will receive this peer's Wireguard public key as an update // The initial SyncResponse contains all of the available peers so the local state can be refreshed // Returns encrypted SyncResponse in EncryptedMessage.Body Sync(ctx context.Context, in *EncryptedMessage, opts ...grpc.CallOption) (ManagementService_SyncClient, error) // Exposes a Wireguard public key of the Management service. // This key is used to support message encryption between client and server GetServerKey(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*ServerKeyResponse, error) // health check endpoint IsHealthy(ctx context.Context, in *Empty, opts ...grpc.CallOption) (*Empty, error) // Exposes a device authorization flow information // This is used for initiating a Oauth 2 device authorization grant flow // which will be used by our clients to Login. // EncryptedMessage of the request has a body of DeviceAuthorizationFlowRequest. // EncryptedMessage of the response has a body of DeviceAuthorizationFlow. GetDeviceAuthorizationFlow(ctx context.Context, in *EncryptedMessage, opts ...grpc.CallOption) (*EncryptedMessage, error) }
ManagementServiceClient is the client API for ManagementService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewManagementServiceClient ¶
func NewManagementServiceClient(cc grpc.ClientConnInterface) ManagementServiceClient
type ManagementServiceServer ¶
type ManagementServiceServer interface { // Login logs in peer. In case server returns codes.PermissionDenied this endpoint can be used to register Peer providing LoginRequest.setupKey // Returns encrypted LoginResponse in EncryptedMessage.Body Login(context.Context, *EncryptedMessage) (*EncryptedMessage, error) // Sync enables peer synchronization. Each peer that is connected to this stream will receive updates from the server. // For example, if a new peer has been added to an account all other connected peers will receive this peer's Wireguard public key as an update // The initial SyncResponse contains all of the available peers so the local state can be refreshed // Returns encrypted SyncResponse in EncryptedMessage.Body Sync(*EncryptedMessage, ManagementService_SyncServer) error // Exposes a Wireguard public key of the Management service. // This key is used to support message encryption between client and server GetServerKey(context.Context, *Empty) (*ServerKeyResponse, error) // health check endpoint IsHealthy(context.Context, *Empty) (*Empty, error) // Exposes a device authorization flow information // This is used for initiating a Oauth 2 device authorization grant flow // which will be used by our clients to Login. // EncryptedMessage of the request has a body of DeviceAuthorizationFlowRequest. // EncryptedMessage of the response has a body of DeviceAuthorizationFlow. GetDeviceAuthorizationFlow(context.Context, *EncryptedMessage) (*EncryptedMessage, error) // contains filtered or unexported methods }
ManagementServiceServer is the server API for ManagementService service. All implementations must embed UnimplementedManagementServiceServer for forward compatibility
type ManagementService_SyncClient ¶
type ManagementService_SyncClient interface { Recv() (*EncryptedMessage, error) grpc.ClientStream }
type ManagementService_SyncServer ¶
type ManagementService_SyncServer interface { Send(*EncryptedMessage) error grpc.ServerStream }
type NetworkMap ¶
type NetworkMap struct { // Serial is an ID of the network state to be used by clients to order updates. // The larger the Serial the newer the configuration. // E.g. the client app should keep track of this id locally and discard all the configurations with a lower value Serial uint64 `protobuf:"varint,1,opt,name=Serial,proto3" json:"Serial,omitempty"` // PeerConfig represents configuration of a peer PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"` // RemotePeerConfig represents a list of remote peers that the receiver can connect to RemotePeers []*RemotePeerConfig `protobuf:"bytes,3,rep,name=remotePeers,proto3" json:"remotePeers,omitempty"` // Indicates whether remotePeers array is empty or not to bypass protobuf null and empty array equality. RemotePeersIsEmpty bool `protobuf:"varint,4,opt,name=remotePeersIsEmpty,proto3" json:"remotePeersIsEmpty,omitempty"` // contains filtered or unexported fields }
NetworkMap represents a network state of the peer with the corresponding configuration parameters to establish peer-to-peer connections
func (*NetworkMap) Descriptor
deprecated
func (*NetworkMap) Descriptor() ([]byte, []int)
Deprecated: Use NetworkMap.ProtoReflect.Descriptor instead.
func (*NetworkMap) GetPeerConfig ¶
func (x *NetworkMap) GetPeerConfig() *PeerConfig
func (*NetworkMap) GetRemotePeers ¶
func (x *NetworkMap) GetRemotePeers() []*RemotePeerConfig
func (*NetworkMap) GetRemotePeersIsEmpty ¶
func (x *NetworkMap) GetRemotePeersIsEmpty() bool
func (*NetworkMap) GetSerial ¶
func (x *NetworkMap) GetSerial() uint64
func (*NetworkMap) ProtoMessage ¶
func (*NetworkMap) ProtoMessage()
func (*NetworkMap) ProtoReflect ¶
func (x *NetworkMap) ProtoReflect() protoreflect.Message
func (*NetworkMap) Reset ¶
func (x *NetworkMap) Reset()
func (*NetworkMap) String ¶
func (x *NetworkMap) String() string
type OldsecwayConfig ¶
type OldsecwayConfig struct { // a list of STUN servers Stuns []*HostConfig `protobuf:"bytes,1,rep,name=stuns,proto3" json:"stuns,omitempty"` // a list of TURN servers Turns []*ProtectedHostConfig `protobuf:"bytes,2,rep,name=turns,proto3" json:"turns,omitempty"` // a Signal server config Signal *HostConfig `protobuf:"bytes,3,opt,name=signal,proto3" json:"signal,omitempty"` // contains filtered or unexported fields }
OldsecwayConfig is a common configuration of any Oldsecway peer. It contains STUN, TURN, Signal and Management servers configurations
func (*OldsecwayConfig) Descriptor
deprecated
func (*OldsecwayConfig) Descriptor() ([]byte, []int)
Deprecated: Use OldsecwayConfig.ProtoReflect.Descriptor instead.
func (*OldsecwayConfig) GetSignal ¶
func (x *OldsecwayConfig) GetSignal() *HostConfig
func (*OldsecwayConfig) GetStuns ¶
func (x *OldsecwayConfig) GetStuns() []*HostConfig
func (*OldsecwayConfig) GetTurns ¶
func (x *OldsecwayConfig) GetTurns() []*ProtectedHostConfig
func (*OldsecwayConfig) ProtoMessage ¶
func (*OldsecwayConfig) ProtoMessage()
func (*OldsecwayConfig) ProtoReflect ¶
func (x *OldsecwayConfig) ProtoReflect() protoreflect.Message
func (*OldsecwayConfig) Reset ¶
func (x *OldsecwayConfig) Reset()
func (*OldsecwayConfig) String ¶
func (x *OldsecwayConfig) String() string
type PeerConfig ¶
type PeerConfig struct { // Peer's virtual IP address within the Oldsecway VPN (a Wireguard address config) Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Oldsecway DNS server (a Wireguard DNS config) Dns string `protobuf:"bytes,2,opt,name=dns,proto3" json:"dns,omitempty"` // SSHConfig of the peer. SshConfig *SSHConfig `protobuf:"bytes,3,opt,name=sshConfig,proto3" json:"sshConfig,omitempty"` // contains filtered or unexported fields }
PeerConfig represents a configuration of a "our" peer. The properties are used to configure local Wireguard
func (*PeerConfig) Descriptor
deprecated
func (*PeerConfig) Descriptor() ([]byte, []int)
Deprecated: Use PeerConfig.ProtoReflect.Descriptor instead.
func (*PeerConfig) GetAddress ¶
func (x *PeerConfig) GetAddress() string
func (*PeerConfig) GetDns ¶
func (x *PeerConfig) GetDns() string
func (*PeerConfig) GetSshConfig ¶
func (x *PeerConfig) GetSshConfig() *SSHConfig
func (*PeerConfig) ProtoMessage ¶
func (*PeerConfig) ProtoMessage()
func (*PeerConfig) ProtoReflect ¶
func (x *PeerConfig) ProtoReflect() protoreflect.Message
func (*PeerConfig) Reset ¶
func (x *PeerConfig) Reset()
func (*PeerConfig) String ¶
func (x *PeerConfig) String() string
type PeerKeys ¶
type PeerKeys struct { // sshPubKey represents a public SSH key of the peer. Can be absent. SshPubKey []byte `protobuf:"bytes,1,opt,name=sshPubKey,proto3" json:"sshPubKey,omitempty"` // wgPubKey represents a public WireGuard key of the peer. Can be absent. WgPubKey []byte `protobuf:"bytes,2,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"` // contains filtered or unexported fields }
PeerKeys is additional peer info like SSH pub key and WireGuard public key. This message is sent on Login or register requests, or when a key rotation has to happen.
func (*PeerKeys) Descriptor
deprecated
func (*PeerKeys) GetSshPubKey ¶
func (*PeerKeys) GetWgPubKey ¶
func (*PeerKeys) ProtoMessage ¶
func (*PeerKeys) ProtoMessage()
func (*PeerKeys) ProtoReflect ¶
func (x *PeerKeys) ProtoReflect() protoreflect.Message
type PeerSystemMeta ¶
type PeerSystemMeta struct { Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` GoOS string `protobuf:"bytes,2,opt,name=goOS,proto3" json:"goOS,omitempty"` Kernel string `protobuf:"bytes,3,opt,name=kernel,proto3" json:"kernel,omitempty"` Core string `protobuf:"bytes,4,opt,name=core,proto3" json:"core,omitempty"` Platform string `protobuf:"bytes,5,opt,name=platform,proto3" json:"platform,omitempty"` OS string `protobuf:"bytes,6,opt,name=OS,proto3" json:"OS,omitempty"` OldsecwayVersion string `protobuf:"bytes,7,opt,name=oldsecwayVersion,proto3" json:"oldsecwayVersion,omitempty"` UiVersion string `protobuf:"bytes,8,opt,name=uiVersion,proto3" json:"uiVersion,omitempty"` // contains filtered or unexported fields }
PeerSystemMeta is machine meta data like OS and version.
func (*PeerSystemMeta) Descriptor
deprecated
func (*PeerSystemMeta) Descriptor() ([]byte, []int)
Deprecated: Use PeerSystemMeta.ProtoReflect.Descriptor instead.
func (*PeerSystemMeta) GetCore ¶
func (x *PeerSystemMeta) GetCore() string
func (*PeerSystemMeta) GetGoOS ¶
func (x *PeerSystemMeta) GetGoOS() string
func (*PeerSystemMeta) GetHostname ¶
func (x *PeerSystemMeta) GetHostname() string
func (*PeerSystemMeta) GetKernel ¶
func (x *PeerSystemMeta) GetKernel() string
func (*PeerSystemMeta) GetOS ¶
func (x *PeerSystemMeta) GetOS() string
func (*PeerSystemMeta) GetOldsecwayVersion ¶
func (x *PeerSystemMeta) GetOldsecwayVersion() string
func (*PeerSystemMeta) GetPlatform ¶
func (x *PeerSystemMeta) GetPlatform() string
func (*PeerSystemMeta) GetUiVersion ¶
func (x *PeerSystemMeta) GetUiVersion() string
func (*PeerSystemMeta) ProtoMessage ¶
func (*PeerSystemMeta) ProtoMessage()
func (*PeerSystemMeta) ProtoReflect ¶
func (x *PeerSystemMeta) ProtoReflect() protoreflect.Message
func (*PeerSystemMeta) Reset ¶
func (x *PeerSystemMeta) Reset()
func (*PeerSystemMeta) String ¶
func (x *PeerSystemMeta) String() string
type ProtectedHostConfig ¶
type ProtectedHostConfig struct { HostConfig *HostConfig `protobuf:"bytes,1,opt,name=hostConfig,proto3" json:"hostConfig,omitempty"` User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // contains filtered or unexported fields }
ProtectedHostConfig is similar to HostConfig but has additional user and password Mostly used for TURN servers
func (*ProtectedHostConfig) Descriptor
deprecated
func (*ProtectedHostConfig) Descriptor() ([]byte, []int)
Deprecated: Use ProtectedHostConfig.ProtoReflect.Descriptor instead.
func (*ProtectedHostConfig) GetHostConfig ¶
func (x *ProtectedHostConfig) GetHostConfig() *HostConfig
func (*ProtectedHostConfig) GetPassword ¶
func (x *ProtectedHostConfig) GetPassword() string
func (*ProtectedHostConfig) GetUser ¶
func (x *ProtectedHostConfig) GetUser() string
func (*ProtectedHostConfig) ProtoMessage ¶
func (*ProtectedHostConfig) ProtoMessage()
func (*ProtectedHostConfig) ProtoReflect ¶
func (x *ProtectedHostConfig) ProtoReflect() protoreflect.Message
func (*ProtectedHostConfig) Reset ¶
func (x *ProtectedHostConfig) Reset()
func (*ProtectedHostConfig) String ¶
func (x *ProtectedHostConfig) String() string
type ProviderConfig ¶
type ProviderConfig struct { // An IDP application client id ClientID string `protobuf:"bytes,1,opt,name=ClientID,proto3" json:"ClientID,omitempty"` // An IDP application client secret ClientSecret string `protobuf:"bytes,2,opt,name=ClientSecret,proto3" json:"ClientSecret,omitempty"` // An IDP API domain Domain string `protobuf:"bytes,3,opt,name=Domain,proto3" json:"Domain,omitempty"` // An Audience for validation Audience string `protobuf:"bytes,4,opt,name=Audience,proto3" json:"Audience,omitempty"` // contains filtered or unexported fields }
ProviderConfig has all attributes needed to initiate a device authorization flow
func (*ProviderConfig) Descriptor
deprecated
func (*ProviderConfig) Descriptor() ([]byte, []int)
Deprecated: Use ProviderConfig.ProtoReflect.Descriptor instead.
func (*ProviderConfig) GetAudience ¶
func (x *ProviderConfig) GetAudience() string
func (*ProviderConfig) GetClientID ¶
func (x *ProviderConfig) GetClientID() string
func (*ProviderConfig) GetClientSecret ¶
func (x *ProviderConfig) GetClientSecret() string
func (*ProviderConfig) GetDomain ¶
func (x *ProviderConfig) GetDomain() string
func (*ProviderConfig) ProtoMessage ¶
func (*ProviderConfig) ProtoMessage()
func (*ProviderConfig) ProtoReflect ¶
func (x *ProviderConfig) ProtoReflect() protoreflect.Message
func (*ProviderConfig) Reset ¶
func (x *ProviderConfig) Reset()
func (*ProviderConfig) String ¶
func (x *ProviderConfig) String() string
type RemotePeerConfig ¶
type RemotePeerConfig struct { // A Wireguard public key of a remote peer WgPubKey string `protobuf:"bytes,1,opt,name=wgPubKey,proto3" json:"wgPubKey,omitempty"` // Wireguard allowed IPs of a remote peer e.g. [10.30.30.1/32] AllowedIps []string `protobuf:"bytes,2,rep,name=allowedIps,proto3" json:"allowedIps,omitempty"` // SSHConfig is a SSH config of the remote peer. SSHConfig.sshPubKey should be ignored because peer knows it's SSH key. SshConfig *SSHConfig `protobuf:"bytes,3,opt,name=sshConfig,proto3" json:"sshConfig,omitempty"` // contains filtered or unexported fields }
RemotePeerConfig represents a configuration of a remote peer. The properties are used to configure Wireguard Peers sections
func (*RemotePeerConfig) Descriptor
deprecated
func (*RemotePeerConfig) Descriptor() ([]byte, []int)
Deprecated: Use RemotePeerConfig.ProtoReflect.Descriptor instead.
func (*RemotePeerConfig) GetAllowedIps ¶
func (x *RemotePeerConfig) GetAllowedIps() []string
func (*RemotePeerConfig) GetSshConfig ¶
func (x *RemotePeerConfig) GetSshConfig() *SSHConfig
func (*RemotePeerConfig) GetWgPubKey ¶
func (x *RemotePeerConfig) GetWgPubKey() string
func (*RemotePeerConfig) ProtoMessage ¶
func (*RemotePeerConfig) ProtoMessage()
func (*RemotePeerConfig) ProtoReflect ¶
func (x *RemotePeerConfig) ProtoReflect() protoreflect.Message
func (*RemotePeerConfig) Reset ¶
func (x *RemotePeerConfig) Reset()
func (*RemotePeerConfig) String ¶
func (x *RemotePeerConfig) String() string
type SSHConfig ¶
type SSHConfig struct { // sshEnabled indicates whether a SSH server is enabled on this peer SshEnabled bool `protobuf:"varint,1,opt,name=sshEnabled,proto3" json:"sshEnabled,omitempty"` // sshPubKey is a SSH public key of a peer to be added to authorized_hosts. // This property should be ignore if SSHConfig comes from PeerConfig. SshPubKey []byte `protobuf:"bytes,2,opt,name=sshPubKey,proto3" json:"sshPubKey,omitempty"` // contains filtered or unexported fields }
SSHConfig represents SSH configurations of a peer.
func (*SSHConfig) Descriptor
deprecated
func (*SSHConfig) GetSshEnabled ¶
func (*SSHConfig) GetSshPubKey ¶
func (*SSHConfig) ProtoMessage ¶
func (*SSHConfig) ProtoMessage()
func (*SSHConfig) ProtoReflect ¶
func (x *SSHConfig) ProtoReflect() protoreflect.Message
type ServerKeyResponse ¶
type ServerKeyResponse struct { // Server's Wireguard public key Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // Key expiration timestamp after which the key should be fetched again by the client ExpiresAt *timestamp.Timestamp `protobuf:"bytes,2,opt,name=expiresAt,proto3" json:"expiresAt,omitempty"` // Version of the Oldsecway Management Service protocol Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` // contains filtered or unexported fields }
func (*ServerKeyResponse) Descriptor
deprecated
func (*ServerKeyResponse) Descriptor() ([]byte, []int)
Deprecated: Use ServerKeyResponse.ProtoReflect.Descriptor instead.
func (*ServerKeyResponse) GetExpiresAt ¶
func (x *ServerKeyResponse) GetExpiresAt() *timestamp.Timestamp
func (*ServerKeyResponse) GetKey ¶
func (x *ServerKeyResponse) GetKey() string
func (*ServerKeyResponse) GetVersion ¶
func (x *ServerKeyResponse) GetVersion() int32
func (*ServerKeyResponse) ProtoMessage ¶
func (*ServerKeyResponse) ProtoMessage()
func (*ServerKeyResponse) ProtoReflect ¶
func (x *ServerKeyResponse) ProtoReflect() protoreflect.Message
func (*ServerKeyResponse) Reset ¶
func (x *ServerKeyResponse) Reset()
func (*ServerKeyResponse) String ¶
func (x *ServerKeyResponse) String() string
type SyncRequest ¶
type SyncRequest struct {
// contains filtered or unexported fields
}
func (*SyncRequest) Descriptor
deprecated
func (*SyncRequest) Descriptor() ([]byte, []int)
Deprecated: Use SyncRequest.ProtoReflect.Descriptor instead.
func (*SyncRequest) ProtoMessage ¶
func (*SyncRequest) ProtoMessage()
func (*SyncRequest) ProtoReflect ¶
func (x *SyncRequest) ProtoReflect() protoreflect.Message
func (*SyncRequest) Reset ¶
func (x *SyncRequest) Reset()
func (*SyncRequest) String ¶
func (x *SyncRequest) String() string
type SyncResponse ¶
type SyncResponse struct { // Global config OldsecwayConfig *OldsecwayConfig `protobuf:"bytes,1,opt,name=oldsecwayConfig,proto3" json:"oldsecwayConfig,omitempty"` // Deprecated. Use NetworkMap.PeerConfig PeerConfig *PeerConfig `protobuf:"bytes,2,opt,name=peerConfig,proto3" json:"peerConfig,omitempty"` // Deprecated. Use NetworkMap.RemotePeerConfig RemotePeers []*RemotePeerConfig `protobuf:"bytes,3,rep,name=remotePeers,proto3" json:"remotePeers,omitempty"` // Indicates whether remotePeers array is empty or not to bypass protobuf null and empty array equality. // Deprecated. Use NetworkMap.remotePeersIsEmpty RemotePeersIsEmpty bool `protobuf:"varint,4,opt,name=remotePeersIsEmpty,proto3" json:"remotePeersIsEmpty,omitempty"` NetworkMap *NetworkMap `protobuf:"bytes,5,opt,name=NetworkMap,proto3" json:"NetworkMap,omitempty"` // contains filtered or unexported fields }
SyncResponse represents a state that should be applied to the local peer (e.g. Oldsecway servers config as well as local peer and remote peers configs)
func (*SyncResponse) Descriptor
deprecated
func (*SyncResponse) Descriptor() ([]byte, []int)
Deprecated: Use SyncResponse.ProtoReflect.Descriptor instead.
func (*SyncResponse) GetNetworkMap ¶
func (x *SyncResponse) GetNetworkMap() *NetworkMap
func (*SyncResponse) GetOldsecwayConfig ¶
func (x *SyncResponse) GetOldsecwayConfig() *OldsecwayConfig
func (*SyncResponse) GetPeerConfig ¶
func (x *SyncResponse) GetPeerConfig() *PeerConfig
func (*SyncResponse) GetRemotePeers ¶
func (x *SyncResponse) GetRemotePeers() []*RemotePeerConfig
func (*SyncResponse) GetRemotePeersIsEmpty ¶
func (x *SyncResponse) GetRemotePeersIsEmpty() bool
func (*SyncResponse) ProtoMessage ¶
func (*SyncResponse) ProtoMessage()
func (*SyncResponse) ProtoReflect ¶
func (x *SyncResponse) ProtoReflect() protoreflect.Message
func (*SyncResponse) Reset ¶
func (x *SyncResponse) Reset()
func (*SyncResponse) String ¶
func (x *SyncResponse) String() string
type UnimplementedManagementServiceServer ¶
type UnimplementedManagementServiceServer struct { }
UnimplementedManagementServiceServer must be embedded to have forward compatible implementations.
func (UnimplementedManagementServiceServer) GetDeviceAuthorizationFlow ¶
func (UnimplementedManagementServiceServer) GetDeviceAuthorizationFlow(context.Context, *EncryptedMessage) (*EncryptedMessage, error)
func (UnimplementedManagementServiceServer) GetServerKey ¶
func (UnimplementedManagementServiceServer) GetServerKey(context.Context, *Empty) (*ServerKeyResponse, error)
func (UnimplementedManagementServiceServer) Login ¶
func (UnimplementedManagementServiceServer) Login(context.Context, *EncryptedMessage) (*EncryptedMessage, error)
type UnsafeManagementServiceServer ¶
type UnsafeManagementServiceServer interface {
// contains filtered or unexported methods
}
UnsafeManagementServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ManagementServiceServer will result in compilation errors.