client

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2022 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	io.Closer
	Sync(msgHandler func(msg *proto.SyncResponse) error) error
	GetServerPublicKey() (*wgtypes.Key, error)
	Register(serverKey wgtypes.Key, setupKey string, info *system.Info) (*proto.LoginResponse, error)
	Login(serverKey wgtypes.Key) (*proto.LoginResponse, error)
}

type GrpcClient added in v0.3.4

type GrpcClient struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, addr string, ourPrivateKey wgtypes.Key, tlsEnabled bool) (*GrpcClient, error)

NewClient creates a new client to Management service

func (*GrpcClient) Close added in v0.3.4

func (c *GrpcClient) Close() error

Close closes connection to the Management Service

func (*GrpcClient) GetServerPublicKey added in v0.3.4

func (c *GrpcClient) GetServerPublicKey() (*wgtypes.Key, error)

GetServerPublicKey returns server Wireguard public key (used later for encrypting messages sent to the server)

func (*GrpcClient) Login added in v0.3.4

func (c *GrpcClient) Login(serverKey wgtypes.Key) (*proto.LoginResponse, error)

Login attempts login to Management Server. Takes care of encrypting and decrypting messages.

func (*GrpcClient) Register added in v0.3.4

func (c *GrpcClient) Register(serverKey wgtypes.Key, setupKey string, info *system.Info) (*proto.LoginResponse, error)

Register registers peer on Management Server. It actually calls a Login endpoint with a provided setup key Takes care of encrypting and decrypting messages. This method will also collect system info and send it with the request (e.g. hostname, os, etc)

func (*GrpcClient) Sync added in v0.3.4

func (c *GrpcClient) Sync(msgHandler func(msg *proto.SyncResponse) error) error

Sync wraps the real client's Sync endpoint call and takes care of retries and encryption/decryption of messages Blocking request. The result will be sent via msgHandler callback function

type MockClient added in v0.3.4

type MockClient struct {
	CloseFunc              func() error
	SyncFunc               func(msgHandler func(msg *proto.SyncResponse) error) error
	GetServerPublicKeyFunc func() (*wgtypes.Key, error)
	RegisterFunc           func(serverKey wgtypes.Key, setupKey string, info *system.Info) (*proto.LoginResponse, error)
	LoginFunc              func(serverKey wgtypes.Key) (*proto.LoginResponse, error)
}

func (*MockClient) Close added in v0.3.4

func (m *MockClient) Close() error

func (*MockClient) GetServerPublicKey added in v0.3.4

func (m *MockClient) GetServerPublicKey() (*wgtypes.Key, error)

func (*MockClient) Login added in v0.3.4

func (m *MockClient) Login(serverKey wgtypes.Key) (*proto.LoginResponse, error)

func (*MockClient) Register added in v0.3.4

func (m *MockClient) Register(serverKey wgtypes.Key, setupKey string, info *system.Info) (*proto.LoginResponse, error)

func (*MockClient) Sync added in v0.3.4

func (m *MockClient) Sync(msgHandler func(msg *proto.SyncResponse) error) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL