infrastructure

package
v0.0.0-...-ac903f2 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2019 License: Apache-2.0, MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// FinalizerName is the infrastructure controller finalizer.
	FinalizerName = "extensions.gardener.cloud/infrastructure"
	// ControllerName is the name of the controller.
	ControllerName = "infrastructure-controller"
)
View Source
const (
	// EventInfrastructureReconciliation an event reason to describe infrastructure reconciliation.
	EventInfrastructureReconciliation string = "InfrastructureReconciliation"
	// EventInfrastructureDeleton an event reason to describe infrastructure deletion.
	EventInfrastructureDeleton string = "InfrastructureDeleton"
)
View Source
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

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

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

func OperationAnnotationPredicate() predicate.Predicate

OperationAnnotationPredicate is a predicate for the operation annotation.

func SecretToInfrastructureMapper

func SecretToInfrastructureMapper(client client.Client, predicates []predicate.Predicate) handler.Mapper

SecretToInfrastructureMapper returns a mapper that returns requests for Infrastructures whose referenced secrets have been modified.

func TypePredicate

func TypePredicate(typeName string) predicate.Predicate

TypePredicate filters the incoming Infrastructure resources for ones that have the same type as the given type.

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

func OperationAnnotationWrapper(actuator Actuator) Actuator

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
	// WantsClusterWatch specifies whether the infrastructure actuator requests to have
	// a watch on `Cluster` objects (which will result into mapping and automatic requeuing
	// of `Infrastructure` objects).
	WantsClusterWatch bool
}

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.

Jump to

Keyboard shortcuts

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