Documentation ¶
Index ¶
Constants ¶
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 kubernetes.Interface) 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, clientMap clientmap.ClientMap) (*Controller, error)
NewController instantiates a new ControllerRegistration controller.