Documentation ¶
Index ¶
Constants ¶
const FinalizerName = "core.gardener.cloud/plant"
FinalizerName is the name of the Plant finalizer.
const Unknown = "<unknown>"
Unknown is a constant to be used for unknown cloud info
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ControlInterface ¶
type ControlInterface interface {
Reconcile(context.Context, *gardencorev1beta1.Plant, string) error
}
ControlInterface implements the control logic for updating Plants. It is implemented as an interface to allow for extensions that provide different semantics. Currently, there is only one implementation.
func NewDefaultPlantControl ¶
func NewDefaultPlantControl(k8sGardenClient kubernetes.Interface, recorder record.EventRecorder, config *config.ControllerManagerConfiguration, plantsLister gardencorelisters.PlantLister, secretLister kubecorev1listers.SecretLister) ControlInterface
NewDefaultPlantControl returns a new instance of the default implementation ControlInterface that implements the documented semantics for Plants.
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller controls Plant.
func NewController ¶
func NewController(k8sGardenClient kubernetes.Interface, gardenCoreInformerFactory gardencoreinformers.SharedInformerFactory, kubeInformerFactory kubeinformers.SharedInformerFactory, config *config.ControllerManagerConfiguration, recorder record.EventRecorder) *Controller
NewController instantiates a new Plant 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 HealthChecker ¶
type HealthChecker struct {
// contains filtered or unexported fields
}
HealthChecker contains the condition thresholds.
func NewHealthChecker ¶
func NewHealthChecker(plantClient client.Client, discoveryClient discovery.DiscoveryInterface) *HealthChecker
NewHealthChecker creates a new health checker.
func (*HealthChecker) CheckAPIServerAvailability ¶
func (h *HealthChecker) CheckAPIServerAvailability(condition gardencorev1beta1.Condition) gardencorev1beta1.Condition
CheckAPIServerAvailability checks if the API server of a Plant cluster is reachable and measure the response time.
func (*HealthChecker) CheckPlantClusterNodes ¶
func (h *HealthChecker) CheckPlantClusterNodes(ctx context.Context, condition gardencorev1beta1.Condition) gardencorev1beta1.Condition
CheckPlantClusterNodes checks whether cluster nodes in the given listers are complete and healthy.
type StatusCloudInfo ¶
StatusCloudInfo contains the cloud info for the plant status
func FetchCloudInfo ¶
func FetchCloudInfo(ctx context.Context, plantClient client.Client, discoveryClient discovery.DiscoveryInterface, logger logrus.FieldLogger) (*StatusCloudInfo, error)
FetchCloudInfo deduces the cloud info from the plant cluster