nodeportproxy

package
v3.0.0-...-d6c4d9c Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// NodePortProxyExposeNamespacedAnnotationKey is the annotation key used to indicate that
	// a service should be exposed by the namespaced NodeportProxy instance.
	// We use it when clusters get exposed via a LoadBalancer, to allow re-using that LoadBalancer
	// for both the kube-apiserver and the openVPN server.
	NodePortProxyExposeNamespacedAnnotationKey = "nodeport-proxy.k8s.io/expose-namespaced"
	DefaultExposeAnnotationKey                 = "nodeport-proxy.k8s.io/expose"
	// PortHostMappingAnnotationKey contains the mapping between the port to be
	// exposed and the hostname, this is only used when the ExposeType is
	// SNIType.
	PortHostMappingAnnotationKey = "nodeport-proxy.k8s.io/port-mapping"
)

Variables

This section is empty.

Functions

func DeploymentEnvoyReconciler

func DeploymentEnvoyReconciler(data nodePortProxyData) reconciling.NamedDeploymentReconcilerFactory

func DeploymentLBUpdaterReconciler

func DeploymentLBUpdaterReconciler(data nodePortProxyData) reconciling.NamedDeploymentReconcilerFactory

func FrontLoadBalancerServiceReconciler

func FrontLoadBalancerServiceReconciler(data *resources.TemplateData) reconciling.NamedServiceReconcilerFactory

FrontLoadBalancerServiceReconciler returns the creator for the LoadBalancer that fronts apiserver and openVPN when using exposeStrategy=LoadBalancer.

func RoleBindingReconciler

func RoleBindingReconciler() (string, reconciling.RoleBindingReconciler)

func RoleReconciler

func RoleReconciler() (string, reconciling.RoleReconciler)

func ServiceAccountReconciler

func ServiceAccountReconciler() (string, reconciling.ServiceAccountReconciler)

Types

type ExposeType

type ExposeType int

ExposeType defines the strategy used to expose the service.

const (
	// NodePortType is the default ExposeType which creates a listener for each
	// NodePort.
	NodePortType ExposeType = iota
	// SNIType configures Envoy to route TLS streams based on SNI
	// without terminating them.
	SNIType
	// TunnelingType configures Envoy to terminate the tunnel and stream the
	// data to the destination.
	// The only supported tunneling technique at the moment in HTTP/2 Connect.
	TunnelingType
)

func ExposeTypeFromString

func ExposeTypeFromString(s string) (ExposeType, bool)

ExposeTypeFromString returns the ExposeType which string representation corresponds to the input string, and a boolean indicating whether the corresponding ExposeType was found or not.

func (ExposeType) String

func (e ExposeType) String() string

String returns the string representation of the ExposeType.

type ExposeTypes

type ExposeTypes map[ExposeType]sets.Empty

func NewExposeTypes

func NewExposeTypes(exposeTypes ...ExposeType) ExposeTypes

func (ExposeTypes) Has

func (e ExposeTypes) Has(item ExposeType) bool

func (ExposeTypes) Insert

func (e ExposeTypes) Insert(item ExposeType)

Jump to

Keyboard shortcuts

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