Documentation ¶
Index ¶
- func BootstrapTokenFrom(data map[string][]byte) string
- func ComputeBootstrapToken(ctx context.Context, c client.Client, tokenID, description string, ...) (secret *corev1.Secret, err error)
- func CreateOrUpdateSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference, ...) error
- func CreateTwoWayMergePatch(obj1 metav1.Object, obj2 metav1.Object) ([]byte, error)
- func CurrentReplicaCountForDeployment(ctx context.Context, client client.Client, namespace, deploymentName string) (int32, error)
- func DNSNamesForService(name, namespace string) []string
- func DeleteObject(ctx context.Context, c client.Writer, object client.Object) error
- func DeleteObjects(ctx context.Context, c client.Writer, objects ...client.Object) error
- func DeleteObjectsFromListConditionally(ctx context.Context, c client.Client, listObj client.ObjectList, ...) error
- func DeleteSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference) error
- func FeatureGatesToCommandLineParameter(fg map[string]bool) string
- func FetchEventMessages(ctx context.Context, scheme *runtime.Scheme, reader client.Reader, ...) (string, error)
- func GetContainerResourcesInStatefulSet(ctx context.Context, k8sClient client.Client, key client.ObjectKey) (map[string]*corev1.ResourceRequirements, error)
- func GetLoadBalancerIngress(ctx context.Context, c client.Client, service *corev1.Service) (string, error)
- func GetManagedSeed(ctx context.Context, ...) (*seedmanagementv1alpha1.ManagedSeed, error)
- func GetSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference) (*corev1.Secret, error)
- func HasMetaDataAnnotation(meta metav1.Object, key, value string) bool
- func IgnoreAlreadyExists(err error) error
- func IsEmptyPatch(patch []byte) bool
- func Key(namespaceOrName string, nameOpt ...string) client.ObjectKey
- func LookupObject(ctx context.Context, c client.Client, apiReader client.Reader, ...) error
- func MergeOwnerReferences(references []metav1.OwnerReference, newReferences ...metav1.OwnerReference) []metav1.OwnerReference
- func MostRecentCompleteLogs(ctx context.Context, podInterface corev1client.PodInterface, pod *corev1.Pod, ...) (string, error)
- func NewestObject(ctx context.Context, c client.Reader, listObj client.ObjectList, ...) (client.Object, error)
- func NewestPodForDeployment(ctx context.Context, c client.Reader, deployment *appsv1.Deployment) (*corev1.Pod, error)
- func ObjectMeta(namespaceOrName string, nameOpt ...string) metav1.ObjectMeta
- func ObjectMetaFromKey(key client.ObjectKey) metav1.ObjectMeta
- func ObjectName(obj client.Object) string
- func OwnedBy(obj client.Object, apiVersion, kind, name string, uid types.UID) bool
- func ReadLeaderElectionRecord(ctx context.Context, client client.Client, lock, namespace, name string) (*resourcelock.LeaderElectionRecord, error)
- func ReconcileServicePorts(existingPorts []corev1.ServicePort, desiredPorts []corev1.ServicePort) []corev1.ServicePort
- func SetAnnotationAndUpdate(ctx context.Context, c client.Client, obj client.Object, key, value string) error
- func SetMetaDataAnnotation(meta metav1.Object, key, value string)
- func SetMetaDataLabel(meta metav1.Object, key, value string)
- func SubmitEmptyPatch(ctx context.Context, c client.Client, obj client.Object) error
- func TruncateLabelValue(s string) string
- func TryPatch(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, ...) error
- func TryPatchStatus(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, ...) error
- func TryUpdate(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, ...) error
- func TryUpdateControllerInstallation(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerInstallation, error)
- func TryUpdateControllerInstallationStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerInstallation, error)
- func TryUpdateControllerInstallationStatusWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerInstallation, error)
- func TryUpdateControllerInstallationWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerInstallation, error)
- func TryUpdateControllerRegistration(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerRegistration, error)
- func TryUpdateControllerRegistrationWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.ControllerRegistration, error)
- func TryUpdateSeed(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Seed, error)
- func TryUpdateSeedConditions(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Seed, error)
- func TryUpdateSeedStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Seed, error)
- func TryUpdateSeedWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Seed, error)
- func TryUpdateShoot(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Shoot, error)
- func TryUpdateShootHibernation(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Shoot, error)
- func TryUpdateShootStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, ...) (*gardencorev1beta1.Shoot, error)
- func TryUpdateStatus(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, ...) error
- func ValidDeploymentContainerImageVersion(deploymentToCheck *appsv1.Deployment, containerName, minimumVersion string) (bool, error)
- func WaitUntilLoadBalancerIsReady(ctx context.Context, kubeClient kubernetes.Interface, namespace, name string, ...) (string, error)
- func WaitUntilResourceDeleted(ctx context.Context, c client.Client, obj client.Object, ...) error
- func WaitUntilResourceDeletedWithDefaults(ctx context.Context, c client.Client, obj client.Object) error
- func WaitUntilResourcesDeleted(ctx context.Context, c client.Client, list client.ObjectList, ...) error
- type ControlledResourceEventHandler
- type ControllerPredicateFactory
- type ControllerPredicateFactoryFunc
- type ControllerType
- type DaemonSetLister
- type DaemonSetNamespaceLister
- type DaemonSetSource
- type DeploymentLister
- type DeploymentNamespaceLister
- type DeploymentSource
- type Enqueuer
- type EnqueuerFunc
- type EtcdLister
- type EtcdNamespaceLister
- type EtcdSource
- type SortBy
- type StatefulSetLister
- type StatefulSetNamespaceLister
- type StatefulSetSource
- type WorkerLister
- type WorkerNamespaceLister
- type WorkerSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BootstrapTokenFrom ¶
BootstrapTokenFrom returns the bootstrap token based on the secret data.
func ComputeBootstrapToken ¶
func ComputeBootstrapToken(ctx context.Context, c client.Client, tokenID, description string, validity time.Duration) (secret *corev1.Secret, err error)
ComputeBootstrapToken computes and creates a new bootstrap token, and returns it.
func CreateOrUpdateSecretByReference ¶
func CreateOrUpdateSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference, secretType corev1.SecretType, data map[string][]byte, ownerRefs []metav1.OwnerReference) error
CreateOrUpdateSecretByReference creates or updates the secret referenced by the given secret reference with the given type, data, and owner references.
func CreateTwoWayMergePatch ¶
CreateTwoWayMergePatch creates a two way merge patch of the given objects. The two objects have to be pointers implementing the interfaces.
func CurrentReplicaCountForDeployment ¶
func CurrentReplicaCountForDeployment(ctx context.Context, client client.Client, namespace, deploymentName string) (int32, error)
CurrentReplicaCountForDeployment returns the current replicaCount for the given deployment.
func DNSNamesForService ¶
DNSNamesForService returns the possible DNS names for a service with the given name and namespace.
func DeleteObject ¶
DeleteObject deletes a Kubernetes object. It ignores 'not found' and 'no match' errors.
func DeleteObjects ¶
DeleteObjects deletes a list of Kubernetes objects.
func DeleteObjectsFromListConditionally ¶
func DeleteObjectsFromListConditionally(ctx context.Context, c client.Client, listObj client.ObjectList, predicateFn func(runtime.Object) bool) error
DeleteObjectsFromListConditionally takes a Kubernetes List object. It iterates over its items and, if provided, executes the predicate function. If it evaluates to true then the object will be deleted.
func DeleteSecretByReference ¶
func DeleteSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference) error
DeleteSecretByReference deletes the secret referenced by the given secret reference.
func FeatureGatesToCommandLineParameter ¶
FeatureGatesToCommandLineParameter transforms feature gates given as string/bool map to a command line parameter that is understood by Kubernetes components.
func FetchEventMessages ¶
func FetchEventMessages(ctx context.Context, scheme *runtime.Scheme, reader client.Reader, obj client.Object, eventType string, eventsLimit int) (string, error)
FetchEventMessages gets events for the given object of the given `eventType` and returns them as a formatted output. The function expects that the given `obj` is specified with a proper `metav1.TypeMeta`.
func GetContainerResourcesInStatefulSet ¶
func GetContainerResourcesInStatefulSet(ctx context.Context, k8sClient client.Client, key client.ObjectKey) (map[string]*corev1.ResourceRequirements, error)
GetContainerResourcesInStatefulSet returns the containers resources in StatefulSet.
func GetLoadBalancerIngress ¶
func GetLoadBalancerIngress(ctx context.Context, c client.Client, service *corev1.Service) (string, error)
GetLoadBalancerIngress takes a context, a client, a service object. It gets the `service` and queries for a load balancer's technical name (ip address or hostname). It returns the value of the technical name whereby it always prefers the hostname (if given) over the IP address. The passed `service` instance is updated with the information received from the API server.
func GetManagedSeed ¶
func GetManagedSeed(ctx context.Context, seedManagementClient gardenseedmanagementclientset.Interface, shootNamespace, shootName string) (*seedmanagementv1alpha1.ManagedSeed, error)
GetManagedSeed gets the ManagedSeed resource for the given shoot namespace and name, by searching for all ManagedSeeds in the shoot namespace that have spec.shoot.name set to the shoot name. If no such ManagedSeeds are found, nil is returned.
func GetSecretByReference ¶
func GetSecretByReference(ctx context.Context, c client.Client, ref *corev1.SecretReference) (*corev1.Secret, error)
GetSecretByReference returns the secret referenced by the given secret reference.
func HasMetaDataAnnotation ¶
HasMetaDataAnnotation checks if the passed meta object has the given key, value set in the annotations section.
func IgnoreAlreadyExists ¶
IgnoreAlreadyExists returns nil on AlreadyExists errors. All other values that are not AlreadyExists errors or nil are returned unmodified.
func IsEmptyPatch ¶
IsEmptyPatch checks if the given patch is empty. A patch is considered empty if it is the empty string or if it json-decodes to an empty json map.
func Key ¶
Key creates a new client.ObjectKey from the given parameters. There are only two ways to call this function:
- If only namespaceOrName is set, then a client.ObjectKey with name set to namespaceOrName is returned.
- If namespaceOrName and one nameOpt is given, then a client.ObjectKey with namespace set to namespaceOrName and name set to nameOpt[0] is returned.
For all other cases, this method panics.
func LookupObject ¶
func LookupObject(ctx context.Context, c client.Client, apiReader client.Reader, key client.ObjectKey, obj client.Object) error
LookupObject retrieves an obj for the given object key dealing with potential stale cache that still does not contain the obj. It first tries to retrieve the obj using the given cached client. If the object key is not found, then it does live lookup from the API server using the given apiReader.
func MergeOwnerReferences ¶
func MergeOwnerReferences(references []metav1.OwnerReference, newReferences ...metav1.OwnerReference) []metav1.OwnerReference
MergeOwnerReferences merges the newReferences with the list of existing references.
func MostRecentCompleteLogs ¶
func MostRecentCompleteLogs( ctx context.Context, podInterface corev1client.PodInterface, pod *corev1.Pod, containerName string, tailLines *int64, ) ( string, error, )
MostRecentCompleteLogs returns the logs of the pod/container in case it is not running. If the pod/container is running then the logs of the previous pod/container are being returned.
func NewestObject ¶
func NewestObject(ctx context.Context, c client.Reader, listObj client.ObjectList, filterFn func(client.Object) bool, listOpts ...client.ListOption) (client.Object, error)
NewestObject returns the most recently created object based on the provided list object type. If a filter function is provided then it will be applied for each object right after listing all objects. If no object remains then nil is returned. The Items field in the list object will be populated with the result returned from the server after applying the filter function (if provided).
func NewestPodForDeployment ¶
func NewestPodForDeployment(ctx context.Context, c client.Reader, deployment *appsv1.Deployment) (*corev1.Pod, error)
NewestPodForDeployment returns the most recently created Pod object for the given deployment.
func ObjectMeta ¶
func ObjectMeta(namespaceOrName string, nameOpt ...string) metav1.ObjectMeta
ObjectMeta creates a new metav1.ObjectMeta from the given parameters. There are only two ways to call this function:
- If only namespaceOrName is set, then a metav1.ObjectMeta with name set to namespaceOrName is returned.
- If namespaceOrName and one nameOpt is given, then a metav1.ObjectMeta with namespace set to namespaceOrName and name set to nameOpt[0] is returned.
For all other cases, this method panics.
func ObjectMetaFromKey ¶
func ObjectMetaFromKey(key client.ObjectKey) metav1.ObjectMeta
ObjectMetaFromKey returns an ObjectMeta with the namespace and name set to the values from the key.
func ObjectName ¶
ObjectName returns the name of the given object in the format <namespace>/<name>
func OwnedBy ¶
OwnedBy checks if the given object's owner reference contains an entry with the provided attributes.
func ReadLeaderElectionRecord ¶
func ReadLeaderElectionRecord(ctx context.Context, client client.Client, lock, namespace, name string) (*resourcelock.LeaderElectionRecord, error)
ReadLeaderElectionRecord returns the leader election record for a given lock type and a namespace/name combination.
func ReconcileServicePorts ¶
func ReconcileServicePorts(existingPorts []corev1.ServicePort, desiredPorts []corev1.ServicePort) []corev1.ServicePort
ReconcileServicePorts reconciles the existing service ports with the desired ports. This means that it takes the existing port (identified by name), and applies the settings from the desired port to it. This way it can keep fields that are defaulted by controllers, e.g. the node port. However, it does not keep ports that are not part of the desired list.
func SetAnnotationAndUpdate ¶
func SetAnnotationAndUpdate(ctx context.Context, c client.Client, obj client.Object, key, value string) error
SetAnnotationAndUpdate sets the annotation on the given object and updates it.
func SetMetaDataAnnotation ¶
SetMetaDataAnnotation sets the annotation on the given object. If the given Object did not yet have annotations, they are initialized.
func SetMetaDataLabel ¶
SetMetaDataLabel sets the key value pair in the labels section of the given Object. If the given Object did not yet have labels, they are initialized.
func SubmitEmptyPatch ¶
SubmitEmptyPatch submits an empty patch to the given `obj` with the given `client` instance.
func TruncateLabelValue ¶
TruncateLabelValue truncates a string at 63 characters so it's suitable for a label value.
func TryPatch ¶
func TryPatch(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, transform func() error) error
TryPatch tries to apply the given transformation function onto the given object, and to patch it afterwards with optimistic locking. It retries the patch with an exponential backoff.
func TryPatchStatus ¶
func TryPatchStatus(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, transform func() error) error
TryPatchStatus tries to apply the given transformation function onto the given object, and to patch its status afterwards with optimistic locking. It retries the status patch with an exponential backoff.
func TryUpdate ¶
func TryUpdate(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, transform func() error) error
TryUpdate tries to apply the given transformation function onto the given object, and to update it afterwards. It retries the update with an exponential backoff.
func TryUpdateControllerInstallation ¶
func TryUpdateControllerInstallation(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerInstallation) (*gardencorev1beta1.ControllerInstallation, error)) (*gardencorev1beta1.ControllerInstallation, error)
TryUpdateControllerInstallation tries to update the status of the controllerInstallation matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerInstallation object. If the transformation yields a semantically equal ControllerInstallation, no update is done and the operation returns normally.
func TryUpdateControllerInstallationStatus ¶
func TryUpdateControllerInstallationStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerInstallation) (*gardencorev1beta1.ControllerInstallation, error)) (*gardencorev1beta1.ControllerInstallation, error)
TryUpdateControllerInstallationStatus tries to update the status of the controllerInstallation matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerInstallation object. If the transformation yields a semantically equal ControllerInstallation, no update is done and the operation returns normally.
func TryUpdateControllerInstallationStatusWithEqualFunc ¶
func TryUpdateControllerInstallationStatusWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerInstallation) (*gardencorev1beta1.ControllerInstallation, error), equal func(cur, updated *gardencorev1beta1.ControllerInstallation) bool) (*gardencorev1beta1.ControllerInstallation, error)
TryUpdateControllerInstallationStatusWithEqualFunc tries to update the status of the controllerInstallation matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerInstallation object. If the equal func concludes a semantically equal ControllerInstallation, no update is done and the operation returns normally.
func TryUpdateControllerInstallationWithEqualFunc ¶
func TryUpdateControllerInstallationWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerInstallation) (*gardencorev1beta1.ControllerInstallation, error), equal func(cur, updated *gardencorev1beta1.ControllerInstallation) bool) (*gardencorev1beta1.ControllerInstallation, error)
TryUpdateControllerInstallationWithEqualFunc tries to update the status of the controllerInstallation matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerInstallation object. If the equal func concludes a semantically equal ControllerInstallation, no update is done and the operation returns normally.
func TryUpdateControllerRegistration ¶
func TryUpdateControllerRegistration(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerRegistration) (*gardencorev1beta1.ControllerRegistration, error)) (*gardencorev1beta1.ControllerRegistration, error)
TryUpdateControllerRegistration tries to update the status of the controllerRegistration matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerRegistration object. If the transformation yields a semantically equal ControllerRegistration, no update is done and the operation returns normally.
func TryUpdateControllerRegistrationWithEqualFunc ¶
func TryUpdateControllerRegistrationWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.ControllerRegistration) (*gardencorev1beta1.ControllerRegistration, error), equal func(cur, updated *gardencorev1beta1.ControllerRegistration) bool) (*gardencorev1beta1.ControllerRegistration, error)
TryUpdateControllerRegistrationWithEqualFunc tries to update the status of the controllerRegistration matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the ControllerRegistration object. If the equal func concludes a semantically equal ControllerRegistration, no update is done and the operation returns normally.
func TryUpdateSeed ¶
func TryUpdateSeed(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Seed) (*gardencorev1beta1.Seed, error)) (*gardencorev1beta1.Seed, error)
TryUpdateSeed tries to update the status of the seed matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Seed object. If the transformation yields a semantically equal Seed, no update is done and the operation returns normally.
func TryUpdateSeedConditions ¶
func TryUpdateSeedConditions(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Seed) (*gardencorev1beta1.Seed, error)) (*gardencorev1beta1.Seed, error)
TryUpdateSeedConditions tries to update the status of the seed matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Seed object. If the transformation yields a semantically equal Seed (regarding conditions), no update is done and the operation returns normally.
func TryUpdateSeedStatus ¶
func TryUpdateSeedStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Seed) (*gardencorev1beta1.Seed, error)) (*gardencorev1beta1.Seed, error)
TryUpdateSeedStatus tries to update the status of the seed matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Seed object. If the transformation yields a semantically equal Seed (regarding Status), no update is done and the operation returns normally.
func TryUpdateSeedWithEqualFunc ¶
func TryUpdateSeedWithEqualFunc(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Seed) (*gardencorev1beta1.Seed, error), equal func(cur, updated *gardencorev1beta1.Seed) bool) (*gardencorev1beta1.Seed, error)
TryUpdateSeedWithEqualFunc tries to update the status of the seed matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Seed object. If the equal func concludes a semantically equal Seed, no update is done and the operation returns normally.
func TryUpdateShoot ¶
func TryUpdateShoot(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Shoot) (*gardencorev1beta1.Shoot, error)) (*gardencorev1beta1.Shoot, error)
TryUpdateShoot tries to update the shoot matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Shoot object. If the transformation yields a semantically equal Shoot, no update is done and the operation returns normally.
func TryUpdateShootHibernation ¶
func TryUpdateShootHibernation(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Shoot) (*gardencorev1beta1.Shoot, error)) (*gardencorev1beta1.Shoot, error)
TryUpdateShootHibernation tries to update the status of the shoot matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Shoot object. If the transformation yields a semantically equal Shoot, no update is done and the operation returns normally.
func TryUpdateShootStatus ¶
func TryUpdateShootStatus(ctx context.Context, g gardencore.Interface, backoff wait.Backoff, meta metav1.ObjectMeta, transform func(*gardencorev1beta1.Shoot) (*gardencorev1beta1.Shoot, error)) (*gardencorev1beta1.Shoot, error)
TryUpdateShootStatus tries to update the status of the shoot matching the given <meta>. It retries with the given <backoff> characteristics as long as it gets Conflict errors. The transformation function is applied to the current state of the Shoot object. If the transformation yields a semantically equal Shoot (regarding Status), no update is done and the operation returns normally.
func TryUpdateStatus ¶
func TryUpdateStatus(ctx context.Context, backoff wait.Backoff, c client.Client, obj client.Object, transform func() error) error
TryUpdateStatus tries to apply the given transformation function onto the given object, and to update its status afterwards. It retries the status update with an exponential backoff.
func ValidDeploymentContainerImageVersion ¶
func ValidDeploymentContainerImageVersion(deploymentToCheck *appsv1.Deployment, containerName, minimumVersion string) (bool, error)
ValidDeploymentContainerImageVersion validates compliance of a deployment container image to a minimum version
func WaitUntilLoadBalancerIsReady ¶
func WaitUntilLoadBalancerIsReady(ctx context.Context, kubeClient kubernetes.Interface, namespace, name string, timeout time.Duration, logger *logrus.Entry) (string, error)
WaitUntilLoadBalancerIsReady waits until the given external load balancer has been created (i.e., its ingress information has been updated in the service status).
func WaitUntilResourceDeleted ¶
func WaitUntilResourceDeleted(ctx context.Context, c client.Client, obj client.Object, interval time.Duration) error
WaitUntilResourceDeleted deletes the given resource and then waits until it has been deleted. It respects the given interval and timeout.
func WaitUntilResourceDeletedWithDefaults ¶
func WaitUntilResourceDeletedWithDefaults(ctx context.Context, c client.Client, obj client.Object) error
WaitUntilResourceDeletedWithDefaults deletes the given resource and then waits until it has been deleted. It uses a default interval and timeout
func WaitUntilResourcesDeleted ¶
func WaitUntilResourcesDeleted(ctx context.Context, c client.Client, list client.ObjectList, interval time.Duration, opts ...client.ListOption) error
WaitUntilResourcesDeleted waits until the given resources are gone. It respects the given interval and timeout.
Types ¶
type ControlledResourceEventHandler ¶
type ControlledResourceEventHandler struct { // ControllerTypes is a list of controller types. If multiple controller types are specified, // there is a chain of controllers. Only the top-most controller (with the last listed type) is eventually enqueued. ControllerTypes []ControllerType // Ctx is the context used to get controller objects. Ctx context.Context // Reader is the reader used to get controller objects. Reader client.Reader // ControllerPredicateFactory is used to create a predicate to check if an object event is of interest to a controller, // before enqueueing it. If nil, the controller is always enqueued. ControllerPredicateFactory ControllerPredicateFactory // Enqueuer is used to enqueue the controller. Enqueuer Enqueuer // Scheme is used to resolve types to their GroupKinds. Scheme *runtime.Scheme // Logger is used to log messages. Logger *logrus.Logger }
ControlledResourceEventHandler is an implementation of cache.ResourceEventHandler that enqueues controllers upon controlled resource events, if a predicate check is successful.
func (*ControlledResourceEventHandler) OnAdd ¶
func (h *ControlledResourceEventHandler) OnAdd(o interface{})
OnAdd is called when an object is added.
func (*ControlledResourceEventHandler) OnDelete ¶
func (h *ControlledResourceEventHandler) OnDelete(o interface{})
OnDelete is called when an object is deleted. It will get the final state of the item if it is known, otherwise it will get an object of type DeletedFinalStateUnknown.
func (*ControlledResourceEventHandler) OnUpdate ¶
func (h *ControlledResourceEventHandler) OnUpdate(old, new interface{})
OnUpdate is called when an object is modified.
type ControllerPredicateFactory ¶
type ControllerPredicateFactory interface { // NewControllerPredicate creates and returns a new Predicate with the given controller. NewControllerPredicate(client.Object) predicate.Predicate }
ControllerPredicateFactory provides a method for creating new Predicates for a controller.
type ControllerPredicateFactoryFunc ¶
ControllerPredicateFactoryFunc is a function that implements ControllerPredicateFactory.
func (ControllerPredicateFactoryFunc) NewControllerPredicate ¶
func (f ControllerPredicateFactoryFunc) NewControllerPredicate(controller client.Object) predicate.Predicate
NewControllerPredicate creates and returns a new Predicate with the given controller.
type ControllerType ¶
type ControllerType struct { // Type is the controller type. It is used to check the controller group and kind and get objects of the specified type. Type client.Object // Namespace is an optional namespace to look for controllers. If nil, the namespace of the controlled object is used. Namespace *string // NameFunc is an optional function that returns the controller name from the given object. // It is only used if the object doesn't have a controller ref. NameFunc func(obj client.Object) string // contains filtered or unexported fields }
ControllerType contains information about a controller type.
type DaemonSetLister ¶
type DaemonSetLister interface { // List lists all DaemonSets that match the given selector. List(selector labels.Selector) ([]*appsv1.DaemonSet, error) // DaemonSets yields a DaemonSetNamespaceLister for the given namespace. DaemonSets(namespace string) DaemonSetNamespaceLister }
DaemonSetLister is a lister of DaemonSets.
func NewDaemonSetLister ¶
func NewDaemonSetLister(source DaemonSetSource) DaemonSetLister
NewDaemonSetLister creates a new DaemonSetLister from the given DaemonSetSource.
type DaemonSetNamespaceLister ¶
type DaemonSetNamespaceLister interface { // List lists all DaemonSets that match the given selector in the current namespace. List(selector labels.Selector) ([]*appsv1.DaemonSet, error) // Get retrieves the DaemonSet with the given name in the current namespace. Get(name string) (*appsv1.DaemonSet, error) }
DaemonSetNamespaceLister is a lister of deployments for a specific namespace.
type DaemonSetSource ¶
DaemonSetSource is a function that produces a slice of DaemonSets or an error.
type DeploymentLister ¶
type DeploymentLister interface { // List lists all Deployments that match the given selector. List(selector labels.Selector) ([]*appsv1.Deployment, error) // Deployments yields a DeploymentNamespaceLister for the given namespace. Deployments(namespace string) DeploymentNamespaceLister }
DeploymentLister is a lister of Deployments.
func NewDeploymentLister ¶
func NewDeploymentLister(source DeploymentSource) DeploymentLister
NewDeploymentLister creates a new DeploymentLister from the given DeploymentSource.
type DeploymentNamespaceLister ¶
type DeploymentNamespaceLister interface { // List lists all Deployments that match the given selector in the current namespace. List(selector labels.Selector) ([]*appsv1.Deployment, error) // Get retrieves the Deployment with the given name in the current namespace. Get(name string) (*appsv1.Deployment, error) }
DeploymentNamespaceLister is a lister of deployments for a specific namespace.
type DeploymentSource ¶
type DeploymentSource func() ([]*appsv1.Deployment, error)
DeploymentSource is a function that produces a slice of Deployments or an error.
type EnqueuerFunc ¶
EnqueuerFunc is a function that implements Enqueuer.
func (EnqueuerFunc) Enqueue ¶
func (f EnqueuerFunc) Enqueue(obj client.Object)
Enqueue enqueues the object for processing.
type EtcdLister ¶
type EtcdLister interface { // List lists all Etcds that match the given selector. List(selector labels.Selector) ([]*druidv1alpha1.Etcd, error) // Etcds yields a EtcdNamespaceLister for the given namespace. Etcds(namespace string) EtcdNamespaceLister }
EtcdLister is a lister of Etcds.
func NewEtcdLister ¶
func NewEtcdLister(source EtcdSource) EtcdLister
NewEtcdLister creates a new EtcdLister from the given EtcdSource.
type EtcdNamespaceLister ¶
type EtcdNamespaceLister interface { // List lists all Etcds that match the given selector in the current namespace. List(selector labels.Selector) ([]*druidv1alpha1.Etcd, error) // Get retrieves the Etcd with the given name in the current namespace. Get(name string) (*druidv1alpha1.Etcd, error) }
EtcdNamespaceLister is a lister of etcds for a specific namespace.
type EtcdSource ¶
type EtcdSource func() ([]*druidv1alpha1.Etcd, error)
EtcdSource is a function that produces a slice of Etcds or an error.
type SortBy ¶
SortBy the type of a "less" function that defines the ordering of its object arguments.
func ByCreationTimestamp ¶
func ByCreationTimestamp() SortBy
ByCreationTimestamp returns a comparison function for sorting by creation timestamp.
type StatefulSetLister ¶
type StatefulSetLister interface { // List lists all StatefulSets that match the given selector. List(selector labels.Selector) ([]*appsv1.StatefulSet, error) // StatefulSets yields a StatefulSetNamespaceLister for the given namespace. StatefulSets(namespace string) StatefulSetNamespaceLister }
StatefulSetLister is a lister of StatefulSets.
func NewStatefulSetLister ¶
func NewStatefulSetLister(source StatefulSetSource) StatefulSetLister
NewStatefulSetLister creates a new StatefulSetLister form the given StatefulSetSource.
type StatefulSetNamespaceLister ¶
type StatefulSetNamespaceLister interface { // List lists all StatefulSets that match the given selector in the current namespace. List(selector labels.Selector) ([]*appsv1.StatefulSet, error) // Get retrieves the StatefulSet with the given name in the current namespace. Get(name string) (*appsv1.StatefulSet, error) }
StatefulSetNamespaceLister is a lister of StatefulSets for a specific namespace.
type StatefulSetSource ¶
type StatefulSetSource func() ([]*appsv1.StatefulSet, error)
StatefulSetSource is a function that produces a slice of StatefulSets or an error.
type WorkerLister ¶
type WorkerLister interface { // List lists all Workers that match the given selector in the current namespace. List(selector labels.Selector) ([]*extensionsv1alpha1.Worker, error) // Workers yields a WorkerNamespaceLister for the given namespace. Workers(namespace string) WorkerNamespaceLister }
WorkerLister is a lister of Workers for a specific namespace.
func NewWorkerLister ¶
func NewWorkerLister(source WorkerSource) WorkerLister
NewWorkerLister creates a new WorkerLister from the given WorkerSource.
type WorkerNamespaceLister ¶
type WorkerNamespaceLister interface { // List lists all Workers that match the given selector in the current namespace. List(selector labels.Selector) ([]*extensionsv1alpha1.Worker, error) // Get retrieves the MachineDeployment with the given name in the current namespace. Get(name string) (*extensionsv1alpha1.Worker, error) }
WorkerNamespaceLister is a lister of Workers for a specific namespace.
type WorkerSource ¶
type WorkerSource func() ([]*extensionsv1alpha1.Worker, error)
WorkerSource is a function that produces a slice of Workers or an error.