Documentation ¶
Index ¶
- Constants
- func Add(ctx context.Context, mgr manager.Manager, args AddArgs) error
- func ClusterToInfrastructureMapper(mgr manager.Manager, predicates []predicate.Predicate) mapper.Mapper
- func DefaultPredicates(ctx context.Context, mgr manager.Manager, ignoreOperationAnnotation bool) []predicate.Predicate
- func NewReconciler(mgr manager.Manager, actuator Actuator, configValidator ConfigValidator, ...) reconcile.Reconciler
- type Actuator
- type AddArgs
- type ConfigValidator
Constants ¶
const ( // FinalizerName is the infrastructure controller finalizer. FinalizerName = "extensions.gardener.cloud/infrastructure" // ControllerName is the name of the controller. ControllerName = "infrastructure" )
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(mgr manager.Manager, predicates []predicate.Predicate) mapper.Mapper
ClusterToInfrastructureMapper returns a mapper that returns requests for Infrastructures whose referenced clusters have been modified.
func DefaultPredicates ¶
func DefaultPredicates(ctx context.Context, mgr manager.Manager, ignoreOperationAnnotation bool) []predicate.Predicate
DefaultPredicates returns the default predicates for an infrastructure reconciler.
func NewReconciler ¶
func NewReconciler(mgr manager.Manager, actuator Actuator, configValidator ConfigValidator, knownCodes map[gardencorev1beta1.ErrorCode]func(string) bool) reconcile.Reconciler
NewReconciler creates a new reconcile.Reconciler that reconciles infrastructure resources of Gardener's `extensions.gardener.cloud` API group.
Types ¶
type Actuator ¶
type Actuator interface { // Reconcile the Infrastructure config. Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error // Delete the Infrastructure config. Delete(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error // ForceDelete forcefully deletes the Infrastructure config. ForceDelete(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error // Restore takes the state of the Infrastructure resource and applies it to the terraform pod's output state Restore(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error // Migrate deletes the terraform k8s resources without deleting the corresponding resources in the IaaS provider Migrate(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error }
Actuator acts upon Infrastructure resources.
type AddArgs ¶
type AddArgs struct { // Actuator is an infrastructure actuator. Actuator Actuator // ConfigValidator is an infrastructure config validator. ConfigValidator ConfigValidator // 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 // WatchBuilder defines additional watches on controllers that should be set up. WatchBuilder extensionscontroller.WatchBuilder // 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 // KnownCodes is a map of known error codes and their respective error check functions. KnownCodes map[gardencorev1beta1.ErrorCode]func(string) bool }
AddArgs are arguments for adding an infrastructure controller to a manager.
type ConfigValidator ¶ added in v1.31.0
type ConfigValidator interface { // Validate validates the provider config of the given infrastructure resource with the cloud provider. // If the returned error list is non-empty, the reconciliation will fail with an error. // This error will have the error code ERR_CONFIGURATION_PROBLEM, unless there is at least one error in the list // that has its ErrorType field set to field.ErrorTypeInternal. Validate(ctx context.Context, infra *extensionsv1alpha1.Infrastructure) field.ErrorList }
ConfigValidator validates the provider config of infrastructures resource with the cloud provider.