controllerutils

package
v1.17.1 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2021 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 28 Imported by: 23

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Now is a function for returning the current time.
	Now = time.Now
	// RandomDuration is a function for returning a random duration.
	RandomDuration = utils.RandomDuration
)

Functions

func AddTasks

func AddTasks(annotations map[string]string, tasksToAdd ...string)

AddTasks adds tasks to the ShootTasks annotation of the passed map.

func BackupBucketFilterFunc

func BackupBucketFilterFunc(ctx context.Context, c client.Client, seedName string, labelSelector *metav1.LabelSelector) func(obj interface{}) bool

BackupBucketFilterFunc returns a filtering func for the seeds and the given label selector.

func BackupEntryFilterFunc

func BackupEntryFilterFunc(ctx context.Context, c client.Client, seedName string, labelSelector *metav1.LabelSelector) func(obj interface{}) bool

BackupEntryFilterFunc returns a filtering func for the seeds and the given label selector.

func ControllerInstallationFilterFunc

func ControllerInstallationFilterFunc(seedName string, seedLister gardencorelisters.SeedLister, labelSelector *metav1.LabelSelector) func(obj interface{}) bool

ControllerInstallationFilterFunc returns a filtering func for the seeds and the given label selector.

func CreateWorker

func CreateWorker(ctx context.Context, queue workqueue.RateLimitingInterface, resourceType string, reconciler reconcile.Reconciler, waitGroup *sync.WaitGroup, workerCh chan int, injectFn ...inject.Func)

CreateWorker creates and runs a worker thread that just processes items in the specified queue. The worker will run until stopCh is closed. The worker will be added to the wait group when started and marked done when finished. The given context is injected into the `reconciler` if it implements `inject.Stoppable`. Optionally passed inject functions are called with the `reconciler` but potentially returned errors are disregarded.

func DeprecatedCreateWorker

func DeprecatedCreateWorker(ctx context.Context, queue workqueue.RateLimitingInterface, resourceType string, reconciler func(key string) error, waitGroup *sync.WaitGroup, workerCh chan int)

DeprecatedCreateWorker creates and runs a worker thread that just processes items in the specified queue. The worker will run until stopCh is closed. The worker will be added to the wait group when started and marked done when finished. Deprecated: Use CreateWorker instead.

func DetermineBackupBucketAssociations

func DetermineBackupBucketAssociations(ctx context.Context, c client.Client, seedName string) ([]string, error)

DetermineBackupBucketAssociations determine the BackupBucket resources which are associated to seed with name <seedName>

func DetermineBackupEntryAssociations

func DetermineBackupEntryAssociations(ctx context.Context, c client.Client, seedName string) ([]string, error)

DetermineBackupEntryAssociations determine the BackupEntry resources which are associated to seed with name <seedName>

func DetermineControllerInstallationAssociations

func DetermineControllerInstallationAssociations(ctx context.Context, c client.Client, seedName string) ([]string, error)

DetermineControllerInstallationAssociations determine the ControllerInstallation resources which are associated to seed with name <seedName>

func DetermineSecretBindingAssociations

func DetermineSecretBindingAssociations(quota *gardencorev1beta1.Quota, bindingLister gardencorelisters.SecretBindingLister) ([]string, error)

DetermineSecretBindingAssociations gets a <bindingLister> to determine the SecretBinding resources which are associated to given Quota <obj>.

func DetermineShootAssociations

func DetermineShootAssociations(ctx context.Context, c client.Client, seedName string) ([]string, error)

DetermineShootAssociations determine the Shoot resources which are associated to seed with name <seedName>

func DetermineShootsAssociatedTo

func DetermineShootsAssociatedTo(obj interface{}, shootLister gardencorelisters.ShootLister) ([]string, error)

DetermineShootsAssociatedTo gets a <shootLister> to determine the Shoots resources which are associated to given <obj> (either a CloudProfile a or a Seed object).

func EnsureFinalizer

func EnsureFinalizer(ctx context.Context, c client.Client, obj client.Object, finalizer string) error

EnsureFinalizer ensure the <finalizer> is present for the object.

func GetTasks added in v1.3.1

func GetTasks(annotations map[string]string) []string

GetTasks returns the list of tasks in the ShootTasks annotation.

func HasTask

func HasTask(annotations map[string]string, task string) bool

HasTask checks if the passed task is part of the ShootTasks annotation.

func LabelsMatchFor

func LabelsMatchFor(l map[string]string, labelSelector *metav1.LabelSelector) bool

LabelsMatchFor checks whether the given label selector matches for the given set of labels.

func PatchFinalizers added in v1.12.0

func PatchFinalizers(ctx context.Context, c client.Client, obj client.Object, finalizers ...string) error

PatchFinalizers adds the given finalizers to the object via a patch request.

func PatchRemoveFinalizers added in v1.12.0

func PatchRemoveFinalizers(ctx context.Context, c client.Client, obj client.Object, finalizers ...string) error

PatchRemoveFinalizers removes the given finalizers from the object via a patch request.

func ReconcileOncePer24hDuration added in v1.10.2

func ReconcileOncePer24hDuration(objectMeta metav1.ObjectMeta, observedGeneration int64, lastOperation *gardencorev1beta1.LastOperation) time.Duration

ReconcileOncePer24hDuration returns the duration until the next reconciliation should happen while respecting that only one reconciliation should happen per 24h. If the deletion timestamp is set or the generation has changed or the last operation does not indicate success or indicates that the last reconciliation happened more than 24h ago then 0 will be returned.

func RemoveAllTasks

func RemoveAllTasks(annotations map[string]string)

RemoveAllTasks removes the ShootTasks annotation from the passed map.

func RemoveFinalizer

func RemoveFinalizer(ctx context.Context, c client.Client, obj client.Object, finalizer string) error

RemoveFinalizer removes the <finalizer> from the object.

func RemoveGardenerFinalizer

func RemoveGardenerFinalizer(ctx context.Context, c client.Client, obj client.Object) error

RemoveGardenerFinalizer removes the gardener finalizer from the object.

func RemoveGardenerOperationAnnotation

func RemoveGardenerOperationAnnotation(ctx context.Context, backoff wait.Backoff, cli client.Client, obj client.Object) error

RemoveGardenerOperationAnnotation removes a gardener operation annotation and retries the operation with the given <backoff>.

func RemoveTasks added in v1.3.1

func RemoveTasks(annotations map[string]string, tasksToRemove ...string)

RemoveTasks removes tasks from the ShootTasks annotation of the passed map.

func SeedFilterFunc

func SeedFilterFunc(seedName string, labelSelector *metav1.LabelSelector) func(obj interface{}) bool

SeedFilterFunc returns a filtering func for the seeds and the given label selector.

func SeedLabelsMatch added in v1.1.0

func SeedLabelsMatch(seedLister gardencorelisters.SeedLister, seedName string, labelSelector *metav1.LabelSelector) bool

SeedLabelsMatch fetches the given seed via a lister by its name and then checks whether the given label selector matches the seed labels.

func ShootFilterFunc

func ShootFilterFunc(seedName string, seedLister gardencorelisters.SeedLister, labelSelector *metav1.LabelSelector) func(obj interface{}) bool

ShootFilterFunc returns a filtering func for the seeds and the given label selector.

func ShootIsManagedByThisGardenlet added in v1.15.0

func ShootIsManagedByThisGardenlet(shoot *gardencorev1beta1.Shoot, gc *config.GardenletConfiguration, seedLister gardencorelisters.SeedLister) bool

ShootIsManagedByThisGardenlet checks if the given shoot is managed by this gardenlet by comparing it with the seed name from the GardenletConfiguration or by checking whether the seed labels mathes the seed seoector from the GardenletConfiguration.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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