Documentation ¶
Index ¶
Constants ¶
const ( // LeaseResyncSeconds defines how often (in seconds) the seed lease is renewed. LeaseResyncSeconds = 2 // LeaseResyncGracePeriodSeconds is the grace period for how long the lease may not be resynced before the health status // is changed to false. LeaseResyncGracePeriodSeconds = LeaseResyncSeconds * 10 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControlInterface ¶
type ControlInterface interface { // ReconcileSeed implements the control logic for Seed creation, update, and deletion. // If an implementation returns a non-nil error, the invocation will be retried using a rate-limited strategy. // Implementors should sink any errors that they do not wish to trigger a retry, and they may feel free to // exit exceptionally at any point provided they wish the update to be re-run at a later point in time. ReconcileSeed(seed *gardencorev1beta1.Seed, key string) error }
ControlInterface implements the control logic for updating Seeds. It is implemented as an interface to allow for extensions that provide different semantics. Currently, there is only one implementation.
func NewDefaultControl ¶
func NewDefaultControl( clientMap clientmap.ClientMap, k8sGardenCoreInformers gardencoreinformers.SharedInformerFactory, secrets map[string]*corev1.Secret, imageVector imagevector.ImageVector, componentImageVectors imagevector.ComponentImageVectors, identity *gardencorev1beta1.Gardener, recorder record.EventRecorder, config *config.GardenletConfiguration, secretLister kubecorev1listers.SecretLister, shootLister gardencorelisters.ShootLister, ) ControlInterface
NewDefaultControl returns a new instance of the default implementation ControlInterface that implements the documented semantics for Seeds. You should use an instance returned from NewDefaultControl() for any scenario other than testing.
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller controls Seeds.
func NewSeedController ¶
func NewSeedController( clientMap clientmap.ClientMap, gardenCoreInformerFactory gardencoreinformers.SharedInformerFactory, kubeInformerFactory kubeinformers.SharedInformerFactory, healthManager healthz.Manager, secrets map[string]*corev1.Secret, imageVector imagevector.ImageVector, componentImageVectors imagevector.ComponentImageVectors, identity *gardencorev1beta1.Gardener, config *config.GardenletConfiguration, recorder record.EventRecorder, ) *Controller
NewSeedController takes a Kubernetes client for the Garden clusters <k8sGardenClient>, a struct holding information about the acting Gardener, a <seedInformer>, and a <recorder> for event recording. It creates a new Gardener controller.
func (*Controller) CollectMetrics ¶
func (c *Controller) CollectMetrics(ch chan<- prometheus.Metric)
CollectMetrics implements gardenmetrics.ControllerMetricsCollector interface
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.
func (*Controller) RunningWorkers ¶
func (c *Controller) RunningWorkers() int
RunningWorkers returns the number of running workers.
type ExtensionCheckControlInterface ¶ added in v0.34.0
type ExtensionCheckControlInterface interface { // ReconcileExtensionCheckFor implements the control logic for Seed extension checks. // If an implementation returns a non-nil error, the invocation will be retried using a rate-limited strategy. // Implementors should sink any errors that they do not wish to trigger a retry, and they may feel free to // exit exceptionally at any point provided they wish the update to be re-run at a later point in time. ReconcileExtensionCheckFor(seed *gardencorev1beta1.Seed) error }
ExtensionCheckControlInterface implements the control logic for updating Seeds. It is implemented as an interface to allow for extensions that provide different semantics. Currently, there is only one implementation.
func NewDefaultExtensionCheckControl ¶ added in v0.34.0
func NewDefaultExtensionCheckControl( clientMap clientmap.ClientMap, controllerInstallationLister gardencorelisters.ControllerInstallationLister, nowFunc func() metav1.Time, ) ExtensionCheckControlInterface
NewDefaultExtensionCheckControl returns a new instance of the default implementation ExtensionCheckControlInterface that implements the documented semantics for Seeds. You should use an instance returned from NewDefaultExtensionCheckControl() for any scenario other than testing.