tunnel

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package tunnel specifies the interface that has to be implemented by the different vpn technologies.

Index

Constants

This section is empty.

Variables

View Source
var Drivers = map[string]DriverCreateFunc{}

Drivers static map of supported drivers.

Functions

func AddDriver

func AddDriver(name string, driverCreate DriverCreateFunc)

AddDriver adds a supported driver to the drivers map, prints a fatal error in the case of double registration.

Types

type Config added in v0.3.1

type Config struct {
	MTU           int
	ListeningPort int
}

Config configuration for tunnel drivers passed during the creation.

type Driver

type Driver interface {
	Init() error

	ConnectToEndpoint(ctx context.Context, tep *netv1alpha1.TunnelEndpoint, updateStatus conncheck.UpdateFunc) (*netv1alpha1.Connection, error)

	DisconnectFromEndpoint(tep *netv1alpha1.TunnelEndpoint) error

	GetLink() netlink.Link

	Close() error

	prometheus.Collector
}

Driver the interface needed to be implemented by new vpn drivers.

type DriverCreateFunc

type DriverCreateFunc func(k8sClientset k8s.Interface, namespace string, config Config) (Driver, error)

DriverCreateFunc function prototype to create a new driver.

Directories

Path Synopsis
Package metrics provides a set of metrics for the VPN tunnel.
Package metrics provides a set of metrics for the VPN tunnel.
Package resolver implements the resolver used to resolve hostnames to IP addresses.
Package resolver implements the resolver used to resolve hostnames to IP addresses.
Package wireguard implements the Wireguard tunnels to be used as vpn technology to interconnect clusters.
Package wireguard implements the Wireguard tunnels to be used as vpn technology to interconnect clusters.

Jump to

Keyboard shortcuts

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