controller

package
v0.0.0-...-b08a6ad Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2023 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// NodeName is the name of the k8s node this instance is running on
	NodeName string

	// Namespace is the kubernetes namespace to use for syncing wormhole objects
	Namespace string

	// OverlayCIDR is the IP network in CIDR format for the entire overlay network
	OverlayCIDR string

	// NodeCIDR is the IP network in CIDR format assigned to this node
	NodeCIDR string

	// ListenPort is the external port wireguard should listen on between hosts
	ListenPort int

	// WireguardIface is the name of the wireguard interface for encrypted node to node traffic
	WireguardIface string

	// BridgeIface is the name of the linux bridge to create internal to the host
	BridgeIface string

	// Kubeconfig path is the path to a kubeconfig file to access the kubernetes API
	KubeconfigPath string

	// SyncInterval is how frequently to re-sync state between each component
	SyncInterval time.Duration

	// Endpoint is the networking address that is available for routing between all wireguard nodes
	// In general this should be the same as the AdvertiseIP Address of the node
	Endpoint string

	// BridgeMTU is the MTU value to assign to the internal linux bridge
	BridgeMTU int
}

type Controller

type Controller interface {
	Run(context.Context) error
}

func New

func New(config Config, logger logrus.FieldLogger) (Controller, error)

Jump to

Keyboard shortcuts

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