gardener: Index | Files

package helper

import ""


Package Files

condition_builder.go errors.go helper.go


var Now = metav1.Now

Now determines the current metav1.Time.

func ComputeOperationType Uses

func ComputeOperationType(meta metav1.ObjectMeta, lastOperation *gardencorev1beta1.LastOperation) gardencorev1beta1.LastOperationType

ComputeOperationType checks the <lastOperation> and determines whether it is Create, Delete, Reconcile, Migrate or Restore operation

func ConditionsNeedUpdate Uses

func ConditionsNeedUpdate(existingConditions, newConditions []gardencorev1beta1.Condition) bool

ConditionsNeedUpdate returns true if the <existingConditions> must be updated based on <newConditions>.

func DeleteLastErrorByTaskID Uses

func DeleteLastErrorByTaskID(lastErrors []gardencorev1beta1.LastError, taskID string) []gardencorev1beta1.LastError

DeleteLastErrorByTaskID removes the 'last error' with the given task ID from the given 'last error' list.

func DetermineError Uses

func DetermineError(err error, message string) error

DetermineError determines the Garden error code for the given error and creates a new error with the given message.

func DetermineErrorCodes Uses

func DetermineErrorCodes(err error) []gardencorev1beta1.ErrorCode

DetermineErrorCodes determines error codes based on the given error.

func DetermineMachineImageForName Uses

func DetermineMachineImageForName(cloudProfile *gardencorev1beta1.CloudProfile, name string) (bool, gardencorev1beta1.MachineImage, error)

DetermineMachineImageForName finds the cloud specific machine images in the <cloudProfile> for the given <name> and region. In case it does not find the machine image with the <name>, it returns false. Otherwise, true and the cloud-specific machine image will be returned.

func ExtractErrorCodes Uses

func ExtractErrorCodes(err error) []gardencorev1beta1.ErrorCode

ExtractErrorCodes extracts all error codes from the given error by using utilerrors.Errors

func FilterExpiredVersion Uses

func FilterExpiredVersion() func(expirableVersion gardencorev1beta1.ExpirableVersion, version *semver.Version) (bool, error)

FilterExpiredVersion returns a closure that evaluates whether a given expirable version is expired returns true it it is expired

func FindPrimaryDNSProvider Uses

func FindPrimaryDNSProvider(providers []gardencorev1beta1.DNSProvider) *gardencorev1beta1.DNSProvider

FindPrimaryDNSProvider finds the primary provider among the given `providers`. It returns the first provider in case no primary provider is available or the first one if multiple candidates are found.

func FormatLastErrDescription Uses

func FormatLastErrDescription(err error) string

FormatLastErrDescription formats the error message string for the last occurred error.

func GetCondition Uses

func GetCondition(conditions []gardencorev1beta1.Condition, conditionType gardencorev1beta1.ConditionType) *gardencorev1beta1.Condition

GetCondition returns the condition with the given <conditionType> out of the list of <conditions>. In case the required type could not be found, it returns nil.

func GetDefaultMachineImageFromCloudProfile Uses

func GetDefaultMachineImageFromCloudProfile(profile gardencorev1beta1.CloudProfile) *gardencorev1beta1.MachineImage

GetDefaultMachineImageFromCloudProfile gets the first MachineImage from the CloudProfile

func GetKubernetesVersionForMinorUpdate Uses

func GetKubernetesVersionForMinorUpdate(cloudProfile *gardencorev1beta1.CloudProfile, currentVersion string) (bool, string, error)

GetKubernetesVersionForMinorUpdate finds a Kubernetes version in the <cloudProfile> that qualifies for a Kubernetes minor level update given a <currentVersion>. A qualifying version is a non-preview version having the minor version increased by exactly one version. In case the consecutive minor version has only expired versions, picks the latest expired version (will do another minor update during the next maintenance time) If a version can be found, returns true and the qualifying patch version of the next minor version. In case it does not find a version, it returns false.

func GetKubernetesVersionForPatchUpdate Uses

func GetKubernetesVersionForPatchUpdate(cloudProfile *gardencorev1beta1.CloudProfile, currentVersion string) (bool, string, error)

GetKubernetesVersionForPatchUpdate finds the latest Kubernetes patch version for its minor version in the <cloudProfile> compared to the given <currentVersion>. Preview and expired versions do not qualify for the kubernetes patch update. In case it does not find a newer patch version, it returns false. Otherwise, true and the found version will be returned.

func GetLatestQualifyingShootMachineImage Uses

func GetLatestQualifyingShootMachineImage(image gardencorev1beta1.MachineImage, predicates ...VersionPredicate) (bool, *gardencorev1beta1.ShootMachineImage, error)

GetLatestQualifyingShootMachineImage determines the latest qualifying version in a machine image and returns that as a ShootMachineImage A version qualifies if its classification is not preview and the version is not expired.

func GetLatestQualifyingVersion Uses

func GetLatestQualifyingVersion(versions []gardencorev1beta1.ExpirableVersion, predicate ...VersionPredicate) (qualifyingVersionFound bool, latest *gardencorev1beta1.ExpirableVersion, err error)

GetLatestQualifyingVersion returns the latest expirable version from a set of expirable versions A version qualifies if its classification is not preview and the optional predicate does not filter out the version. If the predicate returns true, the version is not considered for the latest qualifying version.

func GetOrInitCondition Uses

func GetOrInitCondition(conditions []gardencorev1beta1.Condition, conditionType gardencorev1beta1.ConditionType) gardencorev1beta1.Condition

GetOrInitCondition tries to retrieve the condition with the given condition type from the given conditions. If the condition could not be found, it returns an initialized condition of the given type.

func GetResourceByName Uses

func GetResourceByName(resources []gardencorev1beta1.NamedResourceReference, name string) *gardencorev1beta1.NamedResourceReference

GetResourceByName returns the first NamedResourceReference with the given name in the given slice, or nil if not found.

func HasNonRetryableErrorCode Uses

func HasNonRetryableErrorCode(lastErrors ...gardencorev1beta1.LastError) bool

HasNonRetryableErrorCode returns true if at least one of given list of last errors has at least one error code that indicates that an automatic retry would not help fixing the problem.

func HibernationIsEnabled Uses

func HibernationIsEnabled(shoot *gardencorev1beta1.Shoot) bool

HibernationIsEnabled checks if the given shoot's desired state is hibernated.

func InitCondition Uses

func InitCondition(conditionType gardencorev1beta1.ConditionType) gardencorev1beta1.Condition

InitCondition initializes a new Condition with an Unknown status.

func IsAPIServerExposureManaged Uses

func IsAPIServerExposureManaged(obj metav1.Object) bool

IsAPIServerExposureManaged returns true, if the Object is managed by Gardener for API server exposure. This indicates to extensions that they should not mutate the object. Gardener marks the kube-apiserver Service and Deployment as managed by it when it uses SNI to expose them.

func IsControllerInstallationRequired Uses

func IsControllerInstallationRequired(controllerInstallation gardencorev1beta1.ControllerInstallation) bool

IsControllerInstallationRequired returns true if a ControllerInstallation has been marked as "required".

func IsControllerInstallationSuccessful Uses

func IsControllerInstallationSuccessful(controllerInstallation gardencorev1beta1.ControllerInstallation) bool

IsControllerInstallationSuccessful returns true if a ControllerInstallation has been marked as "successfully" installed.

func IsResourceSupported Uses

func IsResourceSupported(resources []gardencorev1beta1.ControllerResource, resourceKind, resourceType string) bool

IsResourceSupported returns true if a given combination of kind/type is part of a controller resources list.

func KubernetesVersionExistsInCloudProfile Uses

func KubernetesVersionExistsInCloudProfile(cloudProfile *gardencorev1beta1.CloudProfile, currentVersion string) (bool, gardencorev1beta1.ExpirableVersion, error)

KubernetesVersionExistsInCloudProfile checks if the given Kubernetes version exists in the CloudProfile

func LastError Uses

func LastError(description string, codes ...gardencorev1beta1.ErrorCode) *gardencorev1beta1.LastError

LastError creates a new LastError with the given description, optional codes and sets timestamp when the error is lastly observed.

func LastErrorWithTaskID Uses

func LastErrorWithTaskID(description string, taskID string, codes ...gardencorev1beta1.ErrorCode) *gardencorev1beta1.LastError

LastErrorWithTaskID creates a new LastError with the given description, the ID of the task when the error occurred, optional codes and sets timestamp when the error is lastly observed.

func MergeConditions Uses

func MergeConditions(oldConditions []gardencorev1beta1.Condition, newConditions ...gardencorev1beta1.Condition) []gardencorev1beta1.Condition

MergeConditions merges the given <oldConditions> with the <newConditions>. Existing conditions are superseded by the <newConditions> (depending on the condition type).

func NewConditions Uses

func NewConditions(conditions []gardencorev1beta1.Condition, conditionTypes ...gardencorev1beta1.ConditionType) []*gardencorev1beta1.Condition

NewConditions initializes the provided conditions based on an existing list. If a condition type does not exist in the list yet, it will be set to default values.

func NewErrorWithCodes Uses

func NewErrorWithCodes(message string, codes ...gardencorev1beta1.ErrorCode) error

NewErrorWithCodes creates a new error that additionally exposes the given codes via the Coder interface.

func SetMachineImageVersionsToMachineImage Uses

func SetMachineImageVersionsToMachineImage(machineImages []gardencorev1beta1.MachineImage, imageName string, imageVersions []gardencorev1beta1.MachineImageVersion) ([]gardencorev1beta1.MachineImage, error)

SetMachineImageVersionsToMachineImage sets imageVersions to the matching imageName in the machineImages.

func ShootIgnoresAlerts Uses

func ShootIgnoresAlerts(shoot *gardencorev1beta1.Shoot) bool

ShootIgnoresAlerts checks if the alerts for the annotated shoot cluster should be ignored.

func ShootMachineImageVersionExists Uses

func ShootMachineImageVersionExists(constraint gardencorev1beta1.MachineImage, image gardencorev1beta1.ShootMachineImage) (bool, int)

ShootMachineImageVersionExists checks if the shoot machine image (name, version) exists in the machine image constraint and returns true if yes and the index in the versions slice

func ShootUsesUnmanagedDNS Uses

func ShootUsesUnmanagedDNS(shoot *gardencorev1beta1.Shoot) bool

ShootUsesUnmanagedDNS returns true if the shoot's DNS section is marked as 'unmanaged'.

func ShootWantsBasicAuthentication Uses

func ShootWantsBasicAuthentication(shoot *gardencorev1beta1.Shoot) bool

ShootWantsBasicAuthentication returns true if basic authentication is not configured or if it is set explicitly to 'true'.

func ShootWantsClusterAutoscaler Uses

func ShootWantsClusterAutoscaler(shoot *gardencorev1beta1.Shoot) (bool, error)

ShootWantsClusterAutoscaler checks if the given Shoot needs a cluster autoscaler. This is determined by checking whether one of the Shoot workers has a different Maximum than Minimum.

func ShootWantsVerticalPodAutoscaler Uses

func ShootWantsVerticalPodAutoscaler(shoot *gardencorev1beta1.Shoot) bool

ShootWantsVerticalPodAutoscaler checks if the given Shoot needs a VPA.

func SystemComponentsAllowed Uses

func SystemComponentsAllowed(worker *gardencorev1beta1.Worker) bool

SystemComponentsAllowed checks if the given worker allows system components to be scheduled onto it

func TaintsAreTolerated Uses

func TaintsAreTolerated(taints []gardencorev1beta1.SeedTaint, tolerations []gardencorev1beta1.Toleration) bool

TaintsAreTolerated returns true when all the given taints are tolerated by the given tolerations. It ignores the deprecated taints that were migrated into the new `settings` field in the Seed specification.

func TaintsHave Uses

func TaintsHave(taints []gardencorev1beta1.SeedTaint, key string) bool

TaintsHave returns true if the given key is part of the taints list.

func UpdateMachineImages Uses

func UpdateMachineImages(workers []gardencorev1beta1.Worker, machineImages []*gardencorev1beta1.ShootMachineImage)

UpdateMachineImages updates the machine images in place.

func UpdatedCondition Uses

func UpdatedCondition(condition gardencorev1beta1.Condition, status gardencorev1beta1.ConditionStatus, reason, message string, codes ...gardencorev1beta1.ErrorCode) gardencorev1beta1.Condition

UpdatedCondition updates the properties of one specific condition.

func UpdatedConditionUnknownError Uses

func UpdatedConditionUnknownError(condition gardencorev1beta1.Condition, err error, codes ...gardencorev1beta1.ErrorCode) gardencorev1beta1.Condition

UpdatedConditionUnknownError updates the condition to 'Unknown' status and the message of the given error.

func UpdatedConditionUnknownErrorMessage Uses

func UpdatedConditionUnknownErrorMessage(condition gardencorev1beta1.Condition, message string, codes ...gardencorev1beta1.ErrorCode) gardencorev1beta1.Condition

UpdatedConditionUnknownErrorMessage updates the condition with 'Unknown' status and the given message.

func UpsertLastError Uses

func UpsertLastError(lastErrors []gardencorev1beta1.LastError, lastError gardencorev1beta1.LastError) []gardencorev1beta1.LastError

UpsertLastError adds a 'last error' to the given list of existing 'last errors' if it does not exist yet. Otherwise, it updates it.

func WrapWithLastError Uses

func WrapWithLastError(err error, lastError *gardencorev1beta1.LastError) error

WrapWithLastError is wrapper function for gardencorev1beta1.LastError

type Coder Uses

type Coder interface {
    Codes() []gardencorev1beta1.ErrorCode

Coder is an error that may produce a ErrorCodes visible to the outside.

type ConditionBuilder Uses

type ConditionBuilder interface {
    WithOldCondition(old gardencorev1beta1.Condition) ConditionBuilder
    WithStatus(status gardencorev1beta1.ConditionStatus) ConditionBuilder
    WithReason(reason string) ConditionBuilder
    WithMessage(message string) ConditionBuilder
    WithCodes(codes ...gardencorev1beta1.ErrorCode) ConditionBuilder
    WithNowFunc(now func() metav1.Time) ConditionBuilder
    Build() (new gardencorev1beta1.Condition, updated bool)

ConditionBuilder build a Condition.

func NewConditionBuilder Uses

func NewConditionBuilder(conditionType gardencorev1beta1.ConditionType) (ConditionBuilder, error)

NewConditionBuilder returns a ConditionBuilder for a specific condition.

type ErrorWithCodes Uses

type ErrorWithCodes struct {
    // contains filtered or unexported fields

ErrorWithCodes contains error codes and an error message.

func (*ErrorWithCodes) Codes Uses

func (e *ErrorWithCodes) Codes() []gardencorev1beta1.ErrorCode

Codes returns all error codes.

func (*ErrorWithCodes) Error Uses

func (e *ErrorWithCodes) Error() string

Error returns the error message.

type ShootItems Uses

type ShootItems gardencorev1beta1.ShootList

ShootItems provides helper functions with ShootLists

func (*ShootItems) Union Uses

func (s *ShootItems) Union(shootItems *ShootItems) []gardencorev1beta1.Shoot

Union returns a set of Shoots that presents either in s or shootList

type ShootedSeed Uses

type ShootedSeed struct {
    DisableDNS                     *bool
    DisableCapacityReservation     *bool
    Protected                      *bool
    Visible                        *bool
    MinimumVolumeSize              *string
    APIServer                      *ShootedSeedAPIServer
    BlockCIDRs                     []string
    ShootDefaults                  *gardencorev1beta1.ShootNetworks
    Backup                         *gardencorev1beta1.SeedBackup
    NoGardenlet                    bool
    UseServiceAccountBootstrapping bool
    WithSecretRef                  bool

func ReadShootedSeed Uses

func ReadShootedSeed(shoot *gardencorev1beta1.Shoot) (*ShootedSeed, error)

ReadShootedSeed determines whether the Shoot has been marked to be registered automatically as a Seed cluster.

type ShootedSeedAPIServer Uses

type ShootedSeedAPIServer struct {
    Replicas   *int32
    Autoscaler *ShootedSeedAPIServerAutoscaler

type ShootedSeedAPIServerAutoscaler Uses

type ShootedSeedAPIServerAutoscaler struct {
    MinReplicas *int32
    MaxReplicas int32

type VersionPredicate Uses

type VersionPredicate func(expirableVersion gardencorev1beta1.ExpirableVersion, version *semver.Version) (bool, error)

func FilterDifferentMajorMinorVersion Uses

func FilterDifferentMajorMinorVersion(currentSemVerVersion semver.Version) VersionPredicate

FilterDifferentMajorMinorVersion returns a VersionPredicate(closure) that evaluates whether a given version v has a different same major.minor version compared to the currentSemVerVersion returns true if v has a different major.minor version

func FilterLowerVersion Uses

func FilterLowerVersion(currentSemVerVersion semver.Version) VersionPredicate

FilterLowerVersion returns a VersionPredicate(closure) that evaluates whether a given version v is lower than the currentSemVerVersion returns true if it is lower

func FilterNonConsecutiveMinorVersion Uses

func FilterNonConsecutiveMinorVersion(currentSemVerVersion semver.Version) VersionPredicate

FilterNonConsecutiveMinorVersion returns a VersionPredicate(closure) that evaluates whether a given version v has a consecutive minor version compared to the currentSemVerVersion returns true if v does not have a consecutive minor version

func FilterSameVersion Uses

func FilterSameVersion(currentSemVerVersion semver.Version) VersionPredicate

FilterSameVersion returns a VersionPredicate(closure) that evaluates whether a given version v is equal to the currentSemVerVersion returns true it it is equal

type WrappedLastErrors Uses

type WrappedLastErrors struct {
    Description string
    LastErrors  []gardencorev1beta1.LastError

WrappedLastErrors is a structure which contains the general description of the lastErrors which occurred and an array of all lastErrors

func NewWrappedLastErrors Uses

func NewWrappedLastErrors(description string, err error) *WrappedLastErrors

NewWrappedLastErrors returns an error

Package helper imports 16 packages (graph) and is imported by 48 packages. Updated 2020-08-09. Refresh now. Tools for package owners.