agent

package
v1.12.2 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: Apache-2.0 Imports: 29 Imported by: 1

Documentation

Overview

This package contains the agent code used to configure the Wireguard tunnel between nodes. The code supports adding and removing peers at run-time and the peer information is retrieved via the CiliumNode object.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	lock.RWMutex
	// contains filtered or unexported fields
}

Agent needs to be initialized with Init(). In Init(), the Wireguard tunnel device will be created and the proper routes set. During Init(), existing peer keys are placed into `restoredPubKeys`. Once RestoreFinished() is called obsolete keys and peers are removed. UpdatePeer() inserts or updates the public key of peer discovered via the node manager.

func NewAgent

func NewAgent(privKeyPath string) (*Agent, error)

NewAgent creates a new Wireguard Agent

func (*Agent) Close

func (a *Agent) Close() error

Close is called when the agent stops

func (*Agent) DeletePeer

func (a *Agent) DeletePeer(nodeName string) error

func (*Agent) Init

func (a *Agent) Init(ipcache *ipcache.IPCache, mtuConfig mtu.Configuration) error

Init creates and configures the local WireGuard tunnel device.

func (*Agent) OnIPIdentityCacheChange

func (a *Agent) OnIPIdentityCacheChange(modType ipcache.CacheModification, ipnet net.IPNet, oldHostIP, newHostIP net.IP,
	_ *ipcache.Identity, _ ipcache.Identity, _ uint8, _ *ipcache.K8sMetadata)

OnIPIdentityCacheChange implements ipcache.IPIdentityMappingListener

func (*Agent) OnIPIdentityCacheGC

func (a *Agent) OnIPIdentityCacheGC()

OnIPIdentityCacheGC implements ipcache.IPIdentityMappingListener

func (*Agent) RestoreFinished

func (a *Agent) RestoreFinished() error

func (*Agent) Status

func (a *Agent) Status(withPeers bool) (*models.WireguardStatus, error)

Status returns the state of the Wireguard tunnel managed by this instance. If withPeers is true, then the details about each connected peer are are populated as well.

func (*Agent) UpdatePeer

func (a *Agent) UpdatePeer(nodeName, pubKeyHex string, nodeIPv4, nodeIPv6 net.IP) error

Jump to

Keyboard shortcuts

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