controlplane

package
v1.101.0 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2024 License: Apache-2.0 Imports: 25 Imported by: 28

Documentation

Index

Constants

View Source
const (
	// FinalizerName is the ControlPlane controller finalizer.
	FinalizerName = "extensions.gardener.cloud/controlplane"
	// ControllerName is the name of the controller
	ControllerName = "controlplane"
)
View Source
const RequeueAfter = 2 * time.Second

RequeueAfter is the duration to requeue a controlplane reconciliation if indicated by the actuator.

Variables

This section is empty.

Functions

func Add

func Add(ctx context.Context, mgr manager.Manager, args AddArgs) error

Add creates a new ControlPlane Controller and adds it to the Manager. and Start it when the Manager is Started.

func ClusterToControlPlaneMapper

func ClusterToControlPlaneMapper(mgr manager.Manager, predicates []predicate.Predicate) mapper.Mapper

ClusterToControlPlaneMapper returns a mapper that returns requests for ControlPlanes whose referenced clusters have been modified.

func ComputeChecksums

func ComputeChecksums(secrets map[string]*corev1.Secret, cms map[string]*corev1.ConfigMap) map[string]string

ComputeChecksums computes and returns SAH256 checksums for the given secrets and configmaps.

func DefaultPredicates

func DefaultPredicates(ctx context.Context, mgr manager.Manager, ignoreOperationAnnotation bool) []predicate.Predicate

DefaultPredicates returns the default predicates for a controlplane reconciler.

func MergeSecretMaps

func MergeSecretMaps(a, b map[string]*corev1.Secret) map[string]*corev1.Secret

MergeSecretMaps merges the 2 given secret maps.

func NewReconciler

func NewReconciler(mgr manager.Manager, actuator Actuator) reconcile.Reconciler

NewReconciler creates a new reconcile.Reconciler that reconciles controlplane resources of Gardener's `extensions.gardener.cloud` API group.

Types

type Actuator

type Actuator interface {
	// Reconcile reconciles the ControlPlane.
	Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
	// Delete deletes the ControlPlane.
	Delete(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
	// ForceDelete forcefully deletes the ControlPlane.
	ForceDelete(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
	// Restore restores the ControlPlane.
	Restore(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) (bool, error)
	// Migrate migrates the ControlPlane.
	Migrate(context.Context, logr.Logger, *extensionsv1alpha1.ControlPlane, *extensionscontroller.Cluster) error
}

Actuator acts upon ControlPlane resources.

type AddArgs

type AddArgs struct {
	// Actuator is a controlplane actuator.
	Actuator Actuator
	// ControllerOptions are the controller options used for creating a controller.
	// The options.Reconciler is always overridden with a reconciler created from the
	// given actuator.
	ControllerOptions controller.Options
	// Predicates are the predicates to use.
	// If unset, GenerationChangedPredicate will be used.
	Predicates []predicate.Predicate
	// Type is the type of the resource considered for reconciliation.
	Type string
	// IgnoreOperationAnnotation specifies whether to ignore the operation annotation or not.
	// If the annotation is not ignored, the extension controller will only reconcile
	// with a present operation annotation typically set during a reconcile (e.g. in the maintenance time) by the Gardenlet
	IgnoreOperationAnnotation bool
	// ExtensionClass defines the extension class this extension is responsible for.
	ExtensionClass extensionsv1alpha1.ExtensionClass
}

AddArgs are arguments for adding a ControlPlane controller to a manager.

Directories

Path Synopsis
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
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