Documentation
¶
Index ¶
- Constants
- func Add(mgr manager.Manager, args AddArgs) error
- func ClusterToControlPlaneMapper(reader client.Reader, predicates []predicate.Predicate) handler.MapFunc
- func ComputeChecksums(secrets map[string]*corev1.Secret, cms map[string]*corev1.ConfigMap) map[string]string
- func DefaultPredicates(ctx context.Context, mgr manager.Manager, ignoreOperationAnnotation bool) []predicate.Predicate
- func MergeSecretMaps(a, b map[string]*corev1.Secret) map[string]*corev1.Secret
- func NewReconciler(mgr manager.Manager, actuator Actuator) reconcile.Reconciler
- type Actuator
- type AddArgs
Constants ¶
const ( // FinalizerName is the ControlPlane controller finalizer. FinalizerName = "extensions.gardener.cloud/controlplane" // ControllerName is the name of the controller ControllerName = "controlplane" )
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 ¶
Add creates a new ControlPlane Controller and adds it to the Manager. and Start it when the Manager is Started.
func ClusterToControlPlaneMapper ¶
func ClusterToControlPlaneMapper(reader client.Reader, predicates []predicate.Predicate) handler.MapFunc
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 ¶
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
// ExtensionClasses defines the extension classes this controller is responsible for.
ExtensionClasses []extensionsv1alpha1.ExtensionClass
}
AddArgs are arguments for adding a ControlPlane controller to a manager.