genericmutator

package
v1.70.2 Latest Latest
Warning

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

Go to latest
Published: May 11, 2023 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 22 Imported by: 34

Documentation

Index

Constants

View Source
const CloudProviderConfigPath = "/var/lib/kubelet/cloudprovider.conf"

CloudProviderConfigPath is the path to the cloudprovider.conf kubelet configuration file.

Variables

This section is empty.

Functions

func NewMutator

func NewMutator(
	ensurer Ensurer,
	unitSerializer utils.UnitSerializer,
	kubeletConfigCodec kubelet.ConfigCodec,
	fciCodec utils.FileContentInlineCodec,
	logger logr.Logger,
) extensionswebhook.Mutator

NewMutator creates a new controlplane mutator.

Types

type Ensurer

type Ensurer interface {
	// EnsureKubeAPIServerService ensures that the kube-apiserver service conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubeAPIServerService(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *corev1.Service) error
	// EnsureKubeAPIServerDeployment ensures that the kube-apiserver deployment conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubeAPIServerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error
	// EnsureKubeControllerManagerDeployment ensures that the kube-controller-manager deployment conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubeControllerManagerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error
	// EnsureKubeSchedulerDeployment ensures that the kube-scheduler deployment conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubeSchedulerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error
	// EnsureClusterAutoscalerDeployment ensures that the cluster-autoscaler deployment conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureClusterAutoscalerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error
	// EnsureETCD ensures that the etcds conform to the respective provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureETCD(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *druidv1alpha1.Etcd) error
	// EnsureVPNSeedServerDeployment ensures that the vpn-seed-server deployment conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureVPNSeedServerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error
	// EnsureKubeletServiceUnitOptions ensures that the kubelet.service unit options conform to the provider requirements.
	EnsureKubeletServiceUnitOptions(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, new, old []*unit.UnitOption) ([]*unit.UnitOption, error)
	// EnsureKubeletConfiguration ensures that the kubelet configuration conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubeletConfiguration(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, new, old *kubeletconfigv1beta1.KubeletConfiguration) error
	// ShouldProvisionKubeletCloudProviderConfig returns true if the cloud provider config file should be added to the kubelet configuration.
	ShouldProvisionKubeletCloudProviderConfig(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version) bool
	// EnsureKubeletCloudProviderConfig ensures that the cloud provider config file content conforms to the provider requirements.
	EnsureKubeletCloudProviderConfig(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, configContent *string, namespace string) error
	// EnsureKubernetesGeneralConfiguration ensures that the kubernetes general configuration conforms to the provider requirements.
	// "old" might be "nil" and must always be checked.
	EnsureKubernetesGeneralConfiguration(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *string) error
	// EnsureAdditionalUnits ensures additional systemd units
	// "old" might be "nil" and must always be checked.
	EnsureAdditionalUnits(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *[]extensionsv1alpha1.Unit) error
	// EnsureAdditionalFiles ensures additional systemd files
	// "old" might be "nil" and must always be checked.
	EnsureAdditionalFiles(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *[]extensionsv1alpha1.File) error
}

Ensurer ensures that various standard Kubernets controlplane objects conform to the provider requirements. If they don't initially, they are mutated accordingly.

type NoopEnsurer

type NoopEnsurer struct{}

NoopEnsurer provides no-op implementation of Ensurer. This can be anonymously composed by actual Ensurers for convenience.

func (*NoopEnsurer) EnsureAdditionalFiles

func (e *NoopEnsurer) EnsureAdditionalFiles(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *[]extensionsv1alpha1.File) error

EnsureAdditionalFiles ensures that additional required system files are added.

func (*NoopEnsurer) EnsureAdditionalUnits

func (e *NoopEnsurer) EnsureAdditionalUnits(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *[]extensionsv1alpha1.Unit) error

EnsureAdditionalUnits ensures that additional required system units are added.

func (*NoopEnsurer) EnsureClusterAutoscalerDeployment added in v1.48.0

func (e *NoopEnsurer) EnsureClusterAutoscalerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error

EnsureClusterAutoscalerDeployment ensures that the cluster-autoscaler deployment conforms to the provider requirements.

func (*NoopEnsurer) EnsureETCD

EnsureETCD ensures that the etcd stateful sets conform to the provider requirements.

func (*NoopEnsurer) EnsureKubeAPIServerDeployment

func (e *NoopEnsurer) EnsureKubeAPIServerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error

EnsureKubeAPIServerDeployment ensures that the kube-apiserver deployment conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeAPIServerService

func (e *NoopEnsurer) EnsureKubeAPIServerService(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *corev1.Service) error

EnsureKubeAPIServerService ensures that the kube-apiserver service conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeControllerManagerDeployment

func (e *NoopEnsurer) EnsureKubeControllerManagerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error

EnsureKubeControllerManagerDeployment ensures that the kube-controller-manager deployment conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeSchedulerDeployment

func (e *NoopEnsurer) EnsureKubeSchedulerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error

EnsureKubeSchedulerDeployment ensures that the kube-scheduler deployment conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeletCloudProviderConfig

func (e *NoopEnsurer) EnsureKubeletCloudProviderConfig(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, configContent *string, namespace string) error

EnsureKubeletCloudProviderConfig ensures that the cloud provider config file conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeletConfiguration

func (e *NoopEnsurer) EnsureKubeletConfiguration(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, new, old *kubeletconfigv1beta1.KubeletConfiguration) error

EnsureKubeletConfiguration ensures that the kubelet configuration conforms to the provider requirements.

func (*NoopEnsurer) EnsureKubeletServiceUnitOptions

func (e *NoopEnsurer) EnsureKubeletServiceUnitOptions(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version, new, old []*unit.UnitOption) ([]*unit.UnitOption, error)

EnsureKubeletServiceUnitOptions ensures that the kubelet.service unit options conform to the provider requirements.

func (*NoopEnsurer) EnsureKubernetesGeneralConfiguration

func (e *NoopEnsurer) EnsureKubernetesGeneralConfiguration(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *string) error

EnsureKubernetesGeneralConfiguration ensures that the kubernetes general configuration conforms to the provider requirements.

func (*NoopEnsurer) EnsureVPNSeedServerDeployment added in v1.30.0

func (e *NoopEnsurer) EnsureVPNSeedServerDeployment(ctx context.Context, gctx extensionscontextwebhook.GardenContext, new, old *appsv1.Deployment) error

EnsureVPNSeedServerDeployment ensures that the vpn-seed-server deployment conforms to the provider requirements.

func (*NoopEnsurer) ShouldProvisionKubeletCloudProviderConfig

func (e *NoopEnsurer) ShouldProvisionKubeletCloudProviderConfig(ctx context.Context, gctx extensionscontextwebhook.GardenContext, kubeletVersion *semver.Version) bool

ShouldProvisionKubeletCloudProviderConfig returns if the cloud provider config file should be added to the kubelet configuration.

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