seedserver

package
v1.105.2 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// GatewayPort is the port exposed by the istio ingress gateway
	GatewayPort = 8132
	// SecretNameTLSAuth is the name of seed server tlsauth Secret.
	SecretNameTLSAuth = "vpn-seed-server-tlsauth" // #nosec G101 -- No credential.

	// ServiceName is the name of the vpn seed server service running internally on the control plane in seed.
	ServiceName = deploymentName
	// EnvoyPort is the port exposed by the envoy proxy on which it receives http proxy/connect requests.
	EnvoyPort = 9443
	// OpenVPNPort is the port exposed by the vpn seed server for tcp tunneling.
	OpenVPNPort = 1194
	// HighAvailabilityReplicaCount is the replica count used when highly available VPN is configured.
	HighAvailabilityReplicaCount = 2
)

Variables

This section is empty.

Functions

func CentralLoggingConfiguration

func CentralLoggingConfiguration() (component.CentralLoggingConfig, error)

CentralLoggingConfiguration returns a fluent-bit parser and filter for the kube-apiserver logs.

Types

type Interface

type Interface interface {
	component.DeployWaiter

	SetNodeNetworkCIDRs(nodes []net.IPNet)
	SetServiceNetworkCIDRs(services []net.IPNet)
	SetPodNetworkCIDRs(pods []net.IPNet)
	// SetSeedNamespaceObjectUID sets UID for the namespace
	SetSeedNamespaceObjectUID(namespaceUID types.UID)

	// GetValues returns the current configuration values of the deployer.
	GetValues() Values
}

Interface contains functions for a vpn-seed-server deployer.

func New

func New(
	client client.Client,
	namespace string,
	secretsManager secretsmanager.Interface,
	istioNamespaceFunc func() string,
	values Values,
) Interface

New creates a new instance of DeployWaiter for the vpn-seed-server.

type NetworkValues

type NetworkValues struct {
	// PodCIDRs are the CIDRs of the pod network.
	PodCIDRs []net.IPNet
	// ServiceCIDR are the CIDRs of the service network.
	ServiceCIDRs []net.IPNet
	// NodeCIDRs are the CIDRs of the node network.
	NodeCIDRs []net.IPNet
	// IPFamilies are the IPFamilies of the shoot
	IPFamilies []gardencorev1beta1.IPFamily
}

NetworkValues contains the configuration values for the network.

type Values

type Values struct {
	// RuntimeKubernetesVersion is the Kubernetes version of the runtime cluster.
	RuntimeKubernetesVersion *semver.Version
	// ImageAPIServerProxy is the image name of the apiserver-proxy.
	ImageAPIServerProxy string
	// ImageVPNSeedServer is the image name of the vpn-seed-server.
	ImageVPNSeedServer string
	// KubeAPIServerHost is the FQDN of the kube-apiserver.
	KubeAPIServerHost *string
	// Network contains the configuration values for the network.
	Network NetworkValues
	// Replicas is the number of deployment replicas.
	Replicas int32
	// HighAvailabilityEnabled marks whether HA is enabled for VPN.
	HighAvailabilityEnabled bool
	// HighAvailabilityNumberOfSeedServers is the number of VPN seed servers used for HA.
	HighAvailabilityNumberOfSeedServers int
	// HighAvailabilityNumberOfShootClients is the number of VPN shoot clients used for HA.
	HighAvailabilityNumberOfShootClients int
	// VPAUpdateDisabled indicates whether the vertical pod autoscaler update should be disabled.
	VPAUpdateDisabled bool
	// DisableNewVPN disable new VPN implementation.
	// TODO(MartinWeindel) Remove after feature gate `NewVPN` gets promoted to GA.
	DisableNewVPN bool
}

Values is a set of configuration values for the VPNSeedServer component.

Directories

Path Synopsis
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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