gardener: github.com/gardener/gardener/pkg/controllermanager/controller/plant Index | Files

package plant

import "github.com/gardener/gardener/pkg/controllermanager/controller/plant"

Index

Package Files

plant.go plant_control.go plant_health.go plant_types.go plant_utils.go

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

type ControlInterface Uses

type ControlInterface interface {
    Reconcile(context.Context, *gardencorev1beta1.Plant) 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 Uses

func NewDefaultPlantControl(clientMap clientmap.ClientMap, recorder record.EventRecorder, config *config.ControllerManagerConfiguration, secretLister kubecorev1listers.SecretLister) ControlInterface

NewDefaultPlantControl returns a new instance of the default implementation ControlInterface that implements the documented semantics for Plants.

type Controller Uses

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

Controller controls Plant.

func NewController Uses

func NewController(clientMap clientmap.ClientMap,
    gardenCoreInformerFactory gardencoreinformers.SharedInformerFactory,
    kubeInformerFactory kubeinformers.SharedInformerFactory,
    config *config.ControllerManagerConfiguration,
    recorder record.EventRecorder) *Controller

NewController instantiates a new Plant controller.

func (*Controller) CollectMetrics Uses

func (c *Controller) CollectMetrics(ch chan<- prometheus.Metric)

CollectMetrics implements gardenmetrics.ControllerMetricsCollector interface

func (*Controller) Run Uses

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 Uses

func (c *Controller) RunningWorkers() int

RunningWorkers returns the number of running workers.

type HealthChecker Uses

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

HealthChecker contains the condition thresholds.

func NewHealthChecker Uses

func NewHealthChecker(plantClient client.Client, discoveryClient discovery.DiscoveryInterface) *HealthChecker

NewHealthChecker creates a new health checker.

func (*HealthChecker) CheckAPIServerAvailability Uses

func (h *HealthChecker) CheckAPIServerAvailability(ctx context.Context, 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 Uses

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 Uses

type StatusCloudInfo struct {
    CloudType  string
    Region     string
    K8sVersion string
}

StatusCloudInfo contains the cloud info for the plant status

func FetchCloudInfo Uses

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

Package plant imports 30 packages (graph) and is imported by 1 packages. Updated 2020-09-26. Refresh now. Tools for package owners.