controller

package
v0.55.1 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 65 Imported by: 0

Documentation

Overview

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Package controller is used to provide the core functionalities of machine-controller-manager

Index

Constants

View Source
const (
	// MCMFinalizerName is the finalizer used to tag dependecies before deletion
	// of the object. This finalizer is carried over from the MCM
	MCMFinalizerName = "machine.sapcloud.io/machine-controller-manager"
	// MCFinalizerName is the finalizer created for the external
	// machine controller to differentiate it from the MCMFinalizerName
	// This finalizer is added only on secret-objects to avoid race between in-tree and out-of-tree controllers.
	// This is a stopgap solution to resolve: https://github.com/gardener/machine-controller-manager/issues/486.
	MCFinalizerName = "machine.sapcloud.io/machine-controller"
)
View Source
const (
	// BootstrapTokenPlaceholder is a placeholder that can be used in userdata to be replaced with the actual bootstrap token.
	BootstrapTokenPlaceholder = "<<BOOTSTRAP_TOKEN>>" // #nosec G101 -- No credential.
	// MachineNamePlaceholder is a placeholder that can be used in userdata to be replaced with the actual machine name.
	MachineNamePlaceholder = "<<MACHINE_NAME>>" // #nosec G101 -- No credential.
)

Variables

This section is empty.

Functions

func SyncMachineAnnotations

func SyncMachineAnnotations(
	machine *v1alpha1.Machine,
	node *v1.Node,
	lastAppliedAnnotations map[string]string,
) bool

SyncMachineAnnotations syncs the annotations of the machine with node-objects. It returns true if update is needed else false.

func SyncMachineLabels

func SyncMachineLabels(
	machine *v1alpha1.Machine,
	node *v1.Node,
	lastAppliedLabels map[string]string,
) bool

SyncMachineLabels syncs the labels of the machine with node-objects. It returns true if update is needed else false.

func SyncMachineTaints

func SyncMachineTaints(
	machine *v1alpha1.Machine,
	node *v1.Node,
	lastAppliedTaints []v1.Taint,
) bool

SyncMachineTaints syncs the taints of the machine with node-objects. It returns true if update is needed else false.

Types

type Controller

type Controller interface {
	// Run runs the controller until the given stop channel can be read from.
	// workers specifies the number of goroutines, per resource, processing work
	// from the resource workqueues
	Run(workers int, stopCh <-chan struct{})
}

Controller describes a controller for

func NewController

func NewController(
	namespace string,
	controlMachineClient machineapi.MachineV1alpha1Interface,
	controlCoreClient kubernetes.Interface,
	targetCoreClient kubernetes.Interface,
	driver driver.Driver,
	pvcInformer coreinformers.PersistentVolumeClaimInformer,
	pvInformer coreinformers.PersistentVolumeInformer,
	secretInformer coreinformers.SecretInformer,
	nodeInformer coreinformers.NodeInformer,
	podInformer coreinformers.PodInformer,
	pdbInformer policyv1informers.PodDisruptionBudgetInformer,
	volumeAttachmentInformer storageinformers.VolumeAttachmentInformer,
	machineClassInformer machineinformers.MachineClassInformer,
	machineInformer machineinformers.MachineInformer,
	recorder record.EventRecorder,
	safetyOptions options.SafetyOptions,
	nodeConditions string,
	bootstrapTokenAuthExtraGroups string,
	targetKubernetesVersion *semver.Version,
) (Controller, error)

NewController returns a new Node controller.

Jump to

Keyboard shortcuts

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