Documentation ¶
Index ¶
- Constants
- func Add(mgr manager.Manager, args AddArgs) error
- func ClusterToInfrastructureMapper(client client.Client, predicates []predicate.Predicate) handler.Mapper
- func DefaultPredicates(client client.Client, typeName string, ignoreOperationAnnotation bool) []predicate.Predicate
- func NewReconciler(mgr manager.Manager, actuator Actuator) reconcile.Reconciler
- func OperationAnnotationPredicate() predicate.Predicate
- func SecretToInfrastructureMapper(client client.Client, predicates []predicate.Predicate) handler.Mapper
- type Actuator
- type AddArgs
- type ReconcilerConfig
- type ReconcilerOptions
Constants ¶
const ( // FinalizerName is the infrastructure controller finalizer. FinalizerName = "extensions.gardener.cloud/infrastructure" // ControllerName is the name of the controller. ControllerName = "infrastructure-controller" )
const ( // EventInfrastructureReconciliation an event reason to describe infrastructure reconciliation. EventInfrastructureReconciliation string = "InfrastructureReconciliation" // EventInfrastructureDeleton an event reason to describe infrastructure deletion. EventInfrastructureDeleton string = "InfrastructureDeleton" )
const ( // IgnoreOperationAnnotationFlag is the name of the command line flag to specify whether the operation annotation // is ignored or not. IgnoreOperationAnnotationFlag = "ignore-operation-annotation" )
Variables ¶
This section is empty.
Functions ¶
func Add ¶
Add creates a new Infrastructure Controller and adds it to the Manager. and Start it when the Manager is Started.
func ClusterToInfrastructureMapper ¶
func ClusterToInfrastructureMapper(client client.Client, predicates []predicate.Predicate) handler.Mapper
ClusterToInfrastructureMapper returns a mapper that returns requests for Infrastructures whose referenced clusters have been modified.
func DefaultPredicates ¶
func DefaultPredicates(client client.Client, typeName string, ignoreOperationAnnotation bool) []predicate.Predicate
DefaultPredicates returns the default predicates for an infrastructure reconciler.
func NewReconciler ¶
func NewReconciler(mgr manager.Manager, actuator Actuator) reconcile.Reconciler
NewReconciler creates a new reconcile.Reconciler that reconciles infrastructure resources of Gardener's `extensions.gardener.cloud` API group.
func OperationAnnotationPredicate ¶
OperationAnnotationPredicate is a predicate for the operation annotation.
Types ¶
type Actuator ¶
type Actuator interface { // Reconcile the Infrastructure config. Reconcile(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error // Delete the Infrastructure config. Delete(context.Context, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error }
Actuator acts upon Infrastructure resources.
func OperationAnnotationWrapper ¶
OperationAnnotationWrapper is a wrapper for an actuator that, after a successful reconcile, removes the Gardener operation annotation.
This is useful in conjunction with the OperationAnnotationPredicate.
type AddArgs ¶
type AddArgs struct { // Actuator is an infrastructure 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 // WatchBuilder defines additional watches on controllers that should be set up. WatchBuilder extensionscontroller.WatchBuilder }
AddArgs are arguments for adding an infrastructure controller to a manager.
type ReconcilerConfig ¶
type ReconcilerConfig struct { // IgnoreOperationAnnotation defines whether to ignore the operation annotation or not. IgnoreOperationAnnotation bool }
ReconcilerConfig is a completed controller configuration.
func (*ReconcilerConfig) Apply ¶
func (c *ReconcilerConfig) Apply(ignore *bool)
Apply sets the values of this ReconcilerConfig in the given controller.Options.
type ReconcilerOptions ¶
type ReconcilerOptions struct { // IgnoreOperationAnnotation defines whether to ignore the operation annotation or not. IgnoreOperationAnnotation bool // contains filtered or unexported fields }
ReconcilerOptions are command line options that can be set for controller.Options.
func (*ReconcilerOptions) AddFlags ¶
func (c *ReconcilerOptions) AddFlags(fs *pflag.FlagSet)
AddFlags implements Flagger.AddFlags.
func (*ReconcilerOptions) Complete ¶
func (c *ReconcilerOptions) Complete() error
Complete implements Completer.Complete.
func (*ReconcilerOptions) Completed ¶
func (c *ReconcilerOptions) Completed() *ReconcilerConfig
Completed returns the completed ReconcilerConfig. Only call this if `Complete` was successful.