controllerregistration

package
v1.52.2 Latest Latest
Warning

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

Go to latest
Published: Aug 4, 2022 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 32 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// FinalizerName is the finalizer used by this controller.
	FinalizerName = "core.gardener.cloud/controllerregistration"

	// ControllerName is the name of this controller.
	ControllerName = "controllerregistration"
)

Variables

This section is empty.

Functions

func NewControllerRegistrationFinalizerReconciler added in v1.39.0

func NewControllerRegistrationFinalizerReconciler(gardenClient client.Client) reconcile.Reconciler

NewControllerRegistrationFinalizerReconciler creates a new reconciler that manages the finalizer on ControllerRegistration objects depending on whether ControllerInstallation objects exist in the system. It basically protects ControllerRegistrations from being deleted, if there are still ControllerInstallations referencing it.

func NewSeedFinalizerReconciler added in v1.39.0

func NewSeedFinalizerReconciler(gardenClient client.Client) reconcile.Reconciler

NewSeedFinalizerReconciler creates a new reconciler that manages the finalizer on Seed objects depending on whether ControllerInstallation objects exist in the system. It basically protects Seeds from being deleted, if there are still ControllerInstallations referencing it, to make sure we are able to cleanup ControllerInstallation objects of terminating Seeds.

func NewSeedReconciler added in v1.22.0

func NewSeedReconciler(gardenClient client.Client, apiReader client.Reader) reconcile.Reconciler

NewSeedReconciler creates a new reconciler which determines which ControllerRegistrations are required for a given Seed by checking all objects in the garden cluster, that need to be considered for that Seed (e.g. because they reference the Seed). It then deploys wanted and deletes unneeded ControllerInstallations accordingly. Seeds get enqueued by updates to relevant (referencing) objects, e.g. Shoots, BackupBuckets, etc.. This is the main reconciler of this controller, that does the actual work.

Types

type Controller

type Controller struct {
	// contains filtered or unexported fields
}

Controller implements the logic behind ControllerRegistrations. It creates and deletes ControllerInstallations for ControllerRegistrations for the Seeds where they are needed or not.

func NewController

func NewController(ctx context.Context, log logr.Logger, mgr manager.Manager) (*Controller, error)

NewController instantiates a new ControllerRegistration controller.

func (*Controller) Run

func (c *Controller) Run(ctx context.Context, workers int)

Run runs the Controller until the given stop channel can be read from.

Jump to

Keyboard shortcuts

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