Help us shape the future of Go! Take the 2026 Go Developer Survey

prober

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2026 License: Apache-2.0 Imports: 2 Imported by: 4

Documentation

Index

Constants

View Source
const (
	// MeltdownProtectionActive annotation captures if the DWD is active on a resource so that shoot reconciliation can ignore this resource from scaling up.
	MeltdownProtectionActive = "dependency-watchdog.gardener.cloud/meltdown-protection-active"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// KubeConfigSecretName is the name of the kubernetes secret which has the kubeconfig to connect to the shoot control plane API server via internal domain
	KubeConfigSecretName string `json:"kubeConfigSecretName"`
	// ProbeInterval is the interval with which the probe will be run
	ProbeInterval *metav1.Duration `json:"probeInterval,omitempty"`
	// InitialDelay is the initial delay in running a probe for the first time
	InitialDelay *metav1.Duration `json:"initialDelay,omitempty"`
	// ProbeTimeout is the timeout that is set on the client which is used to reach the shoot control plane API server
	ProbeTimeout *metav1.Duration `json:"probeTimeout,omitempty"`
	// BackoffJitterFactor is the jitter with which a probe is run
	BackoffJitterFactor *float64 `json:"backoffJitterFactor,omitempty"`
	// DependentResourceInfos are the dependent resources that should be considered for scaling in case the shoot control API server cannot be reached via external domain
	DependentResourceInfos []DependentResourceInfo `json:"dependentResourceInfos"`
	// KCMNodeMonitorGraceDuration is the node-monitor-grace-period set in the kcm flags.
	KCMNodeMonitorGraceDuration *metav1.Duration `json:"kcmNodeMonitorGraceDuration,omitempty"`
	// NodeLeaseFailureFraction is used to determine the maximum number of leases that can be expired for a lease probe to succeed.
	NodeLeaseFailureFraction *float64 `json:"nodeLeaseFailureFraction,omitempty"`
}

Config provides typed access to prober configuration

type DependentResourceInfo

type DependentResourceInfo struct {
	// Ref identifies a resource
	Ref *autoscalingv1.CrossVersionObjectReference `json:"ref"`
	// Optional should be false if this resource should be present. If the resource is optional then it should be true
	// If this field is not specified, then its zero value (false for boolean) will be assumed.
	Optional bool `json:"optional"`
	// ScaleUpInfo captures the configuration to scale up the resource identified by Ref
	ScaleUpInfo *ScaleInfo `json:"scaleUp,omitempty"`
	// ScaleDownInfo captures the configuration to scale down the resource identified by Ref
	ScaleDownInfo *ScaleInfo `json:"scaleDown,omitempty"`
}

DependentResourceInfo captures a dependent resource which should be scaled

type ScaleInfo

type ScaleInfo struct {
	// Level is used to order the dependent resources. Highest level or the first level starts at 0 and increments. Each dependent resource on a level will have to wait for
	// all resource in a previous level to finish their scaling operation. If there are more than one resource defined with the same level then they will be scaled concurrently.
	Level int `json:"level"`
	// InitialDelay is the time to delay (duration) the scale down/up of this resource. If not specified its default value will be 0s.
	InitialDelay *metav1.Duration `json:"initialDelay,omitempty"`
	// ScaleTimeout is the time timeout duration to wait for when attempting to update the scaling sub-resource.
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

ScaleInfo captures the configuration required to scale a dependent resource

Jump to

Keyboard shortcuts

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