plant

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2020 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const FinalizerName = "core.gardener.cloud/plant"

FinalizerName is the name of the Plant finalizer.

View Source
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

type StatusCloudInfo struct {
	CloudType  string
	Region     string
	K8sVersion string
}

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

Jump to

Keyboard shortcuts

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