helper

package
v1.48.5 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2022 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 22 Imported by: 55

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Now = metav1.Now

Now determines the current metav1.Time.

Functions

func AddTypeToSecretBinding added in v1.38.0

func AddTypeToSecretBinding(secretBinding *gardencorev1beta1.SecretBinding, providerType string)

AddTypeToSecretBinding adds the given provider type to the SecretBinding.

func BackupBucketIsErroneous added in v1.18.0

func BackupBucketIsErroneous(bb *gardencorev1beta1.BackupBucket) (bool, string)

BackupBucketIsErroneous returns `true` if the given BackupBucket has a last error. It also returns the error description if available.

func CalculateEffectiveKubernetesVersion added in v1.37.0

func CalculateEffectiveKubernetesVersion(controlPlaneVersion *semver.Version, workerKubernetes *gardencorev1beta1.WorkerKubernetes) (*semver.Version, error)

CalculateEffectiveKubernetesVersion if a shoot has kubernetes version specified by worker group, return this, otherwise the shoot kubernetes version

func CalculateSeedUsage added in v1.32.0

func CalculateSeedUsage(shootList []gardencorev1beta1.Shoot) map[string]int

CalculateSeedUsage returns a map representing the number of shoots per seed from the given list of shoots. It takes both spec.seedName and status.seedName into account.

func ComputeOperationType

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

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

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

func DeleteLastErrorByTaskID added in v1.5.1

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 DeprecatedDetermineError added in v1.47.0

func DeprecatedDetermineError(err error) error

DeprecatedDetermineError determines the Gardener error codes for the given error and returns an ErrorWithCodes with the error and codes. This function is deprecated and will be removed in a future version.

func DeprecatedDetermineErrorCodes added in v1.47.0

func DeprecatedDetermineErrorCodes(err error) []gardencorev1beta1.ErrorCode

DeprecatedDetermineErrorCodes determines error codes based on the given error. This function is deprecated and will be removed in a future version.

func DetermineMachineImageForName

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

func ExtractErrorCodes(err error) []gardencorev1beta1.ErrorCode

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

func FilterDeprecatedVersion added in v1.24.3

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

FilterDeprecatedVersion returns a closure that evaluates whether a given expirable version is deprecated returns true if it is deprecated

func FilterExpiredVersion added in v1.4.0

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 if it is expired

func FindMachineTypeByName added in v1.38.0

func FindMachineTypeByName(machines []gardencorev1beta1.MachineType, name string) *gardencorev1beta1.MachineType

FindMachineTypeByName tries to find the machine type details with the given name. If it cannot be found it returns nil.

func FindPrimaryDNSProvider added in v1.1.0

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

func FormatLastErrDescription(err error) string

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

func GetCondition

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

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

GetDefaultMachineImageFromCloudProfile gets the first MachineImage from the CloudProfile

func GetKubernetesVersionForMinorUpdate added in v1.4.0

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 added in v1.4.0

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 added in v1.4.0

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. Older but non-deprecated version is preferred over newer but deprecated one.

func GetLatestQualifyingVersion added in v1.4.0

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

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 GetPurpose added in v1.15.0

GetPurpose returns the purpose of the shoot or 'evaluation' if it's nil.

func GetResourceByName added in v1.5.0

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

func GetSecretBindingTypes added in v1.38.0

func GetSecretBindingTypes(secretBinding *gardencorev1beta1.SecretBinding) []string

GetSecretBindingTypes returns the SecretBinding provider types.

func GetShootAuditPolicyConfigMapName added in v1.37.7

func GetShootAuditPolicyConfigMapName(apiServerConfig *gardencorev1beta1.KubeAPIServerConfig) string

GetShootAuditPolicyConfigMapName returns the Shoot's ConfigMap reference name for the audit policy.

func GetShootAuditPolicyConfigMapRef added in v1.37.7

func GetShootAuditPolicyConfigMapRef(apiServerConfig *gardencorev1beta1.KubeAPIServerConfig) *corev1.ObjectReference

GetShootAuditPolicyConfigMapRef returns the Shoot's ConfigMap reference for the audit policy.

func GetShootCARotationPhase added in v1.42.0

GetShootCARotationPhase returns the specified shoot CA rotation phase or an empty string

func GetShootETCDEncryptionKeyRotationPhase added in v1.48.0

func GetShootETCDEncryptionKeyRotationPhase(credentials *gardencorev1beta1.ShootCredentials) gardencorev1beta1.ShootCredentialsRotationPhase

GetShootETCDEncryptionKeyRotationPhase returns the specified shoot ETCD encryption key rotation phase or an empty string.

func GetShootServiceAccountKeyRotationPhase added in v1.48.0

func GetShootServiceAccountKeyRotationPhase(credentials *gardencorev1beta1.ShootCredentials) gardencorev1beta1.ShootCredentialsRotationPhase

GetShootServiceAccountKeyRotationPhase returns the specified shoot service account key rotation phase or an empty string.

func HasErrorCode added in v1.22.0

func HasErrorCode(lastErrors []gardencorev1beta1.LastError, code gardencorev1beta1.ErrorCode) bool

HasErrorCode checks whether at least one LastError from the given slice of LastErrors <lastErrors> contains the given ErrorCode <code>.

func HasNonRetryableErrorCode added in v1.5.0

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 HasOperationAnnotation added in v1.31.0

func HasOperationAnnotation(meta metav1.ObjectMeta) bool

HasOperationAnnotation returns true if the operation annotation is present and its value is "reconcile", "restore, or "migrate".

func HibernationIsEnabled

func HibernationIsEnabled(shoot *gardencorev1beta1.Shoot) bool

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

func InitCondition

func InitCondition(conditionType gardencorev1beta1.ConditionType) gardencorev1beta1.Condition

InitCondition initializes a new Condition with an Unknown status.

func IsAPIServerExposureManaged added in v1.1.0

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 added in v1.5.0

func IsControllerInstallationRequired(controllerInstallation gardencorev1beta1.ControllerInstallation) bool

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

func IsControllerInstallationSuccessful

func IsControllerInstallationSuccessful(controllerInstallation gardencorev1beta1.ControllerInstallation) bool

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

func IsCoreDNSAutoscalingModeUsed added in v1.41.0

func IsCoreDNSAutoscalingModeUsed(systemComponents *gardencorev1beta1.SystemComponents, autoscalingMode gardencorev1beta1.CoreDNSAutoscalingMode) bool

IsCoreDNSAutoscalingModeUsed indicates whether the specified autoscaling mode of CoreDNS is enabled or not.

func IsResourceSupported

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 IsShootKubeconfigRotationInitiationTimeAfterLastCompletionTime added in v1.43.0

func IsShootKubeconfigRotationInitiationTimeAfterLastCompletionTime(credentials *gardencorev1beta1.ShootCredentials) bool

IsShootKubeconfigRotationInitiationTimeAfterLastCompletionTime returns true when the lastInitiationTime in the .status.credentials.rotation.kubeconfig field is newer than the lastCompletionTime. This is also true if the lastCompletionTime is unset.

func IsShootObservabilityRotationInitiationTimeAfterLastCompletionTime added in v1.47.0

func IsShootObservabilityRotationInitiationTimeAfterLastCompletionTime(credentials *gardencorev1beta1.ShootCredentials) bool

IsShootObservabilityRotationInitiationTimeAfterLastCompletionTime returns true when the lastInitiationTime in the .status.credentials.rotation.observability field is newer than the lastCompletionTime. This is also true if the lastCompletionTime is unset.

func IsShootSSHKeypairRotationInitiationTimeAfterLastCompletionTime added in v1.43.0

func IsShootSSHKeypairRotationInitiationTimeAfterLastCompletionTime(credentials *gardencorev1beta1.ShootCredentials) bool

IsShootSSHKeypairRotationInitiationTimeAfterLastCompletionTime returns true when the lastInitiationTime in the .status.credentials.rotation.sshKeypair field is newer than the lastCompletionTime. This is also true if the lastCompletionTime is unset.

func IsValidShootOperation added in v1.48.0

func IsValidShootOperation(operation string, lastOperation *gardencorev1beta1.LastOperation) (isValid bool)

IsValidShootOperation checks whether the provided operation annotation value is valid. It returns two bools: The first value specifies whether it's valid, and the second bool value specifies whether the gardener-apiserver removes the annotation before the Shoot is persisted to etcd.

func KubeProxyEnabled added in v1.41.0

func KubeProxyEnabled(config *gardencorev1beta1.KubeProxyConfig) bool

KubeProxyEnabled returns true if the kube-proxy is enabled in the Shoot manifest.

func KubernetesDashboardEnabled added in v1.15.0

func KubernetesDashboardEnabled(addons *gardencorev1beta1.Addons) bool

KubernetesDashboardEnabled returns true if the kubernetes-dashboard addon is enabled in the Shoot manifest.

func KubernetesVersionExistsInCloudProfile

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

KubernetesVersionExistsInCloudProfile checks if the given Kubernetes version exists in the CloudProfile

func LastError

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

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

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 MutateObservabilityRotation added in v1.47.0

func MutateObservabilityRotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootObservabilityRotation))

MutateObservabilityRotation mutates the .status.credentials.rotation.observability field based on the provided mutation function. If the field is nil then it is initialized.

func MutateShootCARotation added in v1.43.0

func MutateShootCARotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootCARotation))

MutateShootCARotation mutates the .status.credentials.rotation.certificateAuthorities field based on the provided mutation function. If the field is nil then it is initialized.

func MutateShootETCDEncryptionKeyRotation added in v1.48.0

func MutateShootETCDEncryptionKeyRotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootETCDEncryptionKeyRotation))

MutateShootETCDEncryptionKeyRotation mutates the .status.credentials.rotation.etcdEncryptionKey field based on the provided mutation function. If the field is nil then it is initialized.

func MutateShootKubeconfigRotation added in v1.43.0

func MutateShootKubeconfigRotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootKubeconfigRotation))

MutateShootKubeconfigRotation mutates the .status.credentials.rotation.kubeconfig field based on the provided mutation function. If the field is nil then it is initialized.

func MutateShootSSHKeypairRotation added in v1.43.0

func MutateShootSSHKeypairRotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootSSHKeypairRotation))

MutateShootSSHKeypairRotation mutates the .status.credentials.rotation.sshKeypair field based on the provided mutation function. If the field is nil then it is initialized.

func MutateShootServiceAccountKeyRotation added in v1.48.0

func MutateShootServiceAccountKeyRotation(shoot *gardencorev1beta1.Shoot, f func(*gardencorev1beta1.ShootServiceAccountKeyRotation))

MutateShootServiceAccountKeyRotation mutates the .status.credentials.rotation.serviceAccountKey field based on the provided mutation function. If the field is nil then it is initialized.

func NewErrorWithCodes added in v1.4.0

func NewErrorWithCodes(err error, codes ...gardencorev1beta1.ErrorCode) error

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

func NginxIngressEnabled added in v1.15.0

func NginxIngressEnabled(addons *gardencorev1beta1.Addons) bool

NginxIngressEnabled returns true if the nginx-ingress addon is enabled in the Shoot manifest.

func RemoveConditions added in v1.37.0

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

RemoveConditions removes the conditions with the given types from the given conditions slice.

func SecretBindingHasType added in v1.38.0

func SecretBindingHasType(secretBinding *gardencorev1beta1.SecretBinding, providerType string) bool

SecretBindingHasType checks if the given SecretBinding has the given provider type.

func SeedBackupSecretRefEqual added in v1.19.0

func SeedBackupSecretRefEqual(oldBackup, newBackup *gardencorev1beta1.SeedBackup) bool

SeedBackupSecretRefEqual returns true when the secret reference of the backup configuration is the same.

func SeedSettingDependencyWatchdogEndpointEnabled added in v1.37.0

func SeedSettingDependencyWatchdogEndpointEnabled(settings *gardencorev1beta1.SeedSettings) bool

SeedSettingDependencyWatchdogEndpointEnabled returns true if the depedency-watchdog-endpoint is enabled.

func SeedSettingDependencyWatchdogProbeEnabled added in v1.37.0

func SeedSettingDependencyWatchdogProbeEnabled(settings *gardencorev1beta1.SeedSettings) bool

SeedSettingDependencyWatchdogProbeEnabled returns true if the depedency-watchdog-probe is enabled.

func SeedSettingOwnerChecksEnabled added in v1.37.0

func SeedSettingOwnerChecksEnabled(settings *gardencorev1beta1.SeedSettings) bool

SeedSettingOwnerChecksEnabled returns true if the 'ownerChecks' setting is enabled.

func SeedSettingVerticalPodAutoscalerEnabled added in v1.18.0

func SeedSettingVerticalPodAutoscalerEnabled(settings *gardencorev1beta1.SeedSettings) bool

SeedSettingVerticalPodAutoscalerEnabled returns true if the 'verticalPodAutoscaler' setting is enabled.

func SeedUsesNginxIngressController added in v1.47.0

func SeedUsesNginxIngressController(seed *gardencorev1beta1.Seed) bool

SeedUsesNginxIngressController returns true if the seed's specification requires an nginx ingress controller to be deployed.

func SetMachineImageVersionsToMachineImage

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

SetMachineImageVersionsToMachineImage sets imageVersions to the matching imageName in the machineImages.

func ShootDNSProviderSecretNamesEqual added in v1.19.0

func ShootDNSProviderSecretNamesEqual(oldDNS, newDNS *gardencorev1beta1.DNS) bool

ShootDNSProviderSecretNamesEqual returns true when all the secretNames in the `.spec.dns.providers[]` list are the same.

func ShootIgnoresAlerts

func ShootIgnoresAlerts(shoot *gardencorev1beta1.Shoot) bool

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

func ShootMachineImageVersionExists

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 ShootSecretResourceReferencesEqual added in v1.19.0

func ShootSecretResourceReferencesEqual(oldResources, newResources []gardencorev1beta1.NamedResourceReference) bool

ShootSecretResourceReferencesEqual returns true when at least one of the Secret resource references inside a Shoot has been changed.

func ShootUsesUnmanagedDNS added in v0.34.0

func ShootUsesUnmanagedDNS(shoot *gardencorev1beta1.Shoot) bool

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

func ShootWantsAlertManager added in v1.15.0

func ShootWantsAlertManager(shoot *gardencorev1beta1.Shoot) bool

ShootWantsAlertManager checks if the given shoot specification requires an alert manager.

func ShootWantsAnonymousAuthentication added in v1.24.0

func ShootWantsAnonymousAuthentication(kubeAPIServerConfig *gardencorev1beta1.KubeAPIServerConfig) bool

ShootWantsAnonymousAuthentication returns true if anonymous authentication is set explicitly to 'true' and false otherwise.

func ShootWantsBasicAuthentication

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

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 added in v1.7.0

func ShootWantsVerticalPodAutoscaler(shoot *gardencorev1beta1.Shoot) bool

ShootWantsVerticalPodAutoscaler checks if the given Shoot needs a VPA.

func SystemComponentsAllowed added in v1.7.0

func SystemComponentsAllowed(worker *gardencorev1beta1.Worker) bool

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

func TaintsAreTolerated added in v1.6.0

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

TaintsAreTolerated returns true when all the given taints are tolerated by the given tolerations.

func TaintsHave

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

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

func UpdatedCondition

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

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

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 added in v1.5.1

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 added in v0.34.0

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

WrapWithLastError is wrapper function for gardencorev1beta1.LastError

Types

type Coder

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

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

type ConditionBuilder added in v0.34.0

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 added in v0.34.0

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

NewConditionBuilder returns a ConditionBuilder for a specific condition.

type ErrorWithCodes added in v1.5.1

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

ErrorWithCodes contains the error and Gardener error codes.

func (*ErrorWithCodes) Codes added in v1.5.1

Codes returns all error codes.

func (*ErrorWithCodes) Error added in v1.5.1

func (e *ErrorWithCodes) Error() string

Error returns the error message.

func (*ErrorWithCodes) Retriable added in v1.25.0

func (e *ErrorWithCodes) Retriable()

Retriable marks ErrorWithCodes as retriable.

func (*ErrorWithCodes) Unwrap added in v1.47.0

func (e *ErrorWithCodes) Unwrap() error

Unwrap rettieves the error from ErrorWithCodes.

type MultiErrorWithCodes added in v1.38.0

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

MultiErrorWithCodes is a struct that contains multiple errors and ErrorCodes.

func NewMultiErrorWithCodes added in v1.38.0

func NewMultiErrorWithCodes(errorFormat func(errs []error) string) *MultiErrorWithCodes

NewMultiErrorWithCodes returns a new instance of `MultiErrorWithCodes`.

func (*MultiErrorWithCodes) Append added in v1.38.0

func (m *MultiErrorWithCodes) Append(err error)

Append appends the given error to the `MultiErrorWithCodes`.

func (*MultiErrorWithCodes) Codes added in v1.38.0

Codes returns all underlying `gardencorev1beta1.ErrorCode` codes.

func (*MultiErrorWithCodes) Error added in v1.38.0

func (m *MultiErrorWithCodes) Error() string

Error implements the error interface.

func (*MultiErrorWithCodes) ErrorOrNil added in v1.38.0

func (m *MultiErrorWithCodes) ErrorOrNil() error

ErrorOrNil returns nil if no underlying errors are given.

type ShootItems added in v1.7.0

type ShootItems gardencorev1beta1.ShootList

ShootItems provides helper functions with ShootLists

func (*ShootItems) Union added in v1.7.0

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

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

type ShootedSeed

type ShootedSeed struct {
	DisableDNS                      *bool
	DisableCapacityReservation      *bool
	Protected                       *bool
	Visible                         *bool
	LoadBalancerServicesAnnotations map[string]string
	MinimumVolumeSize               *string
	APIServer                       *ShootedSeedAPIServer
	BlockCIDRs                      []string
	ShootDefaults                   *gardencorev1beta1.ShootNetworks
	Backup                          *gardencorev1beta1.SeedBackup
	SeedProviderConfig              *runtime.RawExtension
	IngressController               *gardencorev1beta1.IngressController
	NoGardenlet                     bool
	UseServiceAccountBootstrapping  bool
	WithSecretRef                   bool
	FeatureGates                    map[string]bool
	Resources                       *ShootedSeedResources
}

ShootedSeed contains the configuration of a shooted seed.

func ReadShootedSeed

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

type ShootedSeedAPIServer struct {
	Replicas   *int32
	Autoscaler *ShootedSeedAPIServerAutoscaler
}

ShootedSeedAPIServer contains the configuration of a shooted seed API server.

func ReadManagedSeedAPIServer added in v1.18.0

func ReadManagedSeedAPIServer(shoot *gardencorev1beta1.Shoot) (*ShootedSeedAPIServer, error)

ReadManagedSeedAPIServer reads the managed seed API server settings from the corresponding annotation.

type ShootedSeedAPIServerAutoscaler

type ShootedSeedAPIServerAutoscaler struct {
	MinReplicas *int32
	MaxReplicas int32
}

ShootedSeedAPIServerAutoscaler contains the configuration of a shooted seed API server autoscaler.

type ShootedSeedResources added in v1.13.0

type ShootedSeedResources struct {
	Capacity corev1.ResourceList
	Reserved corev1.ResourceList
}

ShootedSeedResources contains the resources capacity and reserved values of a shooted seed.

type VersionPredicate added in v1.4.0

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

VersionPredicate is a function that evaluates a condition on the given versions.

func FilterDifferentMajorMinorVersion added in v1.4.0

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 added in v1.4.0

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 added in v1.4.0

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 added in v1.4.0

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 if it is equal

type WrappedLastErrors

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

func NewWrappedLastErrors(description string, err error) *WrappedLastErrors

NewWrappedLastErrors returns an error

Jump to

Keyboard shortcuts

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