core

package
v1.107.1 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 12 Imported by: 91

Documentation

Overview

Package core is the internal version of the API. +groupName=core.gardener.cloud

Index

Constants

View Source
const (
	// BackupBucketSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/v1beta1 BackupBucket.
	BackupBucketSeedName = "spec.seedName"
	// BackupEntrySeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/v1beta1 BackupEntry.
	BackupEntrySeedName = "spec.seedName"
	// BackupEntrySeedName is the field selector path for finding
	// the BackupBucket for a core.gardener.cloud/v1beta1 BackupEntry.
	BackupEntryBucketName = "spec.bucketName"

	// InternalSecretType is the field selector path for finding
	// the secret type of a core.gardener.cloud/v1beta1 InternalSecret.
	InternalSecretType = "type"

	// ProjectNamespace is the field selector path for filtering by namespace
	// for core.gardener.cloud/v1beta1 Project.
	ProjectNamespace = "spec.namespace"

	// RegistrationRefName is the field selector path for finding
	// the ControllerRegistration name of a core.gardener.cloud/{v1alpha1,v1beta1} ControllerInstallation.
	RegistrationRefName = "spec.registrationRef.name"
	// SeedRefName is the field selector path for finding
	// the Seed name of a core.gardener.cloud/{v1alpha1,v1beta1} ControllerInstallation.
	SeedRefName = "spec.seedRef.name"

	// ShootCloudProfileName is the field selector path for finding
	// the CloudProfile name of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootCloudProfileName = "spec.cloudProfileName"
	// ShootCloudProfileRefName is the field selector path for finding
	// the referenced CloudProfile name of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootCloudProfileRefName = "spec.cloudProfile.Name"
	// ShootCloudProfileRefKind is the field selector path for finding
	// the referenced CloudProfile kind of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootCloudProfileRefKind = "spec.cloudProfile.Kind"
	// ShootSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot.
	ShootSeedName = "spec.seedName"
	// ShootStatusSeedName is the field selector path for finding
	// the Seed cluster of a core.gardener.cloud/{v1alpha1,v1beta1} Shoot
	// referred in the status.
	ShootStatusSeedName = "status.seedName"

	// NamespacedCloudProfileParentRefName is the field selector path for finding
	// the parent CloudProfile of a core.gardener.cloud/v1beta1 NamespacedCloudProfile.
	NamespacedCloudProfileParentRefName = "spec.parent.name"
)

Field path constants that are specific to the internal API representation.

View Source
const (
	// VolumeClassStandard is a constant for the standard volume class.
	VolumeClassStandard string = "standard"
	// VolumeClassPremium is a constant for the premium volume class.
	VolumeClassPremium string = "premium"
)
View Source
const (
	// ProjectMemberAdmin is a const for a role that provides full admin access.
	ProjectMemberAdmin = "admin"
	// ProjectMemberOwner is a const for a role that provides full owner access.
	ProjectMemberOwner = "owner"
	// ProjectMemberViewer is a const for a role that provides limited permissions to only view some resources.
	ProjectMemberViewer = "viewer"
	// ProjectMemberUserAccessManager is a const for a role that provides permissions to manage human user(s, (groups)).
	ProjectMemberUserAccessManager = "uam"
	// ProjectMemberServiceAccountManager is a const for a role that provides permissions to manage service accounts and request tokens for them.
	ProjectMemberServiceAccountManager = "serviceaccountmanager"
	// ProjectMemberExtensionPrefix is a prefix for custom roles that are not known by Gardener.
	ProjectMemberExtensionPrefix = "extension:"
)
View Source
const (
	// ProjectPending indicates that the project reconciliation is pending.
	ProjectPending ProjectPhase = "Pending"
	// ProjectReady indicates that the project reconciliation was successful.
	ProjectReady ProjectPhase = "Ready"
	// ProjectFailed indicates that the project reconciliation failed.
	ProjectFailed ProjectPhase = "Failed"
	// ProjectTerminating indicates that the project is in termination process.
	ProjectTerminating ProjectPhase = "Terminating"

	// ProjectEventNamespaceReconcileFailed indicates that the namespace reconciliation has failed.
	ProjectEventNamespaceReconcileFailed = "NamespaceReconcileFailed"
	// ProjectEventNamespaceReconcileSuccessful indicates that the namespace reconciliation has succeeded.
	ProjectEventNamespaceReconcileSuccessful = "NamespaceReconcileSuccessful"
	// ProjectEventNamespaceNotEmpty indicates that the namespace cannot be released because it is not empty.
	ProjectEventNamespaceNotEmpty = "NamespaceNotEmpty"
	// ProjectEventNamespaceDeletionFailed indicates that the namespace deletion failed.
	ProjectEventNamespaceDeletionFailed = "NamespaceDeletionFailed"
	// ProjectEventNamespaceMarkedForDeletion indicates that the namespace has been successfully marked for deletion.
	ProjectEventNamespaceMarkedForDeletion = "NamespaceMarkedForDeletion"
)
View Source
const (
	// QuotaMetricCPU is the constraint for the amount of CPUs
	QuotaMetricCPU corev1.ResourceName = corev1.ResourceCPU
	// QuotaMetricGPU is the constraint for the amount of GPUs (e.g. from Nvidia)
	QuotaMetricGPU corev1.ResourceName = "gpu"
	// QuotaMetricMemory is the constraint for the amount of memory
	QuotaMetricMemory corev1.ResourceName = corev1.ResourceMemory
	// QuotaMetricStorageStandard is the constraint for the size of a standard disk
	QuotaMetricStorageStandard corev1.ResourceName = corev1.ResourceStorage + ".standard"
	// QuotaMetricStoragePremium is the constraint for the size of a premium disk (e.g. SSD)
	QuotaMetricStoragePremium corev1.ResourceName = corev1.ResourceStorage + ".premium"
	// QuotaMetricLoadbalancer is the constraint for the amount of loadbalancers
	QuotaMetricLoadbalancer corev1.ResourceName = "loadbalancer"
)
View Source
const (
	// DefaultPodNetworkCIDR is a constant for the default pod network CIDR of a Shoot cluster.
	DefaultPodNetworkCIDR = "100.96.0.0/11"
	// DefaultServiceNetworkCIDR is a constant for the default service network CIDR of a Shoot cluster.
	DefaultServiceNetworkCIDR = "100.64.0.0/13"
)
View Source
const (
	// MaintenanceTimeWindowDurationMinimum is the minimum duration for a maintenance time window.
	MaintenanceTimeWindowDurationMinimum = 30 * time.Minute
	// MaintenanceTimeWindowDurationMaximum is the maximum duration for a maintenance time window.
	MaintenanceTimeWindowDurationMaximum = 6 * time.Hour
)
View Source
const (
	// ShootEventImageVersionMaintenance indicates that a maintenance operation regarding the image version has been performed.
	ShootEventImageVersionMaintenance = "MachineImageVersionMaintenance"
	// ShootEventK8sVersionMaintenance indicates that a maintenance operation regarding the K8s version has been performed.
	ShootEventK8sVersionMaintenance = "KubernetesVersionMaintenance"
	// ShootEventHibernationEnabled indicates that hibernation started.
	ShootEventHibernationEnabled = "Hibernated"
	// ShootEventHibernationDisabled indicates that hibernation ended.
	ShootEventHibernationDisabled = "WokenUp"
	// ShootEventSchedulingSuccessful indicates that a scheduling decision was taken successfully.
	ShootEventSchedulingSuccessful = "SchedulingSuccessful"
	// ShootEventSchedulingFailed indicates that a scheduling decision failed.
	ShootEventSchedulingFailed = "SchedulingFailed"
)
View Source
const (
	// ConditionAvailable is a condition type for indicating availability.
	ConditionAvailable ConditionType = "Available"

	// ConditionTrue means a resource is in the condition.
	ConditionTrue ConditionStatus = "True"
	// ConditionFalse means a resource is not in the condition.
	ConditionFalse ConditionStatus = "False"
	// ConditionUnknown means Gardener can't decide if a resource is in the condition or not.
	ConditionUnknown ConditionStatus = "Unknown"
	// ConditionProgressing means the condition was seen true, failed but stayed within a predefined failure threshold.
	// In the future, we could add other intermediate conditions, e.g. ConditionDegraded.
	ConditionProgressing ConditionStatus = "Progressing"

	// ConditionCheckError is a constant for a reason in condition.
	ConditionCheckError = "ConditionCheckError"
)
View Source
const (
	// BackupEntryForceDeletion is a constant for an annotation on a BackupEntry indicating that it should be force deleted.
	BackupEntryForceDeletion = "backupentry.core.gardener.cloud/force-deletion"
)
View Source
const DNSUnmanaged string = "unmanaged"

DNSUnmanaged is a constant for the 'unmanaged' DNS provider.

View Source
const DefaultDomain = "cluster.local"

DefaultDomain is the default value in the Shoot's '.spec.dns.domain' when '.spec.dns.provider' is 'unmanaged'

View Source
const (
	// GardenerName is the value in a Garden resource's `.metadata.finalizers[]` array on which the Gardener will react
	// when performing a delete request on a resource.
	GardenerName = "gardener"
)
View Source
const (
	// GardenerSeedLeaseNamespace is the namespace in which Gardenlet will report Seeds'
	// status using Lease resources for each Seed
	GardenerSeedLeaseNamespace = "gardener-system-seed-lease"
)
View Source
const GroupName = "core.gardener.cloud"

GroupName is the name of the core API group.

View Source
const (
	// KubernetesDashboardAuthModeToken uses token-based mode for auth.
	KubernetesDashboardAuthModeToken = "token"
)
View Source
const (
	// ResourceShoots is a resource constant for the number of shoots.
	ResourceShoots corev1.ResourceName = "shoots"
)

Resource constants for Gardener object types

View Source
const (
	// SeedTaintProtected is a constant for a taint key on a seed that marks it as protected. Protected seeds
	// may only be used by shoots in the `garden` namespace.
	SeedTaintProtected = "seed.gardener.cloud/protected"
)

Variables

View Source
var (
	// SchemeBuilder is a new Scheme Builder which registers our API.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a reference to the Scheme Builder's AddToScheme function.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// DefaultWorkerMaxSurge is the default value for Worker MaxSurge.
	DefaultWorkerMaxSurge = intstr.FromInt32(1)
	// DefaultWorkerMaxUnavailable is the default value for Worker MaxUnavailable.
	DefaultWorkerMaxUnavailable = intstr.FromInt32(0)
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects.

Functions

func IsIPv4SingleStack added in v1.63.0

func IsIPv4SingleStack(ipFamilies []IPFamily) bool

IsIPv4SingleStack determines whether the given list of IP families specifies IPv4 single-stack networking.

func IsIPv6SingleStack added in v1.63.0

func IsIPv6SingleStack(ipFamilies []IPFamily) bool

IsIPv6SingleStack determines whether the given list of IP families specifies IPv6 single-stack networking.

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind.

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource.

Types

type APIServerLogging added in v1.76.0

type APIServerLogging struct {
	// Verbosity is the kube-apiserver log verbosity level
	Verbosity *int32
	// HTTPAccessVerbosity is the kube-apiserver access logs level
	HTTPAccessVerbosity *int32
}

APIServerLogging contains configuration for the logs level and http access logs

func (*APIServerLogging) DeepCopy added in v1.76.0

func (in *APIServerLogging) DeepCopy() *APIServerLogging

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerLogging.

func (*APIServerLogging) DeepCopyInto added in v1.76.0

func (in *APIServerLogging) DeepCopyInto(out *APIServerLogging)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServerRequests added in v1.76.0

type APIServerRequests struct {
	// MaxNonMutatingInflight is the maximum number of non-mutating requests in flight at a given time. When the server
	// exceeds this, it rejects requests.
	MaxNonMutatingInflight *int32
	// MaxMutatingInflight is the maximum number of mutating requests in flight at a given time. When the server
	// exceeds this, it rejects requests.
	MaxMutatingInflight *int32
}

APIServerRequests contains configuration for request-specific settings for the kube-apiserver.

func (*APIServerRequests) DeepCopy added in v1.76.0

func (in *APIServerRequests) DeepCopy() *APIServerRequests

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerRequests.

func (*APIServerRequests) DeepCopyInto added in v1.76.0

func (in *APIServerRequests) DeepCopyInto(out *APIServerRequests)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessRestriction added in v1.107.0

type AccessRestriction struct {
	// Name is the name of the restriction.
	Name string
}

AccessRestriction describes an access restriction for a Kubernetes cluster (e.g., EU access-only).

func (*AccessRestriction) DeepCopy added in v1.107.0

func (in *AccessRestriction) DeepCopy() *AccessRestriction

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRestriction.

func (*AccessRestriction) DeepCopyInto added in v1.107.0

func (in *AccessRestriction) DeepCopyInto(out *AccessRestriction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AccessRestrictionWithOptions added in v1.107.0

type AccessRestrictionWithOptions struct {
	AccessRestriction
	// Options is a map of additional options for the access restriction.
	// +optional
	Options map[string]string
}

AccessRestrictionWithOptions describes an access restriction for a Kubernetes cluster (e.g., EU access-only) and allows to specify additional options.

func (*AccessRestrictionWithOptions) DeepCopy added in v1.107.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRestrictionWithOptions.

func (*AccessRestrictionWithOptions) DeepCopyInto added in v1.107.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Addon added in v1.0.0

type Addon struct {
	// Enabled indicates whether the addon is enabled or not.
	Enabled bool
}

Addon allows enabling or disabling a specific addon and is used to derive from.

func (*Addon) DeepCopy added in v1.0.0

func (in *Addon) DeepCopy() *Addon

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addon.

func (*Addon) DeepCopyInto added in v1.0.0

func (in *Addon) DeepCopyInto(out *Addon)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Addons added in v1.0.0

type Addons struct {
	// KubernetesDashboard holds configuration settings for the kubernetes dashboard addon.
	KubernetesDashboard *KubernetesDashboard
	// NginxIngress holds configuration settings for the nginx-ingress addon.
	NginxIngress *NginxIngress
}

Addons is a collection of configuration for specific addons which are managed by the Gardener.

func (*Addons) DeepCopy added in v1.0.0

func (in *Addons) DeepCopy() *Addons

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addons.

func (*Addons) DeepCopyInto added in v1.0.0

func (in *Addons) DeepCopyInto(out *Addons)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdmissionPlugin added in v1.0.0

type AdmissionPlugin struct {
	// Name is the name of the plugin.
	Name string
	// Disabled specifies whether this plugin should be disabled.
	Disabled *bool
	// Config is the configuration of the plugin.
	Config *runtime.RawExtension
	// KubeconfigSecretName specifies the name of a secret containing the kubeconfig for this admission plugin.
	KubeconfigSecretName *string
}

AdmissionPlugin contains information about a specific admission plugin and its corresponding configuration.

func (*AdmissionPlugin) DeepCopy added in v1.0.0

func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPlugin.

func (*AdmissionPlugin) DeepCopyInto added in v1.0.0

func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Alerting added in v1.0.0

type Alerting struct {
	// MonitoringEmailReceivers is a list of recipients for alerts
	EmailReceivers []string
}

Alerting contains information about how alerting will be done (i.e. who will receive alerts and how).

func (*Alerting) DeepCopy added in v1.0.0

func (in *Alerting) DeepCopy() *Alerting

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alerting.

func (*Alerting) DeepCopyInto added in v1.0.0

func (in *Alerting) DeepCopyInto(out *Alerting)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuditConfig added in v1.0.0

type AuditConfig struct {
	// AuditPolicy contains configuration settings for audit policy of the kube-apiserver.
	AuditPolicy *AuditPolicy
}

AuditConfig contains settings for audit of the api server

func (*AuditConfig) DeepCopy added in v1.0.0

func (in *AuditConfig) DeepCopy() *AuditConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditConfig.

func (*AuditConfig) DeepCopyInto added in v1.0.0

func (in *AuditConfig) DeepCopyInto(out *AuditConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuditPolicy added in v1.0.0

type AuditPolicy struct {
	// ConfigMapRef is a reference to a ConfigMap object in the same namespace,
	// which contains the audit policy for the kube-apiserver.
	ConfigMapRef *corev1.ObjectReference
}

AuditPolicy contains audit policy for kube-apiserver

func (*AuditPolicy) DeepCopy added in v1.0.0

func (in *AuditPolicy) DeepCopy() *AuditPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditPolicy.

func (*AuditPolicy) DeepCopyInto added in v1.0.0

func (in *AuditPolicy) DeepCopyInto(out *AuditPolicy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthorizerKubeconfigReference added in v1.107.0

type AuthorizerKubeconfigReference struct {
	// AuthorizerName is the name of a webhook authorizer.
	AuthorizerName string
	// SecretName is the name of a secret containing the kubeconfig.
	SecretName string
}

AuthorizerKubeconfigReference is a reference for a kubeconfig for a authorization webhook.

func (*AuthorizerKubeconfigReference) DeepCopy added in v1.107.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizerKubeconfigReference.

func (*AuthorizerKubeconfigReference) DeepCopyInto added in v1.107.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AvailabilityZone added in v1.0.0

type AvailabilityZone struct {
	// Name is an availability zone name.
	Name string
	// UnavailableMachineTypes is a list of machine type names that are not availability in this zone.
	UnavailableMachineTypes []string
	// UnavailableVolumeTypes is a list of volume type names that are not availability in this zone.
	UnavailableVolumeTypes []string
}

AvailabilityZone is an availability zone.

func (*AvailabilityZone) DeepCopy added in v1.0.0

func (in *AvailabilityZone) DeepCopy() *AvailabilityZone

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityZone.

func (*AvailabilityZone) DeepCopyInto added in v1.0.0

func (in *AvailabilityZone) DeepCopyInto(out *AvailabilityZone)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupBucket

type BackupBucket struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the Backup Bucket.
	Spec BackupBucketSpec
	// Most recently observed status of the Backup Bucket.
	Status BackupBucketStatus
}

BackupBucket holds details about backup bucket

func (*BackupBucket) DeepCopy

func (in *BackupBucket) DeepCopy() *BackupBucket

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupBucket.

func (*BackupBucket) DeepCopyInto

func (in *BackupBucket) DeepCopyInto(out *BackupBucket)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupBucket) DeepCopyObject

func (in *BackupBucket) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupBucketList

type BackupBucketList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of BackupBucket.
	Items []BackupBucket
}

BackupBucketList is a list of BackupBucket objects.

func (*BackupBucketList) DeepCopy

func (in *BackupBucketList) DeepCopy() *BackupBucketList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupBucketList.

func (*BackupBucketList) DeepCopyInto

func (in *BackupBucketList) DeepCopyInto(out *BackupBucketList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupBucketList) DeepCopyObject

func (in *BackupBucketList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupBucketProvider

type BackupBucketProvider struct {
	// Type is the type of provider.
	Type string
	// Region is the region of the bucket.
	Region string
}

BackupBucketProvider holds the details of cloud provider of the object store.

func (*BackupBucketProvider) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupBucketProvider.

func (*BackupBucketProvider) DeepCopyInto

func (in *BackupBucketProvider) DeepCopyInto(out *BackupBucketProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupBucketSpec

type BackupBucketSpec struct {
	// Provider holds the details of cloud provider of the object store. This field is immutable.
	Provider BackupBucketProvider
	// ProviderConfig is the configuration passed to BackupBucket resource.
	ProviderConfig *runtime.RawExtension
	// SecretRef is a reference to a secret that contains the credentials to access object store.
	SecretRef corev1.SecretReference
	// SeedName holds the name of the seed allocated to BackupBucket for running controller.
	// This field is immutable.
	SeedName *string
}

BackupBucketSpec is the specification of a Backup Bucket.

func (*BackupBucketSpec) DeepCopy

func (in *BackupBucketSpec) DeepCopy() *BackupBucketSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupBucketSpec.

func (*BackupBucketSpec) DeepCopyInto

func (in *BackupBucketSpec) DeepCopyInto(out *BackupBucketSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupBucketStatus

type BackupBucketStatus struct {
	// ProviderStatus is the configuration passed to BackupBucket resource.
	ProviderStatus *runtime.RawExtension
	// LastOperation holds information about the last operation on the BackupBucket.
	LastOperation *LastOperation
	// LastError holds information about the last occurred error during an operation.
	LastError *LastError
	// ObservedGeneration is the most recent generation observed for this BackupBucket. It corresponds to the
	// BackupBucket's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// GeneratedSecretRef is reference to the secret generated by backup bucket, which
	// will have object store specific credentials.
	GeneratedSecretRef *corev1.SecretReference
}

BackupBucketStatus holds the most recently observed status of the Backup Bucket.

func (*BackupBucketStatus) DeepCopy

func (in *BackupBucketStatus) DeepCopy() *BackupBucketStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupBucketStatus.

func (*BackupBucketStatus) DeepCopyInto

func (in *BackupBucketStatus) DeepCopyInto(out *BackupBucketStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupEntry

type BackupEntry struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of the Backup Entry.
	Spec BackupEntrySpec
	// Status contains the most recently observed status of the Backup Entry.
	Status BackupEntryStatus
}

BackupEntry holds details about shoot backup.

func (*BackupEntry) DeepCopy

func (in *BackupEntry) DeepCopy() *BackupEntry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupEntry.

func (*BackupEntry) DeepCopyInto

func (in *BackupEntry) DeepCopyInto(out *BackupEntry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupEntry) DeepCopyObject

func (in *BackupEntry) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupEntryList

type BackupEntryList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of BackupEntry.
	Items []BackupEntry
}

BackupEntryList is a list of BackupEntry objects.

func (*BackupEntryList) DeepCopy

func (in *BackupEntryList) DeepCopy() *BackupEntryList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupEntryList.

func (*BackupEntryList) DeepCopyInto

func (in *BackupEntryList) DeepCopyInto(out *BackupEntryList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BackupEntryList) DeepCopyObject

func (in *BackupEntryList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BackupEntrySpec

type BackupEntrySpec struct {
	// BucketName is the name of backup bucket for this Backup Entry.
	BucketName string
	// SeedName holds the name of the seed to which this BackupEntry is scheduled
	SeedName *string
}

BackupEntrySpec is the specification of a Backup Entry.

func (*BackupEntrySpec) DeepCopy

func (in *BackupEntrySpec) DeepCopy() *BackupEntrySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupEntrySpec.

func (*BackupEntrySpec) DeepCopyInto

func (in *BackupEntrySpec) DeepCopyInto(out *BackupEntrySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BackupEntryStatus

type BackupEntryStatus struct {
	// LastOperation holds information about the last operation on the BackupEntry.
	LastOperation *LastOperation
	// LastError holds information about the last occurred error during an operation.
	LastError *LastError
	// ObservedGeneration is the most recent generation observed for this BackupEntry. It corresponds to the
	// BackupEntry's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// SeedName is the name of the seed to which this BackupEntry is currently scheduled. This field is populated
	// at the beginning of a create/reconcile operation. It is used when moving the BackupEntry between seeds.
	SeedName *string
	// MigrationStartTime is the time when a migration to a different seed was initiated.
	MigrationStartTime *metav1.Time
}

BackupEntryStatus holds the most recently observed status of the Backup Entry.

func (*BackupEntryStatus) DeepCopy

func (in *BackupEntryStatus) DeepCopy() *BackupEntryStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupEntryStatus.

func (*BackupEntryStatus) DeepCopyInto

func (in *BackupEntryStatus) DeepCopyInto(out *BackupEntryStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Bastion added in v1.101.0

type Bastion struct {
	// MachineImage contains the bastions machine image properties
	MachineImage *BastionMachineImage
	// MachineType contains the bastions machine type properties
	MachineType *BastionMachineType
}

Bastion contains the bastions creation info

func (*Bastion) DeepCopy added in v1.101.0

func (in *Bastion) DeepCopy() *Bastion

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bastion.

func (*Bastion) DeepCopyInto added in v1.101.0

func (in *Bastion) DeepCopyInto(out *Bastion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BastionMachineImage added in v1.101.0

type BastionMachineImage struct {
	// Name of the machine image
	Name string
	// Version of the machine image
	Version *string
}

BastionMachineImage contains the bastions machine image properties

func (*BastionMachineImage) DeepCopy added in v1.101.0

func (in *BastionMachineImage) DeepCopy() *BastionMachineImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionMachineImage.

func (*BastionMachineImage) DeepCopyInto added in v1.101.0

func (in *BastionMachineImage) DeepCopyInto(out *BastionMachineImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BastionMachineType added in v1.101.0

type BastionMachineType struct {
	// Name of the machine type
	Name string
}

BastionMachineType contains the bastions machine type properties

func (*BastionMachineType) DeepCopy added in v1.101.0

func (in *BastionMachineType) DeepCopy() *BastionMachineType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionMachineType.

func (*BastionMachineType) DeepCopyInto added in v1.101.0

func (in *BastionMachineType) DeepCopyInto(out *BastionMachineType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CARotation added in v1.62.0

type CARotation struct {
	// Phase describes the phase of the certificate authority credential rotation.
	Phase CredentialsRotationPhase
	// LastCompletionTime is the most recent time when the certificate authority credential rotation was successfully
	// completed.
	LastCompletionTime *metav1.Time
	// LastInitiationTime is the most recent time when the certificate authority credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastInitiationFinishedTime is the recent time when the certificate authority credential rotation initiation was
	// completed.
	LastInitiationFinishedTime *metav1.Time
	// LastCompletionTriggeredTime is the recent time when the certificate authority credential rotation completion was
	// triggered.
	LastCompletionTriggeredTime *metav1.Time
}

CARotation contains information about the certificate authority credential rotation.

func (*CARotation) DeepCopy added in v1.62.0

func (in *CARotation) DeepCopy() *CARotation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CARotation.

func (*CARotation) DeepCopyInto added in v1.62.0

func (in *CARotation) DeepCopyInto(out *CARotation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CRI added in v1.2.0

type CRI struct {
	// The name of the CRI library
	Name CRIName
	// ContainerRuntimes is the list of the required container runtimes supported for a worker pool.
	ContainerRuntimes []ContainerRuntime
}

CRI contains information about the Container Runtimes.

func (*CRI) DeepCopy added in v1.2.0

func (in *CRI) DeepCopy() *CRI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRI.

func (*CRI) DeepCopyInto added in v1.2.0

func (in *CRI) DeepCopyInto(out *CRI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CRIName added in v1.2.0

type CRIName string

CRIName is a type alias for the CRI name string.

const (
	// CRINameContainerD is a constant for ContainerD CRI name.
	CRINameContainerD CRIName = "containerd"
)

type CloudProfile added in v1.0.0

type CloudProfile struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the provider environment properties.
	Spec CloudProfileSpec
}

CloudProfile represents certain properties about a provider environment.

func (*CloudProfile) DeepCopy added in v1.0.0

func (in *CloudProfile) DeepCopy() *CloudProfile

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfile.

func (*CloudProfile) DeepCopyInto added in v1.0.0

func (in *CloudProfile) DeepCopyInto(out *CloudProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudProfile) DeepCopyObject added in v1.0.0

func (in *CloudProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*CloudProfile) GetProviderType added in v1.4.0

func (c *CloudProfile) GetProviderType() string

GetProviderType gets the type of the provider.

type CloudProfileList added in v1.0.0

type CloudProfileList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of CloudProfiles.
	Items []CloudProfile
}

CloudProfileList is a collection of CloudProfiles.

func (*CloudProfileList) DeepCopy added in v1.0.0

func (in *CloudProfileList) DeepCopy() *CloudProfileList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileList.

func (*CloudProfileList) DeepCopyInto added in v1.0.0

func (in *CloudProfileList) DeepCopyInto(out *CloudProfileList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*CloudProfileList) DeepCopyObject added in v1.0.0

func (in *CloudProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type CloudProfileReference added in v1.92.0

type CloudProfileReference struct {
	// Kind contains a CloudProfile kind.
	Kind string
	// Name contains the name of the referenced CloudProfile.
	Name string
}

CloudProfileReference holds the information about a CloudProfile or a NamespacedCloudProfile.

func (*CloudProfileReference) DeepCopy added in v1.92.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileReference.

func (*CloudProfileReference) DeepCopyInto added in v1.92.0

func (in *CloudProfileReference) DeepCopyInto(out *CloudProfileReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CloudProfileSpec added in v1.0.0

type CloudProfileSpec struct {
	// CABundle is a certificate bundle which will be installed onto every host machine of shoot cluster targeting this profile.
	CABundle *string
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes KubernetesSettings
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// ProviderConfig contains provider-specific configuration for the profile.
	ProviderConfig *runtime.RawExtension
	// Regions contains constraints regarding allowed values for regions and zones.
	Regions []Region
	// SeedSelector contains an optional list of labels on `Seed` resources that marks those seeds whose shoots may use this provider profile.
	// An empty list means that all seeds of the same provider type are supported.
	// This is useful for environments that are of the same type (like openstack) but may have different "instances"/landscapes.
	// Optionally a list of possible providers can be added to enable cross-provider scheduling. By default, the provider
	// type of the seed must match the shoot's provider.
	SeedSelector *SeedSelector
	// Type is the name of the provider.
	Type string
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Bastion contains machine and image properties
	Bastion *Bastion
}

CloudProfileSpec is the specification of a CloudProfile. It must contain exactly one of its defined keys.

func (*CloudProfileSpec) DeepCopy added in v1.0.0

func (in *CloudProfileSpec) DeepCopy() *CloudProfileSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileSpec.

func (*CloudProfileSpec) DeepCopyInto added in v1.0.0

func (in *CloudProfileSpec) DeepCopyInto(out *CloudProfileSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterAutoscaler added in v1.0.0

type ClusterAutoscaler struct {
	// ScaleDownDelayAfterAdd defines how long after scale up that scale down evaluation resumes (default: 1 hour).
	ScaleDownDelayAfterAdd *metav1.Duration
	// ScaleDownDelayAfterDelete how long after node deletion that scale down evaluation resumes, defaults to scanInterval (default: 0 secs).
	ScaleDownDelayAfterDelete *metav1.Duration
	// ScaleDownDelayAfterFailure how long after scale down failure that scale down evaluation resumes (default: 3 mins).
	ScaleDownDelayAfterFailure *metav1.Duration
	// ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down (default: 30 mins).
	ScaleDownUnneededTime *metav1.Duration
	// ScaleDownUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) under which a node is being removed (default: 0.5).
	ScaleDownUtilizationThreshold *float64
	// ScanInterval how often cluster is reevaluated for scale up or down (default: 10 secs).
	ScanInterval *metav1.Duration
	// Expander defines the algorithm to use during scale up (default: least-waste).
	// See: https://github.com/gardener/autoscaler/blob/machine-controller-manager-provider/cluster-autoscaler/FAQ.md#what-are-expanders.
	Expander *ExpanderMode
	// MaxNodeProvisionTime defines how long CA waits for node to be provisioned (default: 20 mins).
	MaxNodeProvisionTime *metav1.Duration
	// MaxGracefulTerminationSeconds is the number of seconds CA waits for pod termination when trying to scale down a node (default: 600).
	MaxGracefulTerminationSeconds *int32
	// IgnoreTaints specifies a list of taint keys to ignore in node templates when considering to scale a node group.
	IgnoreTaints []string
	// NewPodScaleUpDelay specifies how long CA should ignore newly created pods before they have to be considered for scale-up.
	NewPodScaleUpDelay *metav1.Duration
	// MaxEmptyBulkDelete specifies the maximum number of empty nodes that can be deleted at the same time (default: 10).
	MaxEmptyBulkDelete *int32
	// IgnoreDaemonsetsUtilization allows CA to ignore DaemonSet pods when calculating resource utilization for scaling down.
	IgnoreDaemonsetsUtilization *bool
	// Verbosity allows CA to modify its log level.
	Verbosity *int32
}

ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler.

func (*ClusterAutoscaler) DeepCopy added in v1.0.0

func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscaler.

func (*ClusterAutoscaler) DeepCopyInto added in v1.0.0

func (in *ClusterAutoscaler) DeepCopyInto(out *ClusterAutoscaler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterAutoscalerOptions added in v1.90.0

type ClusterAutoscalerOptions struct {
	// ScaleDownUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) under which a node is being removed.
	ScaleDownUtilizationThreshold *float64
	// ScaleDownGpuUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) of gpu resources under which a node is being removed.
	ScaleDownGpuUtilizationThreshold *float64
	// ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down.
	ScaleDownUnneededTime *metav1.Duration
	// ScaleDownUnreadyTime defines how long an unready node should be unneeded before it is eligible for scale down.
	ScaleDownUnreadyTime *metav1.Duration
	// MaxNodeProvisionTime defines how long CA waits for node to be provisioned.
	MaxNodeProvisionTime *metav1.Duration
}

ClusterAutoscalerOptions contains the cluster autoscaler configurations for a worker pool.

func (*ClusterAutoscalerOptions) DeepCopy added in v1.90.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalerOptions.

func (*ClusterAutoscalerOptions) DeepCopyInto added in v1.90.0

func (in *ClusterAutoscalerOptions) DeepCopyInto(out *ClusterAutoscalerOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Condition

type Condition struct {
	// Type of the condition.
	Type ConditionType
	// Status of the condition, one of True, False, Unknown.
	Status ConditionStatus
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time
	// Last time the condition was updated.
	LastUpdateTime metav1.Time
	// The reason for the condition's last transition.
	Reason string
	// A human readable message indicating details about the transition.
	Message string
	// Well-defined error codes in case the condition reports a problem.
	Codes []ErrorCode
}

Condition holds the information about the state of a resource.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConditionStatus

type ConditionStatus string

ConditionStatus is the status of a condition.

type ConditionType

type ConditionType string

ConditionType is a string alias.

const (
	// ControllerInstallationHealthy is a condition type for indicating whether the controller is healthy.
	ControllerInstallationHealthy ConditionType = "Healthy"
	// ControllerInstallationInstalled is a condition type for indicating whether the controller has been installed.
	ControllerInstallationInstalled ConditionType = "Installed"
	// ControllerInstallationProgressing is a condition type for indicating whether the controller is progressing.
	ControllerInstallationProgressing ConditionType = "Progressing"
	// ControllerInstallationValid is a condition type for indicating whether the installation request is valid.
	ControllerInstallationValid ConditionType = "Valid"
	// ControllerInstallationRequired is a condition type for indicating that the respective extension controller is
	// still required on the seed cluster as corresponding extension resources still exist.
	ControllerInstallationRequired ConditionType = "Required"
)
const (
	// SeedBackupBucketsReady is a constant for a condition type indicating that associated BackupBuckets are ready.
	SeedBackupBucketsReady ConditionType = "BackupBucketsReady"
	// SeedExtensionsReady is a constant for a condition type indicating that the extensions are ready.
	SeedExtensionsReady ConditionType = "ExtensionsReady"
	// SeedGardenletReady is a constant for a condition type indicating that the Gardenlet is ready.
	SeedGardenletReady ConditionType = "GardenletReady"
	// SeedSystemComponentsHealthy is a constant for a condition type indicating the system components health.
	SeedSystemComponentsHealthy ConditionType = "SeedSystemComponentsHealthy"
)
const (
	// ShootAPIServerAvailable is a constant for a condition type indicating that the Shoot cluster's API server is available.
	ShootAPIServerAvailable ConditionType = "APIServerAvailable"
	// ShootControlPlaneHealthy is a constant for a condition type indicating the health of core control plane components.
	ShootControlPlaneHealthy ConditionType = "ControlPlaneHealthy"
	// ShootObservabilityComponentsHealthy is a constant for a condition type indicating the health of observability components.
	ShootObservabilityComponentsHealthy ConditionType = "ObservabilityComponentsHealthy"
	// ShootEveryNodeReady is a constant for a condition type indicating the node health.
	ShootEveryNodeReady ConditionType = "EveryNodeReady"
	// ShootSystemComponentsHealthy is a constant for a condition type indicating the system components health.
	ShootSystemComponentsHealthy ConditionType = "SystemComponentsHealthy"
	// ShootHibernationPossible is a constant for a condition type indicating whether the Shoot can be hibernated.
	ShootHibernationPossible ConditionType = "HibernationPossible"
	// ShootMaintenancePreconditionsSatisfied is a constant for a condition type indicating whether all preconditions
	// for a shoot maintenance operation are satisfied.
	ShootMaintenancePreconditionsSatisfied ConditionType = "MaintenancePreconditionsSatisfied"
)

type ContainerRuntime added in v1.2.0

type ContainerRuntime struct {
	// Type is the type of the Container Runtime.
	Type string
	// ProviderConfig is the configuration passed to the ContainerRuntime resource.
	ProviderConfig *runtime.RawExtension
}

ContainerRuntime contains information about worker's available container runtime

func (*ContainerRuntime) DeepCopy added in v1.2.0

func (in *ContainerRuntime) DeepCopy() *ContainerRuntime

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntime.

func (*ContainerRuntime) DeepCopyInto added in v1.2.0

func (in *ContainerRuntime) DeepCopyInto(out *ContainerRuntime)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlane added in v1.56.0

type ControlPlane struct {
	// HighAvailability holds the configuration settings for high availability of the
	// control plane of a shoot.
	HighAvailability *HighAvailability
}

ControlPlane holds information about the general settings for the control plane of a shoot.

func (*ControlPlane) DeepCopy added in v1.56.0

func (in *ControlPlane) DeepCopy() *ControlPlane

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlane.

func (*ControlPlane) DeepCopyInto added in v1.56.0

func (in *ControlPlane) DeepCopyInto(out *ControlPlane)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerDeployment

type ControllerDeployment struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Type is the deployment type.
	// This field correlates with the Type field in the v1beta1 API version.
	// It is only set if a custom type (other than helm) is configured in the v1beta1 API version and the object is
	// converted to the internal version. If the helm type is used in v1beta1, the Helm section will be set in the
	// internal API version instead of this field. In the v1 API version, the value is represented using an annotation.
	Type string
	// ProviderConfig contains type-specific configuration. It contains assets that deploy the controller.
	// This field correlates with the ProviderConfig field in the v1beta1 API version.
	// It is only set if a custom type (other than helm) is configured in the v1beta1 API version and the object is
	// converted to the internal version. If the helm type is used in v1beta1, the Helm section will be set in the
	// internal API version instead of this field. In the v1 API version, the value is represented using an annotation.
	ProviderConfig runtime.Object
	// Helm configures that an extension controller is deployed using helm.
	Helm *HelmControllerDeployment
}

ControllerDeployment contains information about how this controller is deployed.

func (*ControllerDeployment) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerDeployment.

func (*ControllerDeployment) DeepCopyInto

func (in *ControllerDeployment) DeepCopyInto(out *ControllerDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerDeployment) DeepCopyObject added in v1.23.0

func (in *ControllerDeployment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerDeploymentList added in v1.23.0

type ControllerDeploymentList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerDeployments.
	Items []ControllerDeployment
}

ControllerDeploymentList is a collection of ControllerDeployments.

func (*ControllerDeploymentList) DeepCopy added in v1.23.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerDeploymentList.

func (*ControllerDeploymentList) DeepCopyInto added in v1.23.0

func (in *ControllerDeploymentList) DeepCopyInto(out *ControllerDeploymentList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerDeploymentList) DeepCopyObject added in v1.23.0

func (in *ControllerDeploymentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerDeploymentPolicy added in v1.5.0

type ControllerDeploymentPolicy string

ControllerDeploymentPolicy is a string alias.

const (
	// ControllerDeploymentPolicyOnDemand specifies that the controller shall be only deployed if required by another
	// resource. If nothing requires it then the controller shall not be deployed.
	ControllerDeploymentPolicyOnDemand ControllerDeploymentPolicy = "OnDemand"
	// ControllerDeploymentPolicyAlways specifies that the controller shall be deployed always, independent of whether
	// another resource requires it or the respective seed has shoots.
	ControllerDeploymentPolicyAlways ControllerDeploymentPolicy = "Always"
	// ControllerDeploymentPolicyAlwaysExceptNoShoots specifies that the controller shall be deployed always, independent of
	// whether another resource requires it, but only when the respective seed has at least one shoot.
	ControllerDeploymentPolicyAlwaysExceptNoShoots ControllerDeploymentPolicy = "AlwaysExceptNoShoots"
)

type ControllerInstallation

type ControllerInstallation struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this installation.
	// If the object's deletion timestamp is set, this field is immutable.
	Spec ControllerInstallationSpec
	// Status contains the status of this installation.
	Status ControllerInstallationStatus
}

ControllerInstallation represents an installation request for an external controller.

func (*ControllerInstallation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallation.

func (*ControllerInstallation) DeepCopyInto

func (in *ControllerInstallation) DeepCopyInto(out *ControllerInstallation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerInstallation) DeepCopyObject

func (in *ControllerInstallation) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerInstallationList

type ControllerInstallationList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerInstallations.
	Items []ControllerInstallation
}

ControllerInstallationList is a collection of ControllerInstallations.

func (*ControllerInstallationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationList.

func (*ControllerInstallationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerInstallationList) DeepCopyObject

func (in *ControllerInstallationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerInstallationSpec

type ControllerInstallationSpec struct {
	// RegistrationRef is used to reference a ControllerRegistration resource.
	// The name field of the RegistrationRef is immutable.
	RegistrationRef corev1.ObjectReference
	// SeedRef is used to reference a Seed resource. The name field of the SeedRef is immutable.
	SeedRef corev1.ObjectReference
	// DeploymentRef is used to reference a ControllerDeployment resource.
	DeploymentRef *corev1.ObjectReference
}

ControllerInstallationSpec is the specification of a ControllerInstallation.

func (*ControllerInstallationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationSpec.

func (*ControllerInstallationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerInstallationStatus

type ControllerInstallationStatus struct {
	// Conditions represents the latest available observations of a ControllerInstallations's current state.
	Conditions []Condition
	// ProviderStatus contains type-specific status.
	// +optional
	ProviderStatus *runtime.RawExtension
}

ControllerInstallationStatus is the status of a ControllerInstallation.

func (*ControllerInstallationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationStatus.

func (*ControllerInstallationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerRegistration

type ControllerRegistration struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this registration.
	// If the object's deletion timestamp is set, this field is immutable.
	Spec ControllerRegistrationSpec
}

ControllerRegistration represents a registration of an external controller.

func (*ControllerRegistration) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistration.

func (*ControllerRegistration) DeepCopyInto

func (in *ControllerRegistration) DeepCopyInto(out *ControllerRegistration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerRegistration) DeepCopyObject

func (in *ControllerRegistration) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerRegistrationDeployment added in v1.23.0

type ControllerRegistrationDeployment struct {
	// Policy controls how the controller is deployed. It defaults to 'OnDemand'.
	Policy *ControllerDeploymentPolicy
	// SeedSelector contains an optional label selector for seeds. Only if the labels match then this controller will be
	// considered for a deployment.
	// An empty list means that all seeds are selected.
	SeedSelector *metav1.LabelSelector
	// DeploymentRefs holds references to `ControllerDeployments`. Only one element is supported currently.
	DeploymentRefs []DeploymentRef
}

ControllerRegistrationDeployment contains information for how this controller is deployed.

func (*ControllerRegistrationDeployment) DeepCopy added in v1.23.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationDeployment.

func (*ControllerRegistrationDeployment) DeepCopyInto added in v1.23.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerRegistrationList

type ControllerRegistrationList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ControllerRegistrations.
	Items []ControllerRegistration
}

ControllerRegistrationList is a collection of ControllerRegistrations.

func (*ControllerRegistrationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationList.

func (*ControllerRegistrationList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ControllerRegistrationList) DeepCopyObject

func (in *ControllerRegistrationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ControllerRegistrationSpec

type ControllerRegistrationSpec struct {
	// Resources is a list of combinations of kinds (Infrastructure, Generic, ...) and their actual types
	// (aws-route53, gcp, auditlog, ...).
	Resources []ControllerResource
	// Deployment contains information for how this controller is deployed.
	Deployment *ControllerRegistrationDeployment
}

ControllerRegistrationSpec is the specification of a ControllerRegistration.

func (*ControllerRegistrationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationSpec.

func (*ControllerRegistrationSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerResource

type ControllerResource struct {
	// Kind is the resource kind.
	Kind string
	// Type is the resource type.
	Type string
	// GloballyEnabled determines if this resource is required by all Shoot clusters.
	// This field is defaulted to false when kind is "Extension".
	GloballyEnabled *bool
	// ReconcileTimeout defines how long Gardener should wait for the resource reconciliation.
	// This field is defaulted to 3m0s when kind is "Extension".
	ReconcileTimeout *metav1.Duration
	// Primary determines if the controller backed by this ControllerRegistration is responsible for the extension
	// resource's lifecycle. This field defaults to true. There must be exactly one primary controller for this kind/type
	// combination. This field is immutable.
	Primary *bool
	// Lifecycle defines a strategy that determines when different operations on a ControllerResource should be performed.
	// This field is defaulted in the following way when kind is "Extension".
	//  Reconcile: "AfterKubeAPIServer"
	//  Delete: "BeforeKubeAPIServer"
	//  Migrate: "BeforeKubeAPIServer"
	Lifecycle *ControllerResourceLifecycle
	// WorkerlessSupported specifies whether this ControllerResource supports Workerless Shoot clusters.
	// This field is only relevant when kind is "Extension".
	WorkerlessSupported *bool
}

ControllerResource is a combination of a kind (Infrastructure, Generic, ...) and the actual type for this kind (aws-route53, gcp, auditlog, ...).

func (*ControllerResource) DeepCopy

func (in *ControllerResource) DeepCopy() *ControllerResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerResource.

func (*ControllerResource) DeepCopyInto

func (in *ControllerResource) DeepCopyInto(out *ControllerResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerResourceLifecycle added in v1.62.0

type ControllerResourceLifecycle struct {
	// Reconcile defines the strategy during reconciliation.
	Reconcile *ControllerResourceLifecycleStrategy
	// Delete defines the strategy during deletion.
	Delete *ControllerResourceLifecycleStrategy
	// Migrate defines the strategy during migration.
	Migrate *ControllerResourceLifecycleStrategy
}

ControllerResourceLifecycle defines the lifecycle of a controller resource.

func (*ControllerResourceLifecycle) DeepCopy added in v1.62.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerResourceLifecycle.

func (*ControllerResourceLifecycle) DeepCopyInto added in v1.62.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControllerResourceLifecycleStrategy added in v1.62.0

type ControllerResourceLifecycleStrategy string

ControllerResourceLifecycleStrategy is a string alias.

const (
	// BeforeKubeAPIServer specifies that a resource should be handled before the kube-apiserver.
	BeforeKubeAPIServer ControllerResourceLifecycleStrategy = "BeforeKubeAPIServer"
	// AfterKubeAPIServer specifies that a resource should be handled after the kube-apiserver.
	AfterKubeAPIServer ControllerResourceLifecycleStrategy = "AfterKubeAPIServer"
	// AfterWorker specifies that a resource should be handled after workers. This is only available during reconcile.
	AfterWorker ControllerResourceLifecycleStrategy = "AfterWorker"
)

type CoreDNS added in v1.41.0

type CoreDNS struct {
	// Autoscaling contains the settings related to autoscaling of the Core DNS components running in the data plane of the Shoot cluster.
	Autoscaling *CoreDNSAutoscaling
	// Rewriting contains the setting related to rewriting of requests, which are obviously incorrect due to the unnecessary application of the search path.
	Rewriting *CoreDNSRewriting
}

CoreDNS contains the settings of the Core DNS components running in the data plane of the Shoot cluster.

func (*CoreDNS) DeepCopy added in v1.41.0

func (in *CoreDNS) DeepCopy() *CoreDNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNS.

func (*CoreDNS) DeepCopyInto added in v1.41.0

func (in *CoreDNS) DeepCopyInto(out *CoreDNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CoreDNSAutoscaling added in v1.41.0

type CoreDNSAutoscaling struct {
	// The mode of the autoscaling to be used for the Core DNS components running in the data plane of the Shoot cluster.
	// Supported values are `horizontal` and `cluster-proportional`.
	Mode CoreDNSAutoscalingMode
}

CoreDNSAutoscaling contains the settings related to autoscaling of the Core DNS components running in the data plane of the Shoot cluster.

func (*CoreDNSAutoscaling) DeepCopy added in v1.41.0

func (in *CoreDNSAutoscaling) DeepCopy() *CoreDNSAutoscaling

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNSAutoscaling.

func (*CoreDNSAutoscaling) DeepCopyInto added in v1.41.0

func (in *CoreDNSAutoscaling) DeepCopyInto(out *CoreDNSAutoscaling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CoreDNSAutoscalingMode added in v1.41.0

type CoreDNSAutoscalingMode string

CoreDNSAutoscalingMode is a type alias for the Core DNS autoscaling mode string.

const (
	// CoreDNSAutoscalingModeHorizontal is a constant for horizontal Core DNS autoscaling mode.
	CoreDNSAutoscalingModeHorizontal CoreDNSAutoscalingMode = "horizontal"
	// CoreDNSAutoscalingModeClusterProportional is a constant for cluster-proportional Core DNS autoscaling mode.
	CoreDNSAutoscalingModeClusterProportional CoreDNSAutoscalingMode = "cluster-proportional"
)

type CoreDNSRewriting added in v1.55.0

type CoreDNSRewriting struct {
	// CommonSuffixes are expected to be the suffix of a fully qualified domain name. Each suffix should contain at least one or two dots ('.') to prevent accidental clashes.
	CommonSuffixes []string
}

CoreDNSRewriting contains the setting related to rewriting requests, which are obviously incorrect due to the unnecessary application of the search path.

func (*CoreDNSRewriting) DeepCopy added in v1.55.0

func (in *CoreDNSRewriting) DeepCopy() *CoreDNSRewriting

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNSRewriting.

func (*CoreDNSRewriting) DeepCopyInto added in v1.55.0

func (in *CoreDNSRewriting) DeepCopyInto(out *CoreDNSRewriting)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CredentialsRotationPhase added in v1.62.0

type CredentialsRotationPhase string

CredentialsRotationPhase is a string alias.

const (
	// RotationPreparing is a constant for the credentials rotation phase describing that the procedure is being prepared.
	RotationPreparing CredentialsRotationPhase = "Preparing"
	// RotationPrepared is a constant for the credentials rotation phase describing that the procedure was prepared.
	RotationPrepared CredentialsRotationPhase = "Prepared"
	// RotationCompleting is a constant for the credentials rotation phase describing that the procedure is being
	// completed.
	RotationCompleting CredentialsRotationPhase = "Completing"
	// RotationCompleted is a constant for the credentials rotation phase describing that the procedure was completed.
	RotationCompleted CredentialsRotationPhase = "Completed"
)

type DNS added in v1.0.0

type DNS struct {
	// Domain is the external available domain of the Shoot cluster. This domain will be written into the
	// kubeconfig that is handed out to end-users. This field is immutable.
	Domain *string
	// Providers is a list of DNS providers that shall be enabled for this shoot cluster. Only relevant if
	// not a default domain is used.
	//
	// Deprecated: Configuring multiple DNS providers is deprecated and will be forbidden in a future release.
	// Please use the DNS extension provider config (e.g. shoot-dns-service) for additional providers.
	Providers []DNSProvider
}

DNS holds information about the provider, the hosted zone id and the domain.

func (*DNS) DeepCopy added in v1.0.0

func (in *DNS) DeepCopy() *DNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.

func (*DNS) DeepCopyInto added in v1.0.0

func (in *DNS) DeepCopyInto(out *DNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSIncludeExclude added in v1.0.0

type DNSIncludeExclude struct {
	// Include is a list of domains that shall be included.
	Include []string
	// Exclude is a list of domains that shall be excluded.
	Exclude []string
}

DNSIncludeExclude contains information about which domains shall be included/excluded.

func (*DNSIncludeExclude) DeepCopy added in v1.0.0

func (in *DNSIncludeExclude) DeepCopy() *DNSIncludeExclude

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSIncludeExclude.

func (*DNSIncludeExclude) DeepCopyInto added in v1.0.0

func (in *DNSIncludeExclude) DeepCopyInto(out *DNSIncludeExclude)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNSProvider added in v1.0.0

type DNSProvider struct {
	// Domains contains information about which domains shall be included/excluded for this provider.
	//
	// Deprecated: This field is deprecated and will be removed in a future release.
	// Please use the DNS extension provider config (e.g. shoot-dns-service) for additional configuration.
	Domains *DNSIncludeExclude
	// Primary indicates that this DNSProvider is used for shoot related domains.
	//
	// Deprecated: This field is deprecated and will be removed in a future release.
	// Please use the DNS extension provider config (e.g. shoot-dns-service) for additional and non-primary providers.
	Primary *bool
	// SecretName is a name of a secret containing credentials for the stated domain and the
	// provider. When not specified, the Gardener will use the cloud provider credentials referenced
	// by the Shoot and try to find respective credentials there. Specifying this field may override
	// this behavior, i.e. forcing the Gardener to only look into the given secret.
	SecretName *string
	// Type is the DNS provider type for the Shoot. Only relevant if not the default domain is used for
	// this shoot.
	Type *string
	// Zones contains information about which hosted zones shall be included/excluded for this provider.
	//
	// Deprecated: This field is deprecated and will be removed in a future release.
	// Please use the DNS extension provider config (e.g. shoot-dns-service) for additional configuration.
	Zones *DNSIncludeExclude
}

DNSProvider contains information about a DNS provider.

func (*DNSProvider) DeepCopy added in v1.0.0

func (in *DNSProvider) DeepCopy() *DNSProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProvider.

func (*DNSProvider) DeepCopyInto added in v1.0.0

func (in *DNSProvider) DeepCopyInto(out *DNSProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DataVolume added in v1.7.0

type DataVolume struct {
	// Name of the volume to make it referencable.
	Name string
	// Type is the type of the volume.
	Type *string
	// VolumeSize is the size of the volume.
	VolumeSize string
	// Encrypted determines if the volume should be encrypted.
	Encrypted *bool
}

DataVolume contains information about a data volume.

func (*DataVolume) DeepCopy added in v1.7.0

func (in *DataVolume) DeepCopy() *DataVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolume.

func (*DataVolume) DeepCopyInto added in v1.7.0

func (in *DataVolume) DeepCopyInto(out *DataVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeploymentRef added in v1.23.0

type DeploymentRef struct {
	// Name is the name of the `ControllerDeployment` that is being referred to.
	Name string
}

DeploymentRef contains information about `ControllerDeployment` references.

func (*DeploymentRef) DeepCopy added in v1.23.0

func (in *DeploymentRef) DeepCopy() *DeploymentRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentRef.

func (*DeploymentRef) DeepCopyInto added in v1.23.0

func (in *DeploymentRef) DeepCopyInto(out *DeploymentRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DualApprovalForDeletion added in v1.95.0

type DualApprovalForDeletion struct {
	// Resource is the name of the resource this applies to.
	Resource string
	// Selector is the label selector for the resources.
	Selector metav1.LabelSelector
	// IncludeServiceAccounts specifies whether the concept also applies when deletion is triggered by ServiceAccounts.
	IncludeServiceAccounts *bool
}

DualApprovalForDeletion contains configuration for the dual approval concept for resource deletion.

func (*DualApprovalForDeletion) DeepCopy added in v1.95.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DualApprovalForDeletion.

func (*DualApprovalForDeletion) DeepCopyInto added in v1.95.0

func (in *DualApprovalForDeletion) DeepCopyInto(out *DualApprovalForDeletion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ETCDEncryptionKeyRotation added in v1.66.0

type ETCDEncryptionKeyRotation struct {
	// Phase describes the phase of the ETCD encryption key credential rotation.
	Phase CredentialsRotationPhase
	// LastCompletionTime is the most recent time when the ETCD encryption key credential rotation was successfully
	// completed.
	LastCompletionTime *metav1.Time
	// LastInitiationTime is the most recent time when the ETCD encryption key credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastInitiationFinishedTime is the recent time when the ETCD encryption key credential rotation initiation was
	// completed.
	LastInitiationFinishedTime *metav1.Time
	// LastCompletionTriggeredTime is the recent time when the ETCD encryption key credential rotation completion was
	// triggered.
	LastCompletionTriggeredTime *metav1.Time
}

ETCDEncryptionKeyRotation contains information about the ETCD encryption key credential rotation.

func (*ETCDEncryptionKeyRotation) DeepCopy added in v1.66.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ETCDEncryptionKeyRotation.

func (*ETCDEncryptionKeyRotation) DeepCopyInto added in v1.66.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionConfig added in v1.86.0

type EncryptionConfig struct {
	// Resources contains the list of resources that shall be encrypted in addition to secrets.
	// Each item is a Kubernetes resource name in plural (resource or resource.group) that should be encrypted.
	// Note that configuring a custom resource is only supported for versions >= 1.26.
	// Wildcards are not supported for now.
	// See https://github.com/gardener/gardener/blob/master/docs/usage/security/etcd_encryption_config.md for more details.
	Resources []string
}

EncryptionConfig contains customizable encryption configuration of the API server.

func (*EncryptionConfig) DeepCopy added in v1.86.0

func (in *EncryptionConfig) DeepCopy() *EncryptionConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfig.

func (*EncryptionConfig) DeepCopyInto added in v1.86.0

func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ErrorCode

type ErrorCode string

ErrorCode is a string alias.

const (
	// ErrorInfraUnauthenticated indicates that the last error occurred due to the client request not being completed because it lacks valid authentication credentials for the requested resource.
	// It is classified as a non-retryable error code.
	ErrorInfraUnauthenticated ErrorCode = "ERR_INFRA_UNAUTHENTICATED"
	// ErrorInfraUnauthorized indicates that the last error occurred due to the server understanding the request but refusing to authorize it.
	// It is classified as a non-retryable error code.
	ErrorInfraUnauthorized ErrorCode = "ERR_INFRA_UNAUTHORIZED"
	// ErrorInfraQuotaExceeded indicates that the last error occurred due to infrastructure quota limits.
	// It is classified as a non-retryable error code.
	ErrorInfraQuotaExceeded ErrorCode = "ERR_INFRA_QUOTA_EXCEEDED"
	// ErrorInfraRateLimitsExceeded indicates that the last error occurred due to exceeded infrastructure request rate limits.
	ErrorInfraRateLimitsExceeded ErrorCode = "ERR_INFRA_RATE_LIMITS_EXCEEDED"
	// ErrorInfraDependencies indicates that the last error occurred due to dependent objects on the infrastructure level.
	// It is classified as a non-retryable error code.
	ErrorInfraDependencies ErrorCode = "ERR_INFRA_DEPENDENCIES"
	// ErrorRetryableInfraDependencies indicates that the last error occurred due to dependent objects on the infrastructure level, but operation should be retried.
	ErrorRetryableInfraDependencies ErrorCode = "ERR_RETRYABLE_INFRA_DEPENDENCIES"
	// ErrorInfraResourcesDepleted indicates that the last error occurred due to depleted resource in the infrastructure.
	ErrorInfraResourcesDepleted ErrorCode = "ERR_INFRA_RESOURCES_DEPLETED"
	// ErrorCleanupClusterResources indicates that the last error occurred due to resources in the cluster that are stuck in deletion.
	ErrorCleanupClusterResources ErrorCode = "ERR_CLEANUP_CLUSTER_RESOURCES"
	// ErrorConfigurationProblem indicates that the last error occurred due to a configuration problem.
	// It is classified as a non-retryable error code.
	ErrorConfigurationProblem ErrorCode = "ERR_CONFIGURATION_PROBLEM"
	// ErrorRetryableConfigurationProblem indicates that the last error occurred due to a retryable configuration problem.
	ErrorRetryableConfigurationProblem ErrorCode = "ERR_RETRYABLE_CONFIGURATION_PROBLEM"
	// ErrorProblematicWebhook indicates that the last error occurred due to a webhook not following the Kubernetes
	// best practices (https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#best-practices-and-warnings).
	// It is classified as a non-retryable error code.
	ErrorProblematicWebhook ErrorCode = "ERR_PROBLEMATIC_WEBHOOK"
)

type ExpanderMode added in v1.30.0

type ExpanderMode string

ExpanderMode is type used for Expander values

const (
	// ClusterAutoscalerExpanderLeastWaste selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up.
	// This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and
	// only want to expand those when there are pending pods that need a lot of those resources.
	// This is the default value.
	ClusterAutoscalerExpanderLeastWaste ExpanderMode = "least-waste"
	// ClusterAutoscalerExpanderMostPods selects the node group that would be able to schedule the most pods when scaling up.
	// This is useful when you are using nodeSelector to make sure certain pods land on certain nodes.
	// Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once.
	ClusterAutoscalerExpanderMostPods ExpanderMode = "most-pods"
	// ClusterAutoscalerExpanderPriority selects the node group that has the highest priority assigned by the user. For configurations,
	// See: https://github.com/gardener/autoscaler/blob/machine-controller-manager-provider/cluster-autoscaler/expander/priority/readme.md
	ClusterAutoscalerExpanderPriority ExpanderMode = "priority"
	// ClusterAutoscalerExpanderRandom should be used when you don't have a particular need
	// for the node groups to scale differently.
	ClusterAutoscalerExpanderRandom ExpanderMode = "random"
)

type ExpirableVersion added in v1.0.0

type ExpirableVersion struct {
	// Version is the version identifier.
	Version string
	// ExpirationDate defines the time at which this version expires.
	ExpirationDate *metav1.Time
	// Classification defines the state of a version (preview, supported, deprecated)
	Classification *VersionClassification
}

ExpirableVersion contains a version and an expiration date.

func (*ExpirableVersion) DeepCopy added in v1.0.0

func (in *ExpirableVersion) DeepCopy() *ExpirableVersion

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpirableVersion.

func (*ExpirableVersion) DeepCopyInto added in v1.0.0

func (in *ExpirableVersion) DeepCopyInto(out *ExpirableVersion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExposureClass added in v1.24.0

type ExposureClass struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Handler is the name of the handler which applies the control plane endpoint exposure strategy.
	// This field is immutable.
	Handler string
	// Scheduling holds information how to select applicable Seed's for ExposureClass usage.
	// This field is immutable.
	Scheduling *ExposureClassScheduling
}

ExposureClass represents a control plane endpoint exposure strategy.

func (*ExposureClass) DeepCopy added in v1.24.0

func (in *ExposureClass) DeepCopy() *ExposureClass

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClass.

func (*ExposureClass) DeepCopyInto added in v1.24.0

func (in *ExposureClass) DeepCopyInto(out *ExposureClass)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExposureClass) DeepCopyObject added in v1.24.0

func (in *ExposureClass) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExposureClassList added in v1.24.0

type ExposureClassList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ExposureClasses.
	Items []ExposureClass
}

ExposureClassList is a collection of ExposureClass.

func (*ExposureClassList) DeepCopy added in v1.24.0

func (in *ExposureClassList) DeepCopy() *ExposureClassList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClassList.

func (*ExposureClassList) DeepCopyInto added in v1.24.0

func (in *ExposureClassList) DeepCopyInto(out *ExposureClassList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExposureClassList) DeepCopyObject added in v1.24.0

func (in *ExposureClassList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExposureClassScheduling added in v1.24.0

type ExposureClassScheduling struct {
	// SeedSelector is an optional label selector for Seed's which are suitable to use the ExposureClass.
	SeedSelector *SeedSelector
	// Tolerations contains the tolerations for taints on Seed clusters.
	Tolerations []Toleration
}

ExposureClassScheduling holds information to select applicable Seed's for ExposureClass usage.

func (*ExposureClassScheduling) DeepCopy added in v1.24.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClassScheduling.

func (*ExposureClassScheduling) DeepCopyInto added in v1.24.0

func (in *ExposureClassScheduling) DeepCopyInto(out *ExposureClassScheduling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Extension added in v1.0.0

type Extension struct {
	// Type is the type of the extension resource.
	Type string
	// ProviderConfig is the configuration passed to extension resource.
	ProviderConfig *runtime.RawExtension
	// Disabled allows to disable extensions that were marked as 'globally enabled' by Gardener administrators.
	Disabled *bool
}

Extension contains type and provider information for Shoot extensions.

func (*Extension) DeepCopy added in v1.0.0

func (in *Extension) DeepCopy() *Extension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.

func (*Extension) DeepCopyInto added in v1.0.0

func (in *Extension) DeepCopyInto(out *Extension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionResourceState added in v0.33.0

type ExtensionResourceState struct {
	// Kind (type) of the extension custom resource
	Kind string
	// Name of the extension custom resource
	Name *string
	// Purpose of the extension custom resource
	Purpose *string
	// State of the extension resource
	State *runtime.RawExtension
	// Resources holds a list of named resource references that can be referred to in the state by their names.
	Resources []NamedResourceReference
}

ExtensionResourceState contains the kind of the extension custom resource and its last observed state in the Shoot's namespace on the Seed cluster.

func (*ExtensionResourceState) DeepCopy added in v0.33.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionResourceState.

func (*ExtensionResourceState) DeepCopyInto added in v0.33.0

func (in *ExtensionResourceState) DeepCopyInto(out *ExtensionResourceState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailureTolerance added in v1.56.0

type FailureTolerance struct {
	// Type specifies the type of failure that the highly available resource can tolerate.
	Type FailureToleranceType
}

FailureTolerance holds information about failure tolerance configuration.

func (*FailureTolerance) DeepCopy added in v1.56.0

func (in *FailureTolerance) DeepCopy() *FailureTolerance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureTolerance.

func (*FailureTolerance) DeepCopyInto added in v1.56.0

func (in *FailureTolerance) DeepCopyInto(out *FailureTolerance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FailureToleranceType added in v1.56.0

type FailureToleranceType string

FailureToleranceType is the type of failure that a highly available setup can tolerate.

const (
	// FailureToleranceTypeNode specifies that a highly available resource can tolerate the
	// failure of one or more nodes within a single-zone setup and still be available.
	FailureToleranceTypeNode FailureToleranceType = "node"
	// FailureToleranceTypeZone specifies that a highly available resource can tolerate the
	// failure of one or more zones within a multi-zone setup and still be available.
	FailureToleranceTypeZone FailureToleranceType = "zone"
)

type Gardener added in v1.0.0

type Gardener struct {
	// ID is the container id of the Gardener which last acted on a Shoot cluster.
	ID string
	// Name is the hostname (pod name) of the Gardener which last acted on a Shoot cluster.
	Name string
	// Version is the version of the Gardener which last acted on a Shoot cluster.
	Version string
}

Gardener holds the information about the Gardener.

func (*Gardener) DeepCopy added in v1.0.0

func (in *Gardener) DeepCopy() *Gardener

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gardener.

func (*Gardener) DeepCopyInto added in v1.0.0

func (in *Gardener) DeepCopyInto(out *Gardener)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GardenerResourceData added in v0.33.0

type GardenerResourceData struct {
	// Name of the object required to generate resources
	Name string
	// Type of the object
	Type string
	// Data contains the payload required to generate resources
	Data runtime.RawExtension
	// Labels are labels of the object
	Labels map[string]string
}

GardenerResourceData holds the data which is used to generate resources, deployed in the Shoot's control plane.

func (*GardenerResourceData) DeepCopy added in v0.33.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerResourceData.

func (*GardenerResourceData) DeepCopyInto added in v0.33.0

func (in *GardenerResourceData) DeepCopyInto(out *GardenerResourceData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HelmControllerDeployment added in v1.96.0

type HelmControllerDeployment struct {
	// RawChart is the base64-encoded, gzip'ed, tar'ed extension controller chart.
	RawChart []byte
	// Values are the chart values.
	Values *apiextensionsv1.JSON
	// OCIRepository defines where to pull the chart.
	OCIRepository *OCIRepository
}

HelmControllerDeployment configures how an extension controller is deployed using helm.

func (*HelmControllerDeployment) DeepCopy added in v1.96.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmControllerDeployment.

func (*HelmControllerDeployment) DeepCopyInto added in v1.96.0

func (in *HelmControllerDeployment) DeepCopyInto(out *HelmControllerDeployment)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Hibernation added in v1.0.0

type Hibernation struct {
	// Enabled specifies whether the Shoot needs to be hibernated or not. If it is true, the Shoot's desired state is to be hibernated.
	// If it is false or nil, the Shoot's desired state is to be awakened.
	Enabled *bool
	// Schedules determine the hibernation schedules.
	Schedules []HibernationSchedule
}

Hibernation contains information whether the Shoot is suspended or not.

func (*Hibernation) DeepCopy added in v1.0.0

func (in *Hibernation) DeepCopy() *Hibernation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hibernation.

func (*Hibernation) DeepCopyInto added in v1.0.0

func (in *Hibernation) DeepCopyInto(out *Hibernation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HibernationSchedule added in v1.0.0

type HibernationSchedule struct {
	// Start is a Cron spec at which time a Shoot will be hibernated.
	Start *string
	// End is a Cron spec at which time a Shoot will be woken up.
	End *string
	// Location is the time location in which both start and shall be evaluated.
	Location *string
}

HibernationSchedule determines the hibernation schedule of a Shoot. A Shoot will be regularly hibernated at each start time and will be woken up at each end time. Start or End can be omitted, though at least one of each has to be specified.

func (*HibernationSchedule) DeepCopy added in v1.0.0

func (in *HibernationSchedule) DeepCopy() *HibernationSchedule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationSchedule.

func (*HibernationSchedule) DeepCopyInto added in v1.0.0

func (in *HibernationSchedule) DeepCopyInto(out *HibernationSchedule)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HighAvailability added in v1.56.0

type HighAvailability struct {
	// FailureTolerance specifies the failure tolerance level in a high availability setup.
	FailureTolerance FailureTolerance
}

HighAvailability specifies the configuration settings for high availability for a resource. Typical usages could be to configure HA for shoot control plane or for seed system components.

func (*HighAvailability) DeepCopy added in v1.56.0

func (in *HighAvailability) DeepCopy() *HighAvailability

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability.

func (*HighAvailability) DeepCopyInto added in v1.56.0

func (in *HighAvailability) DeepCopyInto(out *HighAvailability)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HorizontalPodAutoscalerConfig added in v1.0.0

type HorizontalPodAutoscalerConfig struct {
	// The period after which a ready pod transition is considered to be the first.
	CPUInitializationPeriod *metav1.Duration
	// The configurable window at which the controller will choose the highest recommendation for autoscaling.
	DownscaleStabilization *metav1.Duration
	// The configurable period at which the horizontal pod autoscaler considers a Pod “not yet ready” given that it’s unready and it has  transitioned to unready during that time.
	InitialReadinessDelay *metav1.Duration
	// The period for syncing the number of pods in horizontal pod autoscaler.
	SyncPeriod *metav1.Duration
	// The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.
	Tolerance *float64
}

HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager. Note: Descriptions were taken from the Kubernetes documentation.

func (*HorizontalPodAutoscalerConfig) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerConfig.

func (*HorizontalPodAutoscalerConfig) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IPFamily added in v1.63.0

type IPFamily string

IPFamily is a type for specifying an IP protocol version to use in Gardener clusters.

const (
	// IPFamilyIPv4 is the IPv4 IP family.
	IPFamilyIPv4 IPFamily = "IPv4"
	// IPFamilyIPv6 is the IPv6 IP family.
	IPFamilyIPv6 IPFamily = "IPv6"
)

type Ingress added in v1.15.0

type Ingress struct {
	// Domain specifies the ingress domain of the Seed cluster pointing to the ingress controller endpoint. It will be used
	// to construct ingress URLs for system applications running in Shoot clusters. Once set this field is immutable.
	Domain string
	// Controller configures a Gardener managed Ingress Controller listening on the ingressDomain
	Controller IngressController
}

Ingress configures the Ingress specific settings of the Seed cluster

func (*Ingress) DeepCopy added in v1.15.0

func (in *Ingress) DeepCopy() *Ingress

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.

func (*Ingress) DeepCopyInto added in v1.15.0

func (in *Ingress) DeepCopyInto(out *Ingress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IngressController added in v1.15.0

type IngressController struct {
	// Kind defines which kind of IngressController to use, for example `nginx`
	Kind string
	// ProviderConfig specifies infrastructure specific configuration for the ingressController
	ProviderConfig *runtime.RawExtension
}

IngressController enables a Gardener managed Ingress Controller listening on the ingressDomain

func (*IngressController) DeepCopy added in v1.15.0

func (in *IngressController) DeepCopy() *IngressController

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressController.

func (*IngressController) DeepCopyInto added in v1.15.0

func (in *IngressController) DeepCopyInto(out *IngressController)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternalSecret added in v1.73.0

type InternalSecret struct {
	metav1.TypeMeta
	// +optional
	metav1.ObjectMeta

	// Immutable field, if set, ensures that data stored in the Secret cannot
	// be updated (only object metadata can be modified).
	// +optional
	Immutable *bool

	// Data contains the secret data. Each key must consist of alphanumeric
	// characters, '-', '_' or '.'. The serialized form of the secret data is a
	// base64 encoded string, representing the arbitrary (possibly non-string)
	// data value here.
	// +optional
	Data map[string][]byte `datapolicy:"password,security-key,token"`

	// Used to facilitate programmatic handling of secret data.
	// More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
	// +optional
	Type corev1.SecretType
}

InternalSecret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.

func (*InternalSecret) DeepCopy added in v1.73.0

func (in *InternalSecret) DeepCopy() *InternalSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalSecret.

func (*InternalSecret) DeepCopyInto added in v1.73.0

func (in *InternalSecret) DeepCopyInto(out *InternalSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InternalSecret) DeepCopyObject added in v1.73.0

func (in *InternalSecret) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type InternalSecretList added in v1.73.0

type InternalSecretList struct {
	metav1.TypeMeta
	// +optional
	metav1.ListMeta

	Items []InternalSecret
}

InternalSecretList represents the list of secrets

func (*InternalSecretList) DeepCopy added in v1.73.0

func (in *InternalSecretList) DeepCopy() *InternalSecretList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalSecretList.

func (*InternalSecretList) DeepCopyInto added in v1.73.0

func (in *InternalSecretList) DeepCopyInto(out *InternalSecretList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*InternalSecretList) DeepCopyObject added in v1.73.0

func (in *InternalSecretList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type KubeAPIServerConfig added in v1.0.0

type KubeAPIServerConfig struct {
	KubernetesConfig
	// AdmissionPlugins contains the list of user-defined admission plugins (additional to those managed by Gardener), and, if desired, the corresponding
	// configuration.
	AdmissionPlugins []AdmissionPlugin
	// APIAudiences are the identifiers of the API. The service account token authenticator will
	// validate that tokens used against the API are bound to at least one of these audiences.
	// Defaults to ["kubernetes"].
	APIAudiences []string
	// AuditConfig contains configuration settings for the audit of the kube-apiserver.
	AuditConfig *AuditConfig
	// OIDCConfig contains configuration settings for the OIDC provider.
	//
	// Deprecated: This field is deprecated and will be forbidden starting from Kubernetes 1.32.
	// Please configure and use structured authentication instead of oidc flags.
	// For more information check https://github.com/gardener/gardener/issues/9858
	// TODO(AleksandarSavchev): Drop this field after support for Kubernetes 1.31 is dropped.
	OIDCConfig *OIDCConfig
	// RuntimeConfig contains information about enabled or disabled APIs.
	RuntimeConfig map[string]bool
	// ServiceAccountConfig contains configuration settings for the service account handling
	// of the kube-apiserver.
	ServiceAccountConfig *ServiceAccountConfig
	// WatchCacheSizes contains configuration of the API server's watch cache sizes.
	// Configuring these flags might be useful for large-scale Shoot clusters with a lot of parallel update requests
	// and a lot of watching controllers (e.g. large ManagedSeed clusters). When the API server's watch cache's
	// capacity is too small to cope with the amount of update requests and watchers for a particular resource, it
	// might happen that controller watches are permanently stopped with `too old resource version` errors.
	// Starting from kubernetes v1.19, the API server's watch cache size is adapted dynamically and setting the watch
	// cache size flags will have no effect, except when setting it to 0 (which disables the watch cache).
	WatchCacheSizes *WatchCacheSizes
	// Requests contains configuration for request-specific settings for the kube-apiserver.
	Requests *APIServerRequests
	// EnableAnonymousAuthentication defines whether anonymous requests to the secure port
	// of the API server should be allowed (flag `--anonymous-auth`).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	EnableAnonymousAuthentication *bool
	// EventTTL controls the amount of time to retain events.
	EventTTL *metav1.Duration
	// Logging contains configuration settings for the log verbosity and access logging
	Logging *APIServerLogging
	// DefaultNotReadyTolerationSeconds indicates the tolerationSeconds of the toleration for notReady:NoExecute
	// that is added by default to every pod that does not already have such a toleration (flag `--default-not-ready-toleration-seconds`).
	// The field has effect only when the `DefaultTolerationSeconds` admission plugin is enabled.
	DefaultNotReadyTolerationSeconds *int64
	// DefaultUnreachableTolerationSeconds indicates the tolerationSeconds of the toleration for unreachable:NoExecute
	// that is added by default to every pod that does not already have such a toleration (flag `--default-unreachable-toleration-seconds`).
	// The field has effect only when the `DefaultTolerationSeconds` admission plugin is enabled.
	DefaultUnreachableTolerationSeconds *int64
	// EncryptionConfig contains customizable encryption configuration of the API server.
	EncryptionConfig *EncryptionConfig
	// StructuredAuthentication contains configuration settings for structured authentication for the kube-apiserver.
	StructuredAuthentication *StructuredAuthentication
	// StructuredAuthorization contains configuration settings for structured authorization for the kube-apiserver.
	StructuredAuthorization *StructuredAuthorization
}

KubeAPIServerConfig contains configuration settings for the kube-apiserver.

func (*KubeAPIServerConfig) DeepCopy added in v1.0.0

func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerConfig.

func (*KubeAPIServerConfig) DeepCopyInto added in v1.0.0

func (in *KubeAPIServerConfig) DeepCopyInto(out *KubeAPIServerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeControllerManagerConfig added in v1.0.0

type KubeControllerManagerConfig struct {
	KubernetesConfig
	// HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager.
	HorizontalPodAutoscalerConfig *HorizontalPodAutoscalerConfig
	// NodeCIDRMaskSize defines the mask size for node cidr in cluster (default is 24). This field is immutable.
	NodeCIDRMaskSize *int32
	// PodEvictionTimeout defines the grace period for deleting pods on failed nodes.
	//
	// Deprecated: The corresponding kube-controller-manager flag `--pod-eviction-timeout` is deprecated
	// in favor of the kube-apiserver flags `--default-not-ready-toleration-seconds` and `--default-unreachable-toleration-seconds`.
	// The `--pod-eviction-timeout` flag does not have effect when the taint besed eviction is enabled. The taint
	// based eviction is beta (enabled by default) since Kubernetes 1.13 and GA since Kubernetes 1.18. Hence,
	// instead of setting this field, set the `spec.kubernetes.kubeAPIServer.defaultNotReadyTolerationSeconds` and
	// `spec.kubernetes.kubeAPIServer.defaultUnreachableTolerationSeconds`.
	PodEvictionTimeout *metav1.Duration
	// NodeMonitorGracePeriod defines the grace period before an unresponsive node is marked unhealthy.
	NodeMonitorGracePeriod *metav1.Duration
}

KubeControllerManagerConfig contains configuration settings for the kube-controller-manager.

func (*KubeControllerManagerConfig) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerConfig.

func (*KubeControllerManagerConfig) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeProxyConfig added in v1.0.0

type KubeProxyConfig struct {
	KubernetesConfig
	// Mode specifies which proxy mode to use.
	// defaults to IPTables.
	Mode *ProxyMode
	// Enabled indicates whether kube-proxy should be deployed or not.
	// Depending on the networking extensions switching kube-proxy off might be rejected. Consulting the respective documentation of the used networking extension is recommended before using this field.
	// defaults to true if not specified.
	Enabled *bool
}

KubeProxyConfig contains configuration settings for the kube-proxy.

func (*KubeProxyConfig) DeepCopy added in v1.0.0

func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxyConfig.

func (*KubeProxyConfig) DeepCopyInto added in v1.0.0

func (in *KubeProxyConfig) DeepCopyInto(out *KubeProxyConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeSchedulerConfig added in v1.0.0

type KubeSchedulerConfig struct {
	KubernetesConfig
	// KubeMaxPDVols allows to configure the `KUBE_MAX_PD_VOLS` environment variable for the kube-scheduler.
	// Please find more information here: https://kubernetes.io/docs/concepts/storage/storage-limits/#custom-limits
	// Note that using this field is considered alpha-/experimental-level and is on your own risk. You should be aware
	// of all the side-effects and consequences when changing it.
	KubeMaxPDVols *string
	// Profile configures the scheduling profile for the cluster.
	// If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior).
	Profile *SchedulingProfile
}

KubeSchedulerConfig contains configuration settings for the kube-scheduler.

func (*KubeSchedulerConfig) DeepCopy added in v1.0.0

func (in *KubeSchedulerConfig) DeepCopy() *KubeSchedulerConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfig.

func (*KubeSchedulerConfig) DeepCopyInto added in v1.0.0

func (in *KubeSchedulerConfig) DeepCopyInto(out *KubeSchedulerConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfig added in v1.0.0

type KubeletConfig struct {
	KubernetesConfig
	// ContainerLogMaxSize defines the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki".
	ContainerLogMaxSize *resource.Quantity
	// ContainerLogMaxFiles is the maximum number of container log files that can be present for a container.
	ContainerLogMaxFiles *int32
	// CPUCFSQuota allows you to disable/enable CPU throttling for Pods.
	CPUCFSQuota *bool
	// CPUManagerPolicy allows to set alternative CPU management policies (default: none).
	CPUManagerPolicy *string
	// EvictionHard describes a set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a Pod eviction.
	// Default:
	//   memory.available:   "100Mi/1Gi/5%"
	//   nodefs.available:   "5%"
	//   nodefs.inodesFree:  "5%"
	//   imagefs.available:  "5%"
	//   imagefs.inodesFree: "5%"
	EvictionHard *KubeletConfigEviction
	// EvictionMaxPodGracePeriod describes the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met.
	// Default: 90
	EvictionMaxPodGracePeriod *int32
	// EvictionMinimumReclaim configures the amount of resources below the configured eviction threshold that the kubelet attempts to reclaim whenever the kubelet observes resource pressure.
	// Default: 0 for each resource
	EvictionMinimumReclaim *KubeletConfigEvictionMinimumReclaim
	// EvictionPressureTransitionPeriod is the duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.
	// Default: 4m0s
	EvictionPressureTransitionPeriod *metav1.Duration
	// EvictionSoft describes a set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a Pod eviction.
	// Default:
	//   memory.available:   "200Mi/1.5Gi/10%"
	//   nodefs.available:   "10%"
	//   nodefs.inodesFree:  "10%"
	//   imagefs.available:  "10%"
	//   imagefs.inodesFree: "10%"
	EvictionSoft *KubeletConfigEviction
	// EvictionSoftGracePeriod describes a set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a Pod eviction.
	// Default:
	//   memory.available:   1m30s
	//   nodefs.available:   1m30s
	//   nodefs.inodesFree:  1m30s
	//   imagefs.available:  1m30s
	//   imagefs.inodesFree: 1m30s
	EvictionSoftGracePeriod *KubeletConfigEvictionSoftGracePeriod
	// MaxPods is the maximum number of Pods that are allowed by the Kubelet.
	// Default: 110
	MaxPods *int32
	// PodPIDsLimit is the maximum number of process IDs per pod allowed by the kubelet.
	PodPIDsLimit *int64
	// FailSwapOn makes the Kubelet fail to start if swap is enabled on the node. (default true).
	FailSwapOn *bool
	// KubeReserved is the configuration for resources reserved for kubernetes node components (mainly kubelet and container runtime).
	// When updating these values, be aware that cgroup resizes may not succeed on active worker nodes. Look for the NodeAllocatableEnforced event to determine if the configuration was applied.
	// Default: cpu=80m,memory=1Gi,pid=20k
	KubeReserved *KubeletConfigReserved
	// SystemReserved is the configuration for resources reserved for system processes not managed by kubernetes (e.g. journald).
	// When updating these values, be aware that cgroup resizes may not succeed on active worker nodes. Look for the NodeAllocatableEnforced event to determine if the configuration was applied.
	//
	// Deprecated: Separately configuring resource reservations for system processes is deprecated in Gardener and will be forbidden starting from Kubernetes 1.31.
	// Please merge existing resource reservations into the kubeReserved field.
	// TODO(MichaelEischer): Drop this field after support for Kubernetes 1.30 is dropped.
	SystemReserved *KubeletConfigReserved
	// ImageGCHighThresholdPercent describes the percent of the disk usage which triggers image garbage collection.
	ImageGCHighThresholdPercent *int32
	// ImageGCLowThresholdPercent describes the percent of the disk to which garbage collection attempts to free.
	ImageGCLowThresholdPercent *int32
	// SerializeImagePulls describes whether the images are pulled one at a time.
	SerializeImagePulls *bool
	// RegistryPullQPS is the limit of registry pulls per second. The value must not be a negative number.
	// Setting it to 0 means no limit.
	RegistryPullQPS *int32
	// RegistryBurst is the maximum size of bursty pulls, temporarily allows pulls to burst to this number,
	// while still not exceeding registryPullQPS. The value must not be a negative number.
	// Only used if registryPullQPS is greater than 0.
	RegistryBurst *int32
	// SeccompDefault enables the use of `RuntimeDefault` as the default seccomp profile for all workloads.
	// This requires the corresponding SeccompDefault feature gate to be enabled as well.
	// This field is only available for Kubernetes v1.25 or later.
	SeccompDefault *bool
	// ProtectKernelDefaults ensures that the kernel tunables are equal to the kubelet defaults.
	// Defaults to true for Kubernetes v1.26 or later.
	ProtectKernelDefaults *bool
	// StreamingConnectionIdleTimeout is the maximum time a streaming connection can be idle before the connection is automatically closed.
	// This field cannot be set lower than "30s" or greater than "4h".
	// Default:
	//  "4h" for Kubernetes < v1.26.
	//  "5m" for Kubernetes >= v1.26.
	StreamingConnectionIdleTimeout *metav1.Duration
	// MemorySwap configures swap memory available to container workloads.
	MemorySwap *MemorySwapConfiguration
}

KubeletConfig contains configuration settings for the kubelet.

func (*KubeletConfig) DeepCopy added in v1.0.0

func (in *KubeletConfig) DeepCopy() *KubeletConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.

func (*KubeletConfig) DeepCopyInto added in v1.0.0

func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfigEviction added in v1.0.0

type KubeletConfigEviction struct {
	// MemoryAvailable is the threshold for the free memory on the host server.
	MemoryAvailable *string
	// ImageFSAvailable is the threshold for the free disk space in the imagefs filesystem (docker images and container writable layers).
	ImageFSAvailable *string
	// ImageFSInodesFree is the threshold for the available inodes in the imagefs filesystem.
	ImageFSInodesFree *string
	// NodeFSAvailable is the threshold for the free disk space in the nodefs filesystem (docker volumes, logs, etc).
	NodeFSAvailable *string
	// NodeFSInodesFree is the threshold for the available inodes in the nodefs filesystem.
	NodeFSInodesFree *string
}

KubeletConfigEviction contains kubelet eviction thresholds supporting either a resource.Quantity or a percentage based value.

func (*KubeletConfigEviction) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEviction.

func (*KubeletConfigEviction) DeepCopyInto added in v1.0.0

func (in *KubeletConfigEviction) DeepCopyInto(out *KubeletConfigEviction)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfigEvictionMinimumReclaim added in v1.0.0

type KubeletConfigEvictionMinimumReclaim struct {
	// MemoryAvailable is the threshold for the memory reclaim on the host server.
	MemoryAvailable *resource.Quantity
	// ImageFSAvailable is the threshold for the disk space reclaim in the imagefs filesystem (docker images and container writable layers).
	ImageFSAvailable *resource.Quantity
	// ImageFSInodesFree is the threshold for the inodes reclaim in the imagefs filesystem.
	ImageFSInodesFree *resource.Quantity
	// NodeFSAvailable is the threshold for the disk space reclaim in the nodefs filesystem (docker volumes, logs, etc).
	NodeFSAvailable *resource.Quantity
	// NodeFSInodesFree is the threshold for the inodes reclaim in the nodefs filesystem.
	NodeFSInodesFree *resource.Quantity
}

KubeletConfigEvictionMinimumReclaim contains configuration for the kubelet eviction minimum reclaim.

func (*KubeletConfigEvictionMinimumReclaim) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEvictionMinimumReclaim.

func (*KubeletConfigEvictionMinimumReclaim) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfigEvictionSoftGracePeriod added in v1.0.0

type KubeletConfigEvictionSoftGracePeriod struct {
	// MemoryAvailable is the grace period for the MemoryAvailable eviction threshold.
	MemoryAvailable *metav1.Duration
	// ImageFSAvailable is the grace period for the ImageFSAvailable eviction threshold.
	ImageFSAvailable *metav1.Duration
	// ImageFSInodesFree is the grace period for the ImageFSInodesFree eviction threshold.
	ImageFSInodesFree *metav1.Duration
	// NodeFSAvailable is the grace period for the NodeFSAvailable eviction threshold.
	NodeFSAvailable *metav1.Duration
	// NodeFSInodesFree is the grace period for the NodeFSInodesFree eviction threshold.
	NodeFSInodesFree *metav1.Duration
}

KubeletConfigEvictionSoftGracePeriod contains grace periods for kubelet eviction thresholds.

func (*KubeletConfigEvictionSoftGracePeriod) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEvictionSoftGracePeriod.

func (*KubeletConfigEvictionSoftGracePeriod) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubeletConfigReserved added in v1.8.0

type KubeletConfigReserved struct {
	// CPU is the reserved cpu.
	CPU *resource.Quantity
	// Memory is the reserved memory.
	Memory *resource.Quantity
	// EphemeralStorage is the reserved ephemeral-storage.
	EphemeralStorage *resource.Quantity
	// PID is the reserved process-ids.
	PID *resource.Quantity
}

KubeletConfigReserved contains reserved resources for daemons

func (*KubeletConfigReserved) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigReserved.

func (*KubeletConfigReserved) DeepCopyInto added in v1.8.0

func (in *KubeletConfigReserved) DeepCopyInto(out *KubeletConfigReserved)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Kubernetes added in v1.0.0

type Kubernetes struct {
	// ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler.
	ClusterAutoscaler *ClusterAutoscaler
	// KubeAPIServer contains configuration settings for the kube-apiserver.
	KubeAPIServer *KubeAPIServerConfig
	// KubeControllerManager contains configuration settings for the kube-controller-manager.
	KubeControllerManager *KubeControllerManagerConfig
	// KubeScheduler contains configuration settings for the kube-scheduler.
	KubeScheduler *KubeSchedulerConfig
	// KubeProxy contains configuration settings for the kube-proxy.
	KubeProxy *KubeProxyConfig
	// Kubelet contains configuration settings for the kubelet.
	Kubelet *KubeletConfig

	// Version is the semantic Kubernetes version to use for the Shoot cluster.
	// Defaults to the highest supported minor and patch version given in the referenced cloud profile.
	// The version can be omitted completely or partially specified, e.g. `<major>.<minor>`.
	Version string
	// VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler.
	VerticalPodAutoscaler *VerticalPodAutoscaler
	// EnableStaticTokenKubeconfig indicates whether static token kubeconfig secret will be created for the Shoot cluster.
	// Defaults to true for Shoots with Kubernetes versions < 1.26. Defaults to false for Shoots with Kubernetes versions >= 1.26.
	// Starting Kubernetes 1.27 the field will be locked to false.
	EnableStaticTokenKubeconfig *bool
}

Kubernetes contains the version and configuration variables for the Shoot control plane.

func (*Kubernetes) DeepCopy added in v1.0.0

func (in *Kubernetes) DeepCopy() *Kubernetes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kubernetes.

func (*Kubernetes) DeepCopyInto added in v1.0.0

func (in *Kubernetes) DeepCopyInto(out *Kubernetes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesConfig added in v1.0.0

type KubernetesConfig struct {
	// FeatureGates contains information about enabled feature gates.
	FeatureGates map[string]bool
}

KubernetesConfig contains common configuration fields for the control plane components.

func (*KubernetesConfig) DeepCopy added in v1.0.0

func (in *KubernetesConfig) DeepCopy() *KubernetesConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesConfig.

func (*KubernetesConfig) DeepCopyInto added in v1.0.0

func (in *KubernetesConfig) DeepCopyInto(out *KubernetesConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesDashboard added in v1.0.0

type KubernetesDashboard struct {
	Addon
	// AuthenticationMode defines the authentication mode for the kubernetes-dashboard.
	AuthenticationMode *string
}

KubernetesDashboard describes configuration values for the kubernetes-dashboard addon.

func (*KubernetesDashboard) DeepCopy added in v1.0.0

func (in *KubernetesDashboard) DeepCopy() *KubernetesDashboard

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDashboard.

func (*KubernetesDashboard) DeepCopyInto added in v1.0.0

func (in *KubernetesDashboard) DeepCopyInto(out *KubernetesDashboard)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type KubernetesSettings added in v1.0.0

type KubernetesSettings struct {
	// Versions is the list of allowed Kubernetes versions with optional expiration dates for Shoot clusters.
	Versions []ExpirableVersion
}

KubernetesSettings contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.

func (*KubernetesSettings) DeepCopy added in v1.0.0

func (in *KubernetesSettings) DeepCopy() *KubernetesSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSettings.

func (*KubernetesSettings) DeepCopyInto added in v1.0.0

func (in *KubernetesSettings) DeepCopyInto(out *KubernetesSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LastError

type LastError struct {
	// A human readable message indicating details about the last error.
	Description string
	// ID of the task which caused this last error
	TaskID *string
	// Well-defined error codes of the last error(s).
	// +optional
	Codes []ErrorCode
	// Last time the error was reported
	LastUpdateTime *metav1.Time
}

LastError indicates the last occurred error for an operation on a resource.

func (*LastError) DeepCopy

func (in *LastError) DeepCopy() *LastError

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastError.

func (*LastError) DeepCopyInto

func (in *LastError) DeepCopyInto(out *LastError)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LastMaintenance added in v1.62.0

type LastMaintenance struct {
	// A human-readable message containing details about the operations performed in the last maintenance.
	Description string
	// TriggeredTime is the time when maintenance was triggered.
	TriggeredTime metav1.Time
	// Status of the last maintenance operation, one of Processing, Succeeded, Error.
	State LastOperationState
	// FailureReason holds the information about the last maintenance operation failure reason.
	FailureReason *string
}

LastMaintenance holds information about a maintenance operation on the Shoot.

func (*LastMaintenance) DeepCopy added in v1.62.0

func (in *LastMaintenance) DeepCopy() *LastMaintenance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastMaintenance.

func (*LastMaintenance) DeepCopyInto added in v1.62.0

func (in *LastMaintenance) DeepCopyInto(out *LastMaintenance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LastOperation

type LastOperation struct {
	// A human readable message indicating details about the last operation.
	Description string
	// Last time the operation state transitioned from one to another.
	LastUpdateTime metav1.Time
	// The progress in percentage (0-100) of the last operation.
	Progress int32
	// Status of the last operation, one of Aborted, Processing, Succeeded, Error, Failed.
	State LastOperationState
	// Type of the last operation, one of Create, Reconcile, Delete, Migrate, Restore.
	Type LastOperationType
}

LastOperation indicates the type and the state of the last operation, along with a description message and a progress indicator.

func (*LastOperation) DeepCopy

func (in *LastOperation) DeepCopy() *LastOperation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastOperation.

func (*LastOperation) DeepCopyInto

func (in *LastOperation) DeepCopyInto(out *LastOperation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LastOperationState

type LastOperationState string

LastOperationState is a string alias.

const (
	// LastOperationStateProcessing indicates that an operation is ongoing.
	LastOperationStateProcessing LastOperationState = "Processing"
	// LastOperationStateSucceeded indicates that an operation has completed successfully.
	LastOperationStateSucceeded LastOperationState = "Succeeded"
	// LastOperationStateError indicates that an operation is completed with errors and will be retried.
	LastOperationStateError LastOperationState = "Error"
	// LastOperationStateFailed indicates that an operation is completed with errors and won't be retried.
	LastOperationStateFailed LastOperationState = "Failed"
	// LastOperationStatePending indicates that an operation cannot be done now, but will be tried in future.
	LastOperationStatePending LastOperationState = "Pending"
	// LastOperationStateAborted indicates that an operation has been aborted.
	LastOperationStateAborted LastOperationState = "Aborted"
)

type LastOperationType

type LastOperationType string

LastOperationType is a string alias.

const (
	// LastOperationTypeCreate indicates a 'create' operation.
	LastOperationTypeCreate LastOperationType = "Create"
	// LastOperationTypeReconcile indicates a 'reconcile' operation.
	LastOperationTypeReconcile LastOperationType = "Reconcile"
	// LastOperationTypeDelete indicates a 'delete' operation.
	LastOperationTypeDelete LastOperationType = "Delete"
	// LastOperationTypeRestore indicates a 'restore' operation.
	LastOperationTypeRestore LastOperationType = "Restore"
	// LastOperationTypeMigrate indicates a 'migrate' operation.
	LastOperationTypeMigrate LastOperationType = "Migrate"
)

type LoadBalancerServicesProxyProtocol added in v1.96.0

type LoadBalancerServicesProxyProtocol struct {
	// Allowed controls whether the ProxyProtocol is optionally allowed for the load balancer services.
	// This should only be enabled if the load balancer services are already using ProxyProtocol or will be reconfigured to use it soon.
	// Until the load balancers are configured with ProxyProtocol, enabling this setting may allow clients to spoof their source IP addresses.
	// The option allows a migration from non-ProxyProtocol to ProxyProtocol without downtime (depending on the infrastructure).
	// Defaults to false.
	Allowed bool
}

LoadBalancerServicesProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services.

func (*LoadBalancerServicesProxyProtocol) DeepCopy added in v1.96.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerServicesProxyProtocol.

func (*LoadBalancerServicesProxyProtocol) DeepCopyInto added in v1.96.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Machine added in v1.0.0

type Machine struct {
	// Type is the machine type of the worker group.
	Type string
	// Image holds information about the machine image to use for all nodes of this pool. It will default to the
	// latest version of the first image stated in the referenced CloudProfile if no value has been provided.
	Image *ShootMachineImage
	// Architecture is the CPU architecture of the machines in this worker pool.
	Architecture *string
}

Machine contains information about the machine type and image.

func (*Machine) DeepCopy added in v1.0.0

func (in *Machine) DeepCopy() *Machine

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.

func (*Machine) DeepCopyInto added in v1.0.0

func (in *Machine) DeepCopyInto(out *Machine)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineControllerManagerSettings added in v1.8.0

type MachineControllerManagerSettings struct {
	// MachineDrainTimeout is the period after which machine is forcefully deleted.
	MachineDrainTimeout *metav1.Duration
	// MachineHealthTimeout is the period after which machine is declared failed.
	MachineHealthTimeout *metav1.Duration
	// MachineCreationTimeout is the period after which creation of the machine is declared failed.
	MachineCreationTimeout *metav1.Duration
	// MaxEvictRetries are the number of eviction retries on a pod after which drain is declared failed, and forceful deletion is triggered.
	MaxEvictRetries *int32
	// NodeConditions are the set of conditions if set to true for the period of MachineHealthTimeout, machine will be declared failed.
	NodeConditions []string
}

MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout.

func (*MachineControllerManagerSettings) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineControllerManagerSettings.

func (*MachineControllerManagerSettings) DeepCopyInto added in v1.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineImage added in v1.0.0

type MachineImage struct {
	// Name is the name of the image.
	Name string
	// Versions contains versions, expiration dates and container runtimes of the machine image
	Versions []MachineImageVersion
	// UpdateStrategy is the update strategy to use for the machine image. Possible values are:
	//  - patch: update to the latest patch version of the current minor version.
	//  - minor: update to the latest minor and patch version.
	//  - major: always update to the overall latest version (default).
	UpdateStrategy *MachineImageUpdateStrategy
}

MachineImage defines the name and multiple versions of the machine image in any environment.

func (*MachineImage) DeepCopy added in v1.0.0

func (in *MachineImage) DeepCopy() *MachineImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImage.

func (*MachineImage) DeepCopyInto added in v1.0.0

func (in *MachineImage) DeepCopyInto(out *MachineImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineImageUpdateStrategy added in v1.83.0

type MachineImageUpdateStrategy string

MachineImageUpdateStrategy is the update strategy to use for a machine image

const (
	// UpdateStrategyPatch indicates that auto-updates are performed to the latest patch version of the current minor version.
	// When using an expired version during the maintenance window, force updates to the latest patch of the next (not necessarily consecutive) minor when using an expired version.
	UpdateStrategyPatch MachineImageUpdateStrategy = "patch"
	// UpdateStrategyMinor indicates that auto-updates are performed to the latest patch and minor version of the current major version.
	// When using an expired version during the maintenance window, force updates to the latest minor and patch of the next (not necessarily consecutive) major version.
	UpdateStrategyMinor MachineImageUpdateStrategy = "minor"
	// UpdateStrategyMajor indicates that auto-updates are performed always to the overall latest version.
	UpdateStrategyMajor MachineImageUpdateStrategy = "major"
)

type MachineImageVersion added in v1.9.0

type MachineImageVersion struct {
	ExpirableVersion
	// CRI list of supported container runtime and interfaces supported by this version
	CRI []CRI
	// Architectures is the list of CPU architectures of the machine image in this version.
	Architectures []string
	// KubeletVersionConstraint is a constraint describing the supported kubelet versions by the machine image in this version.
	// If the field is not specified, it is assumed that the machine image in this version supports all kubelet versions.
	// Examples:
	// - '>= 1.26' - supports only kubelet versions greater than or equal to 1.26
	// - '< 1.26' - supports only kubelet versions less than 1.26
	KubeletVersionConstraint *string
}

MachineImageVersion is an expirable version with list of supported container runtimes and interfaces

func (*MachineImageVersion) DeepCopy added in v1.9.0

func (in *MachineImageVersion) DeepCopy() *MachineImageVersion

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImageVersion.

func (*MachineImageVersion) DeepCopyInto added in v1.9.0

func (in *MachineImageVersion) DeepCopyInto(out *MachineImageVersion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineType added in v1.0.0

type MachineType struct {
	// CPU is the number of CPUs for this machine type.
	CPU resource.Quantity
	// GPU is the number of GPUs for this machine type.
	GPU resource.Quantity
	// Memory is the amount of memory for this machine type.
	Memory resource.Quantity
	// Name is the name of the machine type.
	Name string
	// Storage is the amount of storage associated with the root volume of this machine type.
	Storage *MachineTypeStorage
	// Usable defines if the machine type can be used for shoot clusters.
	Usable *bool
	// Architecture is the CPU architecture of this machine type.
	Architecture *string
}

MachineType contains certain properties of a machine type.

func (*MachineType) DeepCopy added in v1.0.0

func (in *MachineType) DeepCopy() *MachineType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineType.

func (*MachineType) DeepCopyInto added in v1.0.0

func (in *MachineType) DeepCopyInto(out *MachineType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MachineTypeStorage added in v1.0.0

type MachineTypeStorage struct {
	// Class is the class of the storage type.
	Class string
	// StorageSize is the storage size.
	StorageSize *resource.Quantity
	// Type is the type of the storage.
	Type string
	// MinSize is the minimal supported storage size.
	// This overrides any other common minimum size configuration in the `spec.volumeTypes[*].minSize`.
	MinSize *resource.Quantity
}

MachineTypeStorage is the amount of storage associated with the root volume of this machine type.

func (*MachineTypeStorage) DeepCopy added in v1.0.0

func (in *MachineTypeStorage) DeepCopy() *MachineTypeStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineTypeStorage.

func (*MachineTypeStorage) DeepCopyInto added in v1.0.0

func (in *MachineTypeStorage) DeepCopyInto(out *MachineTypeStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Maintenance added in v1.0.0

type Maintenance struct {
	// AutoUpdate contains information about which constraints should be automatically updated.
	AutoUpdate *MaintenanceAutoUpdate
	// TimeWindow contains information about the time window for maintenance operations.
	TimeWindow *MaintenanceTimeWindow
	// ConfineSpecUpdateRollout prevents that changes/updates to the shoot specification will be rolled out immediately.
	// Instead, they are rolled out during the shoot's maintenance time window. There is one exception that will trigger
	// an immediate roll out which is changes to the Spec.Hibernation.Enabled field.
	ConfineSpecUpdateRollout *bool
}

Maintenance contains information about the time window for maintenance operations and which operations should be performed.

func (*Maintenance) DeepCopy added in v1.0.0

func (in *Maintenance) DeepCopy() *Maintenance

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintenance.

func (*Maintenance) DeepCopyInto added in v1.0.0

func (in *Maintenance) DeepCopyInto(out *Maintenance)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceAutoUpdate added in v1.0.0

type MaintenanceAutoUpdate struct {
	// KubernetesVersion indicates whether the patch Kubernetes version may be automatically updated (default: true).
	KubernetesVersion bool
	// MachineImageVersion indicates whether the machine image version may be automatically updated (default: true).
	MachineImageVersion *bool
}

MaintenanceAutoUpdate contains information about which constraints should be automatically updated.

func (*MaintenanceAutoUpdate) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceAutoUpdate.

func (*MaintenanceAutoUpdate) DeepCopyInto added in v1.0.0

func (in *MaintenanceAutoUpdate) DeepCopyInto(out *MaintenanceAutoUpdate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MaintenanceTimeWindow added in v1.0.0

type MaintenanceTimeWindow struct {
	// Begin is the beginning of the time window in the format HHMMSS+ZONE, e.g. "220000+0100".
	// If not present, a random value will be computed.
	Begin string
	// End is the end of the time window in the format HHMMSS+ZONE, e.g. "220000+0100".
	// If not present, the value will be computed based on the "Begin" value.
	End string
}

MaintenanceTimeWindow contains information about the time window for maintenance operations.

func (*MaintenanceTimeWindow) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceTimeWindow.

func (*MaintenanceTimeWindow) DeepCopyInto added in v1.0.0

func (in *MaintenanceTimeWindow) DeepCopyInto(out *MaintenanceTimeWindow)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type MemorySwapConfiguration added in v1.71.0

type MemorySwapConfiguration struct {
	// SwapBehavior configures swap memory available to container workloads. May be one of {"LimitedSwap", "UnlimitedSwap"}
	// defaults to: LimitedSwap
	SwapBehavior *SwapBehavior
}

MemorySwapConfiguration contains kubelet swap configuration For more information, please see KEP: 2400-node-swap

func (*MemorySwapConfiguration) DeepCopy added in v1.71.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemorySwapConfiguration.

func (*MemorySwapConfiguration) DeepCopyInto added in v1.71.0

func (in *MemorySwapConfiguration) DeepCopyInto(out *MemorySwapConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Monitoring added in v1.0.0

type Monitoring struct {
	// Alerting contains information about the alerting configuration for the shoot cluster.
	Alerting *Alerting
}

Monitoring contains information about the monitoring configuration for the shoot.

func (*Monitoring) DeepCopy added in v1.0.0

func (in *Monitoring) DeepCopy() *Monitoring

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitoring.

func (*Monitoring) DeepCopyInto added in v1.0.0

func (in *Monitoring) DeepCopyInto(out *Monitoring)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamedResourceReference added in v1.5.0

type NamedResourceReference struct {
	// Name of the resource reference.
	Name string
	// ResourceRef is a reference to a resource.
	ResourceRef autoscalingv1.CrossVersionObjectReference
}

NamedResourceReference is a named reference to a resource.

func (*NamedResourceReference) DeepCopy added in v1.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedResourceReference.

func (*NamedResourceReference) DeepCopyInto added in v1.5.0

func (in *NamedResourceReference) DeepCopyInto(out *NamedResourceReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespacedCloudProfile added in v1.92.0

type NamespacedCloudProfile struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the provider environment properties.
	Spec NamespacedCloudProfileSpec
	// Most recently observed status of the NamespacedCloudProfile.
	Status NamespacedCloudProfileStatus
}

NamespacedCloudProfile represents certain properties about a provider environment.

func (*NamespacedCloudProfile) DeepCopy added in v1.92.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfile.

func (*NamespacedCloudProfile) DeepCopyInto added in v1.92.0

func (in *NamespacedCloudProfile) DeepCopyInto(out *NamespacedCloudProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespacedCloudProfile) DeepCopyObject added in v1.92.0

func (in *NamespacedCloudProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespacedCloudProfileList added in v1.92.0

type NamespacedCloudProfileList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of NamespacedCloudProfiles.
	Items []NamespacedCloudProfile
}

NamespacedCloudProfileList is a collection of NamespacedCloudProfiles.

func (*NamespacedCloudProfileList) DeepCopy added in v1.92.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileList.

func (*NamespacedCloudProfileList) DeepCopyInto added in v1.92.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NamespacedCloudProfileList) DeepCopyObject added in v1.92.0

func (in *NamespacedCloudProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespacedCloudProfileSpec added in v1.92.0

type NamespacedCloudProfileSpec struct {
	// CABundle is a certificate bundle which will be installed onto every host machine of shoot cluster targeting this profile.
	CABundle *string
	// Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
	Kubernetes *KubernetesSettings
	// MachineImages contains constraints regarding allowed values for machine images in the Shoot specification.
	MachineImages []MachineImage
	// MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification.
	MachineTypes []MachineType
	// VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification.
	VolumeTypes []VolumeType
	// Parent contains a reference to a CloudProfile it inherits from.
	Parent CloudProfileReference
}

NamespacedCloudProfileSpec is the specification of a NamespacedCloudProfile.

func (*NamespacedCloudProfileSpec) DeepCopy added in v1.92.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileSpec.

func (*NamespacedCloudProfileSpec) DeepCopyInto added in v1.92.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NamespacedCloudProfileStatus added in v1.92.0

type NamespacedCloudProfileStatus struct {
	// CloudProfileSpec is the most recently generated CloudProfileSpec of the NamespacedCloudProfile.
	CloudProfileSpec CloudProfileSpec
	// ObservedGeneration is the most recent generation observed for this NamespacedCloudProfile.
	ObservedGeneration int64
}

NamespacedCloudProfileStatus holds the most recently observed status of the NamespacedCloudProfile.

func (*NamespacedCloudProfileStatus) DeepCopy added in v1.92.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileStatus.

func (*NamespacedCloudProfileStatus) DeepCopyInto added in v1.92.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Networking added in v1.0.0

type Networking struct {
	// Type identifies the type of the networking plugin. This field is immutable.
	Type *string
	// ProviderConfig is the configuration passed to network resource.
	ProviderConfig *runtime.RawExtension
	// Pods is the CIDR of the pod network. This field is immutable.
	Pods *string
	// Nodes is the CIDR of the entire node network.
	// This field is mutable.
	Nodes *string
	// Services is the CIDR of the service network. This field is immutable.
	Services *string
	// IPFamilies specifies the IP protocol versions to use for shoot networking. This field is immutable.
	// See https://github.com/gardener/gardener/blob/master/docs/development/ipv6.md.
	// Defaults to ["IPv4"].
	IPFamilies []IPFamily
}

Networking defines networking parameters for the shoot cluster.

func (*Networking) DeepCopy added in v1.0.0

func (in *Networking) DeepCopy() *Networking

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.

func (*Networking) DeepCopyInto added in v1.0.0

func (in *Networking) DeepCopyInto(out *Networking)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkingStatus added in v1.99.0

type NetworkingStatus struct {
	// Pods are the CIDRs of the pod network.
	Pods []string
	// Nodes are the CIDRs of the node network.
	Nodes []string
	// Services are the CIDRs of the service network.
	Services []string
	// EgressCIDRs is a list of CIDRs used by the shoot as the source IP for egress traffic as reported by the used
	// Infrastructure extension controller. For certain environments the egress IPs may not be stable in which case the
	// extension controller may opt to not populate this field.
	EgressCIDRs []string
}

NetworkingStatus contains information about cluster networking such as CIDRs.

func (*NetworkingStatus) DeepCopy added in v1.99.0

func (in *NetworkingStatus) DeepCopy() *NetworkingStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingStatus.

func (*NetworkingStatus) DeepCopyInto added in v1.99.0

func (in *NetworkingStatus) DeepCopyInto(out *NetworkingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NginxIngress added in v1.0.0

type NginxIngress struct {
	Addon
	// LoadBalancerSourceRanges is list of allowed IP sources for NginxIngress
	LoadBalancerSourceRanges []string
	// Config contains custom configuration for the nginx-ingress-controller configuration.
	// See https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/configmap.md#configuration-options
	Config map[string]string
	// ExternalTrafficPolicy controls the `.spec.externalTrafficPolicy` value of the load balancer `Service`
	// exposing the nginx-ingress. Defaults to `Cluster`.
	ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy
}

NginxIngress describes configuration values for the nginx-ingress addon.

func (*NginxIngress) DeepCopy added in v1.0.0

func (in *NginxIngress) DeepCopy() *NginxIngress

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NginxIngress.

func (*NginxIngress) DeepCopyInto added in v1.0.0

func (in *NginxIngress) DeepCopyInto(out *NginxIngress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeLocalDNS added in v1.49.0

type NodeLocalDNS struct {
	// Enabled indicates whether node local DNS is enabled or not.
	Enabled bool
	// ForceTCPToClusterDNS indicates whether the connection from the node local DNS to the cluster DNS (Core DNS) will be forced to TCP or not.
	// Default, if unspecified, is to enforce TCP.
	ForceTCPToClusterDNS *bool
	// ForceTCPToUpstreamDNS indicates whether the connection from the node local DNS to the upstream DNS (infrastructure DNS) will be forced to TCP or not.
	// Default, if unspecified, is to enforce TCP.
	ForceTCPToUpstreamDNS *bool
	// DisableForwardToUpstreamDNS indicates whether requests from node local DNS to upstream DNS should be disabled.
	// Default, if unspecified, is to forward requests for external domains to upstream DNS
	// +optional
	DisableForwardToUpstreamDNS *bool
}

NodeLocalDNS contains the settings of the node local DNS components running in the data plane of the Shoot cluster.

func (*NodeLocalDNS) DeepCopy added in v1.49.0

func (in *NodeLocalDNS) DeepCopy() *NodeLocalDNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalDNS.

func (*NodeLocalDNS) DeepCopyInto added in v1.49.0

func (in *NodeLocalDNS) DeepCopyInto(out *NodeLocalDNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OCIRepository added in v1.96.0

type OCIRepository struct {
	// Ref is the full artifact Ref and takes precedence over all other fields.
	Ref *string
	// Repository is a reference to an OCI artifact repository.
	Repository *string
	// Tag is the image tag to pull.
	Tag *string
	// Digest of the image to pull, takes precedence over tag.
	// The value should be in the format 'sha256:<HASH>'.
	Digest *string
}

OCIRepository configures where to pull an OCI Artifact, that could contain for example a Helm Chart.

func (*OCIRepository) DeepCopy added in v1.96.0

func (in *OCIRepository) DeepCopy() *OCIRepository

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIRepository.

func (*OCIRepository) DeepCopyInto added in v1.96.0

func (in *OCIRepository) DeepCopyInto(out *OCIRepository)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OCIRepository) GetURL added in v1.97.0

func (o *OCIRepository) GetURL() string

GetURL returns the fully-qualified OCIRepository URL of the artifact.

type OIDCConfig added in v1.0.0

type OIDCConfig struct {
	// If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
	CABundle *string
	// ClientAuthentication can optionally contain client configuration used for kubeconfig generation.
	//
	// Deprecated: This field has no implemented use and will be forbidden starting from Kubernetes 1.31.
	// It's use was planned for genereting OIDC kubeconfig https://github.com/gardener/gardener/issues/1433
	// TODO(AleksandarSavchev): Drop this field after support for Kubernetes 1.30 is dropped.
	ClientAuthentication *OpenIDConnectClientAuthentication
	// The client ID for the OpenID Connect client, must be set.
	ClientID *string
	// If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
	GroupsClaim *string
	// If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.
	GroupsPrefix *string
	// The URL of the OpenID issuer, only HTTPS scheme will be accepted. Used to verify the OIDC JSON Web Token (JWT).
	IssuerURL *string
	// key=value pairs that describes a required claim in the ID Token. If set, the claim is verified to be present in the ID Token with a matching value.
	RequiredClaims map[string]string
	// List of allowed JOSE asymmetric signing algorithms. JWTs with a 'alg' header value not in this list will be rejected. Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1
	SigningAlgs []string
	// The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details. (default "sub")
	UsernameClaim *string
	// If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
	UsernamePrefix *string
}

OIDCConfig contains configuration settings for the OIDC provider. Note: Descriptions were taken from the Kubernetes documentation.

func (*OIDCConfig) DeepCopy added in v1.0.0

func (in *OIDCConfig) DeepCopy() *OIDCConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCConfig.

func (*OIDCConfig) DeepCopyInto added in v1.0.0

func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Object added in v1.4.0

type Object interface {
	metav1.Object
	// GetProviderType gets the type of the provider.
	GetProviderType() string
}

Object is an core object resource.

type ObservabilityRotation added in v1.79.0

type ObservabilityRotation struct {
	// LastInitiationTime is the most recent time when the observability credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastCompletionTime is the most recent time when the observability credential rotation was successfully completed.
	LastCompletionTime *metav1.Time
}

ObservabilityRotation contains information about the observability credential rotation.

func (*ObservabilityRotation) DeepCopy added in v1.79.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityRotation.

func (*ObservabilityRotation) DeepCopyInto added in v1.79.0

func (in *ObservabilityRotation) DeepCopyInto(out *ObservabilityRotation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OpenIDConnectClientAuthentication added in v1.0.0

type OpenIDConnectClientAuthentication struct {
	// Extra configuration added to kubeconfig's auth-provider.
	// Must not be any of idp-issuer-url, client-id, client-secret, idp-certificate-authority, idp-certificate-authority-data, id-token or refresh-token
	ExtraConfig map[string]string
	// The client Secret for the OpenID Connect client.
	Secret *string
}

OpenIDConnectClientAuthentication contains configuration for OIDC clients.

func (*OpenIDConnectClientAuthentication) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDConnectClientAuthentication.

func (*OpenIDConnectClientAuthentication) DeepCopyInto added in v1.0.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Project added in v1.0.0

type Project struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the project properties.
	Spec ProjectSpec
	// Most recently observed status of the Project.
	Status ProjectStatus
}

Project holds certain properties about a Gardener project.

func (*Project) DeepCopy added in v1.0.0

func (in *Project) DeepCopy() *Project

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.

func (*Project) DeepCopyInto added in v1.0.0

func (in *Project) DeepCopyInto(out *Project)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Project) DeepCopyObject added in v1.0.0

func (in *Project) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectList added in v1.0.0

type ProjectList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Projects.
	Items []Project
}

ProjectList is a collection of Projects.

func (*ProjectList) DeepCopy added in v1.0.0

func (in *ProjectList) DeepCopy() *ProjectList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.

func (*ProjectList) DeepCopyInto added in v1.0.0

func (in *ProjectList) DeepCopyInto(out *ProjectList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ProjectList) DeepCopyObject added in v1.0.0

func (in *ProjectList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ProjectMember added in v1.0.0

type ProjectMember struct {
	// Subject is representing a user name, an email address, or any other identifier of a user, group, or service
	// account that has a certain role.
	rbacv1.Subject
	// Roles is a list of roles of this member.
	Roles []string
}

ProjectMember is a member of a project.

func (*ProjectMember) DeepCopy added in v1.0.0

func (in *ProjectMember) DeepCopy() *ProjectMember

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMember.

func (*ProjectMember) DeepCopyInto added in v1.0.0

func (in *ProjectMember) DeepCopyInto(out *ProjectMember)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectPhase added in v1.0.0

type ProjectPhase string

ProjectPhase is a label for the condition of a project at the current time.

type ProjectSpec added in v1.0.0

type ProjectSpec struct {
	// CreatedBy is a subject representing a user name, an email address, or any other identifier of a user
	// who created the project. This field is immutable.
	CreatedBy *rbacv1.Subject
	// Description is a human-readable description of what the project is used for.
	Description *string
	// Owner is a subject representing a user name, an email address, or any other identifier of a user owning
	// the project.
	Owner *rbacv1.Subject
	// Purpose is a human-readable explanation of the project's purpose.
	Purpose *string
	// Members is a list of subjects representing a user name, an email address, or any other identifier of a user,
	// group, or service account that has a certain role.
	Members []ProjectMember
	// Namespace is the name of the namespace that has been created for the Project object.
	// A nil value means that Gardener will determine the name of the namespace.
	// This field is immutable.
	Namespace *string
	// Tolerations contains the default tolerations and a list for allowed taints on seed clusters.
	Tolerations *ProjectTolerations
	// DualApprovalForDeletion contains configuration for the dual approval concept for resource deletion.
	DualApprovalForDeletion []DualApprovalForDeletion
}

ProjectSpec is the specification of a Project.

func (*ProjectSpec) DeepCopy added in v1.0.0

func (in *ProjectSpec) DeepCopy() *ProjectSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.

func (*ProjectSpec) DeepCopyInto added in v1.0.0

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectStatus added in v1.0.0

type ProjectStatus struct {
	// ObservedGeneration is the most recent generation observed for this project.
	ObservedGeneration int64
	// Phase is the current phase of the project.
	Phase ProjectPhase
	// StaleSinceTimestamp contains the timestamp when the project was first discovered to be stale/unused.
	StaleSinceTimestamp *metav1.Time
	// StaleAutoDeleteTimestamp contains the timestamp when the project will be garbage-collected/automatically deleted
	// because it's stale/unused.
	StaleAutoDeleteTimestamp *metav1.Time
	// LastActivityTimestamp contains the timestamp from the last activity performed in this project.
	LastActivityTimestamp *metav1.Time
}

ProjectStatus holds the most recently observed status of the project.

func (*ProjectStatus) DeepCopy added in v1.0.0

func (in *ProjectStatus) DeepCopy() *ProjectStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.

func (*ProjectStatus) DeepCopyInto added in v1.0.0

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProjectTolerations added in v1.6.0

type ProjectTolerations struct {
	// Defaults contains a list of tolerations that are added to the shoots in this project by default.
	Defaults []Toleration
	// Whitelist contains a list of tolerations that are allowed to be added to the shoots in this project. Please note
	// that this list may only be added by users having the `spec-tolerations-whitelist` verb for project resources.
	Whitelist []Toleration
}

ProjectTolerations contains the tolerations for taints on seed clusters.

func (*ProjectTolerations) DeepCopy added in v1.6.0

func (in *ProjectTolerations) DeepCopy() *ProjectTolerations

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectTolerations.

func (*ProjectTolerations) DeepCopyInto added in v1.6.0

func (in *ProjectTolerations) DeepCopyInto(out *ProjectTolerations)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Provider added in v1.0.0

type Provider struct {
	// Type is the type of the provider. This field is immutable.
	Type string
	// ControlPlaneConfig contains the provider-specific control plane config blob. Please look up the concrete
	// definition in the documentation of your provider extension.
	ControlPlaneConfig *runtime.RawExtension
	// InfrastructureConfig contains the provider-specific infrastructure config blob. Please look up the concrete
	// definition in the documentation of your provider extension.
	InfrastructureConfig *runtime.RawExtension
	// Workers is a list of worker groups.
	Workers []Worker
	// WorkersSettings contains settings for all workers.
	WorkersSettings *WorkersSettings
}

Provider contains provider-specific information that are handed-over to the provider-specific extension controller.

func (*Provider) DeepCopy added in v1.0.0

func (in *Provider) DeepCopy() *Provider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.

func (*Provider) DeepCopyInto added in v1.0.0

func (in *Provider) DeepCopyInto(out *Provider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ProxyMode added in v1.0.0

type ProxyMode string

ProxyMode available in Linux platform: 'userspace' (older, going to be EOL), 'iptables' (newer, faster), 'ipvs' (newest, better in performance and scalability). As of now only 'iptables' and 'ipvs' is supported by Gardener. In Linux platform, if the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are insufficient, this always falls back to the userspace proxy. IPVS mode will be enabled when proxy mode is set to 'ipvs', and the fall back path is firstly iptables and then userspace.

const (
	// ProxyModeIPTables uses iptables as proxy implementation.
	ProxyModeIPTables ProxyMode = "IPTables"
	// ProxyModeIPVS uses ipvs as proxy implementation.
	ProxyModeIPVS ProxyMode = "IPVS"
)

type Quota added in v1.0.0

type Quota struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec defines the Quota constraints.
	Spec QuotaSpec
}

Quota represents a quota on resources consumed by shoot clusters either per project or per provider secret.

func (*Quota) DeepCopy added in v1.0.0

func (in *Quota) DeepCopy() *Quota

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quota.

func (*Quota) DeepCopyInto added in v1.0.0

func (in *Quota) DeepCopyInto(out *Quota)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Quota) DeepCopyObject added in v1.0.0

func (in *Quota) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QuotaList added in v1.0.0

type QuotaList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Quotas.
	Items []Quota
}

QuotaList is a collection of Quotas.

func (*QuotaList) DeepCopy added in v1.0.0

func (in *QuotaList) DeepCopy() *QuotaList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaList.

func (*QuotaList) DeepCopyInto added in v1.0.0

func (in *QuotaList) DeepCopyInto(out *QuotaList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*QuotaList) DeepCopyObject added in v1.0.0

func (in *QuotaList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QuotaSpec added in v1.0.0

type QuotaSpec struct {
	// ClusterLifetimeDays is the lifetime of a Shoot cluster in days before it will be terminated automatically.
	ClusterLifetimeDays *int32
	// Metrics is a list of resources which will be put under constraints.
	Metrics corev1.ResourceList
	// Scope is the scope of the Quota object, either 'project', 'secret' or 'workloadidentity'. This field is immutable.
	Scope corev1.ObjectReference
}

QuotaSpec is the specification of a Quota.

func (*QuotaSpec) DeepCopy added in v1.0.0

func (in *QuotaSpec) DeepCopy() *QuotaSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpec.

func (*QuotaSpec) DeepCopyInto added in v1.0.0

func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Region added in v1.0.0

type Region struct {
	// Name is a region name.
	Name string
	// Zones is a list of availability zones in this region.
	Zones []AvailabilityZone
	// Labels is an optional set of key-value pairs that contain certain administrator-controlled labels for this region.
	// It can be used by Gardener administrators/operators to provide additional information about a region, e.g. wrt
	// quality, reliability, etc.
	Labels map[string]string
	// AccessRestrictions describe a list of access restrictions that can be used for Shoots using this region.
	AccessRestrictions []AccessRestriction
}

Region contains certain properties of a region.

func (*Region) DeepCopy added in v1.0.0

func (in *Region) DeepCopy() *Region

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Region.

func (*Region) DeepCopyInto added in v1.0.0

func (in *Region) DeepCopyInto(out *Region)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceData added in v1.5.0

type ResourceData struct {
	autoscalingv1.CrossVersionObjectReference
	// Data of the resource
	Data runtime.RawExtension
}

ResourceData holds the data of a resource referred to by an extension controller state.

func (*ResourceData) DeepCopy added in v1.5.0

func (in *ResourceData) DeepCopy() *ResourceData

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceData.

func (*ResourceData) DeepCopyInto added in v1.5.0

func (in *ResourceData) DeepCopyInto(out *ResourceData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceWatchCacheSize added in v1.8.0

type ResourceWatchCacheSize struct {
	// APIGroup is the API group of the resource for which the watch cache size should be configured.
	// An unset value is used to specify the legacy core API (e.g. for `secrets`).
	APIGroup *string
	// Resource is the name of the resource for which the watch cache size should be configured
	// (in lowercase plural form, e.g. `secrets`).
	Resource string
	// CacheSize specifies the watch cache size that should be configured for the specified resource.
	CacheSize int32
}

ResourceWatchCacheSize contains configuration of the API server's watch cache size for one specific resource.

func (*ResourceWatchCacheSize) DeepCopy added in v1.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceWatchCacheSize.

func (*ResourceWatchCacheSize) DeepCopyInto added in v1.8.0

func (in *ResourceWatchCacheSize) DeepCopyInto(out *ResourceWatchCacheSize)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SSHAccess added in v1.63.0

type SSHAccess struct {
	// Enabled indicates whether the SSH access to the worker nodes is ensured to be enabled or disabled in systemd.
	// Defaults to true.
	Enabled bool
}

SSHAccess contains settings regarding ssh access to the worker nodes.

func (*SSHAccess) DeepCopy added in v1.63.0

func (in *SSHAccess) DeepCopy() *SSHAccess

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHAccess.

func (*SSHAccess) DeepCopyInto added in v1.63.0

func (in *SSHAccess) DeepCopyInto(out *SSHAccess)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SchedulingProfile added in v1.51.0

type SchedulingProfile string

SchedulingProfile is a string alias used for scheduling profile values.

const (
	// SchedulingProfileBalanced is a scheduling profile that attempts to spread Pods evenly across Nodes
	// to obtain a more balanced resource usage. This profile provides the default kube-scheduler behavior.
	SchedulingProfileBalanced SchedulingProfile = "balanced"
	// SchedulingProfileBinPacking is a scheduling profile that scores Nodes based on the allocation of resources.
	// It prioritizes Nodes with most allocated resources. This leads the Node count in the cluster to be minimized and
	// the Node resource utilization to be increased.
	SchedulingProfileBinPacking SchedulingProfile = "bin-packing"
)

type SecretBinding added in v1.0.0

type SecretBinding struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// SecretRef is a reference to a secret object in the same or another namespace.
	// This field is immutable.
	SecretRef corev1.SecretReference
	// Quotas is a list of references to Quota objects in the same or another namespace.
	// This field is immutable.
	Quotas []corev1.ObjectReference
	// Provider defines the provider type of the SecretBinding.
	// This field is immutable.
	Provider *SecretBindingProvider
}

SecretBinding represents a binding to a secret in the same or another namespace.

func (*SecretBinding) DeepCopy added in v1.0.0

func (in *SecretBinding) DeepCopy() *SecretBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBinding.

func (*SecretBinding) DeepCopyInto added in v1.0.0

func (in *SecretBinding) DeepCopyInto(out *SecretBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretBinding) DeepCopyObject added in v1.0.0

func (in *SecretBinding) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*SecretBinding) GetProviderType added in v1.44.0

func (sb *SecretBinding) GetProviderType() string

GetProviderType gets the type of the provider.

type SecretBindingList added in v1.0.0

type SecretBindingList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of SecretBindings.
	Items []SecretBinding
}

SecretBindingList is a collection of SecretBindings.

func (*SecretBindingList) DeepCopy added in v1.0.0

func (in *SecretBindingList) DeepCopy() *SecretBindingList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBindingList.

func (*SecretBindingList) DeepCopyInto added in v1.0.0

func (in *SecretBindingList) DeepCopyInto(out *SecretBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SecretBindingList) DeepCopyObject added in v1.0.0

func (in *SecretBindingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SecretBindingProvider added in v1.38.0

type SecretBindingProvider struct {
	// Type is the type of the provider.
	//
	// For backwards compatibility, the field can contain multiple providers separated by a comma.
	// However the usage of single SecretBinding (hence Secret) for different cloud providers is strongly discouraged.
	Type string
}

SecretBindingProvider defines the provider type of the SecretBinding.

func (*SecretBindingProvider) DeepCopy added in v1.38.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBindingProvider.

func (*SecretBindingProvider) DeepCopyInto added in v1.38.0

func (in *SecretBindingProvider) DeepCopyInto(out *SecretBindingProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Seed added in v1.0.0

type Seed struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Spec contains the specification of this installation.
	Spec SeedSpec
	// Status contains the status of this installation.
	Status SeedStatus
}

Seed represents an installation request for an external controller.

func (*Seed) DeepCopy added in v1.0.0

func (in *Seed) DeepCopy() *Seed

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Seed.

func (*Seed) DeepCopyInto added in v1.0.0

func (in *Seed) DeepCopyInto(out *Seed)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Seed) DeepCopyObject added in v1.0.0

func (in *Seed) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Seed) GetProviderType added in v1.4.0

func (s *Seed) GetProviderType() string

GetProviderType gets the type of the provider.

type SeedBackup added in v1.0.0

type SeedBackup struct {
	// Provider is a provider name. This field is immutable.
	Provider string
	// ProviderConfig is the configuration passed to BackupBucket resource.
	ProviderConfig *runtime.RawExtension
	// Region is a region name. This field is immutable.
	Region *string
	// SecretRef is a reference to a Secret object containing the cloud provider credentials for
	// the object store where backups should be stored. It should have enough privileges to manipulate
	// the objects as well as buckets.
	SecretRef corev1.SecretReference
}

SeedBackup contains the object store configuration for backups for shoot (currently only etcd).

func (*SeedBackup) DeepCopy added in v1.0.0

func (in *SeedBackup) DeepCopy() *SeedBackup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedBackup.

func (*SeedBackup) DeepCopyInto added in v1.0.0

func (in *SeedBackup) DeepCopyInto(out *SeedBackup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedDNS added in v1.0.0

type SeedDNS struct {
	// Provider configures a DNSProvider
	Provider *SeedDNSProvider
}

SeedDNS contains the external domain and configuration for the DNS provider

func (*SeedDNS) DeepCopy added in v1.0.0

func (in *SeedDNS) DeepCopy() *SeedDNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedDNS.

func (*SeedDNS) DeepCopyInto added in v1.0.0

func (in *SeedDNS) DeepCopyInto(out *SeedDNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedDNSProvider added in v1.15.0

type SeedDNSProvider struct {
	// Type describes the type of the dns-provider, for example `aws-route53`
	Type string
	// SecretRef is a reference to a Secret object containing cloud provider credentials used for registering external domains.
	SecretRef corev1.SecretReference
}

SeedDNSProvider configures a DNS provider

func (*SeedDNSProvider) DeepCopy added in v1.15.0

func (in *SeedDNSProvider) DeepCopy() *SeedDNSProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedDNSProvider.

func (*SeedDNSProvider) DeepCopyInto added in v1.15.0

func (in *SeedDNSProvider) DeepCopyInto(out *SeedDNSProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedList added in v1.0.0

type SeedList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Seeds.
	Items []Seed
}

SeedList is a collection of Seeds.

func (*SeedList) DeepCopy added in v1.0.0

func (in *SeedList) DeepCopy() *SeedList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedList.

func (*SeedList) DeepCopyInto added in v1.0.0

func (in *SeedList) DeepCopyInto(out *SeedList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*SeedList) DeepCopyObject added in v1.0.0

func (in *SeedList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type SeedNetworks added in v1.0.0

type SeedNetworks struct {
	// Nodes is the CIDR of the node network. This field is immutable.
	Nodes *string
	// Pods is the CIDR of the pod network. This field is immutable.
	Pods string
	// Services is the CIDR of the service network. This field is immutable.
	Services string
	// ShootDefaults contains the default networks CIDRs for shoots.
	ShootDefaults *ShootNetworks
	// BlockCIDRs is a list of network addresses that should be blocked for shoot control plane components running
	// in the seed cluster.
	BlockCIDRs []string
	// IPFamilies specifies the IP protocol versions to use for seed networking. This field is immutable.
	// See https://github.com/gardener/gardener/blob/master/docs/development/ipv6.md.
	// Defaults to ["IPv4"].
	IPFamilies []IPFamily
}

SeedNetworks contains CIDRs for the pod, service and node networks of a Kubernetes cluster.

func (*SeedNetworks) DeepCopy added in v1.0.0

func (in *SeedNetworks) DeepCopy() *SeedNetworks

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedNetworks.

func (*SeedNetworks) DeepCopyInto added in v1.0.0

func (in *SeedNetworks) DeepCopyInto(out *SeedNetworks)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedProvider added in v1.0.0

type SeedProvider struct {
	// Type is the name of the provider.
	Type string
	// ProviderConfig is the configuration passed to Seed resource.
	ProviderConfig *runtime.RawExtension
	// Region is a name of a region.
	Region string
	// Zones is the list of availability zones the seed cluster is deployed to.
	Zones []string
}

SeedProvider defines the provider-specific information of this Seed cluster.

func (*SeedProvider) DeepCopy added in v1.0.0

func (in *SeedProvider) DeepCopy() *SeedProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedProvider.

func (*SeedProvider) DeepCopyInto added in v1.0.0

func (in *SeedProvider) DeepCopyInto(out *SeedProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSelector added in v1.8.0

type SeedSelector struct {
	// LabelSelector is optional and can be used to select seeds by their label settings
	metav1.LabelSelector
	// ProviderTypes contains a list of allowed provider types used by the Gardener scheduler to restricting seeds by
	// their provider type and enable cross-provider scheduling.
	// By default, Shoots are only scheduled on Seeds having the same provider type.
	ProviderTypes []string
}

SeedSelector contains constraints for selecting seed to be usable for shoots using a profile

func (*SeedSelector) DeepCopy added in v1.8.0

func (in *SeedSelector) DeepCopy() *SeedSelector

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSelector.

func (*SeedSelector) DeepCopyInto added in v1.8.0

func (in *SeedSelector) DeepCopyInto(out *SeedSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingDependencyWatchdog added in v1.37.0

type SeedSettingDependencyWatchdog struct {
	// Weeder controls the weeder settings for the dependency-watchdog for the seed.
	Weeder *SeedSettingDependencyWatchdogWeeder
	// Prober controls the prober settings for the dependency-watchdog for the seed.
	Prober *SeedSettingDependencyWatchdogProber
}

SeedSettingDependencyWatchdog controls the dependency-watchdog settings for the seed.

func (*SeedSettingDependencyWatchdog) DeepCopy added in v1.37.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdog.

func (*SeedSettingDependencyWatchdog) DeepCopyInto added in v1.37.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingDependencyWatchdogProber added in v1.67.0

type SeedSettingDependencyWatchdogProber struct {
	// Enabled controls whether the prober of the dependency-watchdog should be enabled.
	// reachable via its external ingress in order to avoid melt-down situations.
	Enabled bool
}

SeedSettingDependencyWatchdogProber controls the prober settings for the dependency-watchdog for the seed.

func (*SeedSettingDependencyWatchdogProber) DeepCopy added in v1.67.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdogProber.

func (*SeedSettingDependencyWatchdogProber) DeepCopyInto added in v1.67.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingDependencyWatchdogWeeder added in v1.67.0

type SeedSettingDependencyWatchdogWeeder struct {
	// Enabled controls whether the weeder of the dependency-watchdog should be enabled. This controller
	// helps to alleviate the delay where control plane components remain unavailable by finding the respective pods in
	// CrashLoopBackoff status and restarting them once their dependants become ready and available again.
	Enabled bool
}

SeedSettingDependencyWatchdogWeeder controls the weeder settings for the dependency-watchdog for the seed.

func (*SeedSettingDependencyWatchdogWeeder) DeepCopy added in v1.67.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdogWeeder.

func (*SeedSettingDependencyWatchdogWeeder) DeepCopyInto added in v1.67.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingExcessCapacityReservation added in v1.5.0

type SeedSettingExcessCapacityReservation struct {
	// Enabled controls whether the default excess capacity reservation should be enabled. When not specified, the functionality is enabled.
	Enabled *bool
	// Configs configures excess capacity reservation deployments for shoot control planes in the seed.
	Configs []SeedSettingExcessCapacityReservationConfig
}

SeedSettingExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed.

func (*SeedSettingExcessCapacityReservation) DeepCopy added in v1.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingExcessCapacityReservation.

func (*SeedSettingExcessCapacityReservation) DeepCopyInto added in v1.5.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingExcessCapacityReservationConfig added in v1.79.0

type SeedSettingExcessCapacityReservationConfig struct {
	// Resources specify the resource requests and limits of the excess-capacity-reservation pod.
	Resources corev1.ResourceList
	// NodeSelector specifies the node where the excess-capacity-reservation pod should run.
	NodeSelector map[string]string
	// Tolerations specify the tolerations for the the excess-capacity-reservation pod.
	Tolerations []corev1.Toleration
}

SeedSettingExcessCapacityReservationConfig configures excess capacity reservation deployments for shoot control planes in the seed.

func (*SeedSettingExcessCapacityReservationConfig) DeepCopy added in v1.79.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingExcessCapacityReservationConfig.

func (*SeedSettingExcessCapacityReservationConfig) DeepCopyInto added in v1.79.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingLoadBalancerServices added in v1.6.0

type SeedSettingLoadBalancerServices struct {
	// Annotations is a map of annotations that will be injected/merged into every load balancer service object.
	Annotations map[string]string
	// ExternalTrafficPolicy describes how nodes distribute service traffic they
	// receive on one of the service's "externally-facing" addresses.
	// Defaults to "Cluster".
	ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy
	// Zones controls settings, which are specific to the single-zone load balancers in a multi-zonal setup.
	// Can be empty for single-zone seeds. Each specified zone has to relate to one of the zones in seed.spec.provider.zones.
	Zones []SeedSettingLoadBalancerServicesZones
	// ProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services.
	// Defaults to nil, which is equivalent to not allowing ProxyProtocol.
	ProxyProtocol *LoadBalancerServicesProxyProtocol
}

SeedSettingLoadBalancerServices controls certain settings for services of type load balancer that are created in the seed.

func (*SeedSettingLoadBalancerServices) DeepCopy added in v1.6.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingLoadBalancerServices.

func (*SeedSettingLoadBalancerServices) DeepCopyInto added in v1.6.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingLoadBalancerServicesZones added in v1.63.0

type SeedSettingLoadBalancerServicesZones struct {
	// Name is the name of the zone as specified in seed.spec.provider.zones.
	Name string
	// Annotations is a map of annotations that will be injected/merged into the zone-specific load balancer service object.
	Annotations map[string]string
	// ExternalTrafficPolicy describes how nodes distribute service traffic they
	// receive on one of the service's "externally-facing" addresses.
	// Defaults to "Cluster".
	ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy
	// ProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services.
	// Defaults to nil, which is equivalent to not allowing ProxyProtocol.
	ProxyProtocol *LoadBalancerServicesProxyProtocol
}

SeedSettingLoadBalancerServicesZones controls settings, which are specific to the single-zone load balancers in a multi-zonal setup.

func (*SeedSettingLoadBalancerServicesZones) DeepCopy added in v1.63.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingLoadBalancerServicesZones.

func (*SeedSettingLoadBalancerServicesZones) DeepCopyInto added in v1.63.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingScheduling added in v1.5.0

type SeedSettingScheduling struct {
	// Visible controls whether the gardener-scheduler shall consider this seed when scheduling shoots. Invisible seeds
	// are not considered by the scheduler.
	Visible bool
}

SeedSettingScheduling controls settings for scheduling decisions for the seed.

func (*SeedSettingScheduling) DeepCopy added in v1.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingScheduling.

func (*SeedSettingScheduling) DeepCopyInto added in v1.5.0

func (in *SeedSettingScheduling) DeepCopyInto(out *SeedSettingScheduling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingTopologyAwareRouting added in v1.66.0

type SeedSettingTopologyAwareRouting struct {
	// Enabled controls whether certain Services deployed in the seed cluster should be topology-aware.
	// These Services are etcd-main-client, etcd-events-client, kube-apiserver, gardener-resource-manager and vpa-webhook.
	Enabled bool
}

SeedSettingTopologyAwareRouting controls certain settings for topology-aware traffic routing in the seed. See https://github.com/gardener/gardener/blob/master/docs/operations/topology_aware_routing.md.

func (*SeedSettingTopologyAwareRouting) DeepCopy added in v1.66.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingTopologyAwareRouting.

func (*SeedSettingTopologyAwareRouting) DeepCopyInto added in v1.66.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettingVerticalPodAutoscaler added in v1.7.0

type SeedSettingVerticalPodAutoscaler struct {
	// Enabled controls whether the VPA components shall be deployed into the garden namespace in the seed cluster. It
	// is enabled by default because Gardener heavily relies on a VPA being deployed. You should only disable this if
	// your seed cluster already has another, manually/custom managed VPA deployment.
	Enabled bool
}

SeedSettingVerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed.

func (*SeedSettingVerticalPodAutoscaler) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingVerticalPodAutoscaler.

func (*SeedSettingVerticalPodAutoscaler) DeepCopyInto added in v1.7.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSettings added in v1.5.0

type SeedSettings struct {
	// ExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed.
	ExcessCapacityReservation *SeedSettingExcessCapacityReservation
	// Scheduling controls settings for scheduling decisions for the seed.
	Scheduling *SeedSettingScheduling
	// LoadBalancerServices controls certain settings for services of type load balancer that are created in the seed.
	LoadBalancerServices *SeedSettingLoadBalancerServices
	// VerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed.
	VerticalPodAutoscaler *SeedSettingVerticalPodAutoscaler
	// DependencyWatchdog controls certain settings for the dependency-watchdog components deployed in the seed.
	DependencyWatchdog *SeedSettingDependencyWatchdog
	// TopologyAwareRouting controls certain settings for topology-aware traffic routing in the seed.
	// See https://github.com/gardener/gardener/blob/master/docs/operations/topology_aware_routing.md.
	TopologyAwareRouting *SeedSettingTopologyAwareRouting
}

SeedSettings contains certain settings for this seed cluster.

func (*SeedSettings) DeepCopy added in v1.5.0

func (in *SeedSettings) DeepCopy() *SeedSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettings.

func (*SeedSettings) DeepCopyInto added in v1.5.0

func (in *SeedSettings) DeepCopyInto(out *SeedSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedSpec added in v1.0.0

type SeedSpec struct {
	// Backup holds the object store configuration for the backups of shoot (currently only etcd).
	// If it is not specified, then there won't be any backups taken for shoots associated with this seed.
	// If backup field is present in seed, then backups of the etcd from shoot control plane will be stored
	// under the configured object store.
	Backup *SeedBackup
	// DNS contains DNS-relevant information about this seed cluster.
	DNS SeedDNS
	// Networks defines the pod, service and worker network of the Seed cluster.
	Networks SeedNetworks
	// Provider defines the provider type and region for this Seed cluster.
	Provider SeedProvider
	// Settings contains certain settings for this seed cluster.
	Settings *SeedSettings
	// Taints describes taints on the seed.
	Taints []SeedTaint
	// Volume contains settings for persistentvolumes created in the seed cluster.
	Volume *SeedVolume
	// Ingress configures Ingress specific settings of the Seed cluster. This field is immutable.
	Ingress *Ingress
	// AccessRestrictions describe a list of access restrictions for this seed cluster.
	AccessRestrictions []AccessRestriction
}

SeedSpec is the specification of a Seed.

func (*SeedSpec) DeepCopy added in v1.0.0

func (in *SeedSpec) DeepCopy() *SeedSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSpec.

func (*SeedSpec) DeepCopyInto added in v1.0.0

func (in *SeedSpec) DeepCopyInto(out *SeedSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedStatus added in v1.0.0

type SeedStatus struct {
	// Gardener holds information about the Gardener which last acted on the Shoot.
	Gardener *Gardener
	// KubernetesVersion is the Kubernetes version of the seed cluster.
	KubernetesVersion *string
	// Conditions represents the latest available observations of a Seed's current state.
	Conditions []Condition
	// ObservedGeneration is the most recent generation observed for this Seed. It corresponds to the
	// Seed's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// ClusterIdentity is the identity of the Seed cluster. This field is immutable.
	ClusterIdentity *string
	// Capacity represents the total resources of a seed.
	Capacity corev1.ResourceList
	// Allocatable represents the resources of a seed that are available for scheduling.
	// Defaults to Capacity.
	Allocatable corev1.ResourceList
	// ClientCertificateExpirationTimestamp is the timestamp at which gardenlet's client certificate expires.
	ClientCertificateExpirationTimestamp *metav1.Time
	// LastOperation holds information about the last operation on the Seed.
	LastOperation *LastOperation
}

SeedStatus is the status of a Seed.

func (*SeedStatus) DeepCopy added in v1.0.0

func (in *SeedStatus) DeepCopy() *SeedStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedStatus.

func (*SeedStatus) DeepCopyInto added in v1.0.0

func (in *SeedStatus) DeepCopyInto(out *SeedStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedTaint added in v1.0.0

type SeedTaint struct {
	// Key is the taint key to be applied to a seed.
	Key string
	// Value is the taint value corresponding to the taint key.
	Value *string
}

SeedTaint describes a taint on a seed.

func (*SeedTaint) DeepCopy added in v1.0.0

func (in *SeedTaint) DeepCopy() *SeedTaint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedTaint.

func (*SeedTaint) DeepCopyInto added in v1.0.0

func (in *SeedTaint) DeepCopyInto(out *SeedTaint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedTemplate added in v1.17.0

type SeedTemplate struct {
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the desired behavior of the Seed.
	Spec SeedSpec
}

SeedTemplate is a template for creating a Seed object.

func (*SeedTemplate) DeepCopy added in v1.17.0

func (in *SeedTemplate) DeepCopy() *SeedTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedTemplate.

func (*SeedTemplate) DeepCopyInto added in v1.17.0

func (in *SeedTemplate) DeepCopyInto(out *SeedTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedVolume added in v1.0.0

type SeedVolume struct {
	// MinimumSize defines the minimum size that should be used for PVCs in the seed.
	MinimumSize *resource.Quantity
	// Providers is a list of storage class provisioner types for the seed.
	Providers []SeedVolumeProvider
}

SeedVolume contains settings for persistentvolumes created in the seed cluster.

func (*SeedVolume) DeepCopy added in v1.0.0

func (in *SeedVolume) DeepCopy() *SeedVolume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedVolume.

func (*SeedVolume) DeepCopyInto added in v1.0.0

func (in *SeedVolume) DeepCopyInto(out *SeedVolume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SeedVolumeProvider added in v1.0.0

type SeedVolumeProvider struct {
	// Purpose is the purpose of this provider.
	Purpose string
	// Name is the name of the storage class provisioner type.
	Name string
}

SeedVolumeProvider is a storage class provisioner type.

func (*SeedVolumeProvider) DeepCopy added in v1.0.0

func (in *SeedVolumeProvider) DeepCopy() *SeedVolumeProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedVolumeProvider.

func (*SeedVolumeProvider) DeepCopyInto added in v1.0.0

func (in *SeedVolumeProvider) DeepCopyInto(out *SeedVolumeProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountConfig added in v1.0.0

type ServiceAccountConfig struct {
	// Issuer is the identifier of the service account token issuer. The issuer will assert this
	// identifier in "iss" claim of issued tokens. This value is used to generate new service account tokens.
	// This value is a string or URI. Defaults to URI of the API server.
	Issuer *string
	// ExtendTokenExpiration turns on projected service account expiration extension during token generation, which
	// helps safe transition from legacy token to bound service account token feature. If this flag is enabled,
	// admission injected tokens would be extended up to 1 year to prevent unexpected failure during transition,
	// ignoring value of service-account-max-token-expiration.
	ExtendTokenExpiration *bool
	// MaxTokenExpiration is the maximum validity duration of a token created by the service account token issuer. If an
	// otherwise valid TokenRequest with a validity duration larger than this value is requested, a token will be issued
	// with a validity duration of this value.
	// This field must be within [30d,90d].
	MaxTokenExpiration *metav1.Duration
	// AcceptedIssuers is an additional set of issuers that are used to determine which service account tokens are accepted.
	// These values are not used to generate new service account tokens. Only useful when service account tokens are also
	// issued by another external system or a change of the current issuer that is used for generating tokens is being performed.
	AcceptedIssuers []string
}

ServiceAccountConfig is the kube-apiserver configuration for service accounts.

func (*ServiceAccountConfig) DeepCopy added in v1.0.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountConfig.

func (*ServiceAccountConfig) DeepCopyInto added in v1.0.0

func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceAccountKeyRotation added in v1.66.0

type ServiceAccountKeyRotation struct {
	// Phase describes the phase of the service account key credential rotation.
	Phase CredentialsRotationPhase
	// LastCompletionTime is the most recent time when the service account key credential rotation was successfully
	// completed.
	LastCompletionTime *metav1.Time
	// LastInitiationTime is the most recent time when the service account key credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastInitiationFinishedTime is the recent time when the service account key credential rotation initiation was
	// completed.
	LastInitiationFinishedTime *metav1.Time
	// LastCompletionTriggeredTime is the recent time when the service account key credential rotation completion was
	// triggered.
	LastCompletionTriggeredTime *metav1.Time
}

ServiceAccountKeyRotation contains information about the service account key credential rotation.

func (*ServiceAccountKeyRotation) DeepCopy added in v1.66.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountKeyRotation.

func (*ServiceAccountKeyRotation) DeepCopyInto added in v1.66.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Shoot added in v1.0.0

type Shoot struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the Shoot cluster.
	// If the object's deletion timestamp is set, this field is immutable.
	Spec ShootSpec
	// Most recently observed status of the Shoot cluster.
	Status ShootStatus
}

Shoot represents a Shoot cluster created and managed by Gardener.

func (*Shoot) DeepCopy added in v1.0.0

func (in *Shoot) DeepCopy() *Shoot

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shoot.

func (*Shoot) DeepCopyInto added in v1.0.0

func (in *Shoot) DeepCopyInto(out *Shoot)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Shoot) DeepCopyObject added in v1.0.0

func (in *Shoot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Shoot) GetProviderType added in v1.4.0

func (s *Shoot) GetProviderType() string

GetProviderType gets the type of the provider.

type ShootAdvertisedAddress added in v1.21.0

type ShootAdvertisedAddress struct {
	// Name of the advertised address. e.g. external
	Name string
	// The URL of the API Server. e.g. https://api.foo.bar or https://1.2.3.4
	URL string
}

ShootAdvertisedAddress contains information for the shoot's Kube API server.

func (*ShootAdvertisedAddress) DeepCopy added in v1.21.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootAdvertisedAddress.

func (*ShootAdvertisedAddress) DeepCopyInto added in v1.21.0

func (in *ShootAdvertisedAddress) DeepCopyInto(out *ShootAdvertisedAddress)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootCredentials added in v1.42.0

type ShootCredentials struct {
	// Rotation contains information about the credential rotations.
	Rotation *ShootCredentialsRotation
}

ShootCredentials contains information about the shoot credentials.

func (*ShootCredentials) DeepCopy added in v1.42.0

func (in *ShootCredentials) DeepCopy() *ShootCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootCredentials.

func (*ShootCredentials) DeepCopyInto added in v1.42.0

func (in *ShootCredentials) DeepCopyInto(out *ShootCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootCredentialsRotation added in v1.42.0

type ShootCredentialsRotation struct {
	// CertificateAuthorities contains information about the certificate authority credential rotation.
	CertificateAuthorities *CARotation
	// Kubeconfig contains information about the kubeconfig credential rotation.
	Kubeconfig *ShootKubeconfigRotation
	// SSHKeypair contains information about the ssh-keypair credential rotation.
	SSHKeypair *ShootSSHKeypairRotation
	// Observability contains information about the observability credential rotation.
	Observability *ObservabilityRotation
	// ServiceAccountKey contains information about the service account key credential rotation.
	ServiceAccountKey *ServiceAccountKeyRotation
	// ETCDEncryptionKey contains information about the ETCD encryption key credential rotation.
	ETCDEncryptionKey *ETCDEncryptionKeyRotation
}

ShootCredentialsRotation contains information about the rotation of credentials.

func (*ShootCredentialsRotation) DeepCopy added in v1.42.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootCredentialsRotation.

func (*ShootCredentialsRotation) DeepCopyInto added in v1.42.0

func (in *ShootCredentialsRotation) DeepCopyInto(out *ShootCredentialsRotation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootKubeconfigRotation added in v1.43.0

type ShootKubeconfigRotation struct {
	// LastInitiationTime is the most recent time when the kubeconfig credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastCompletionTime is the most recent time when the kubeconfig credential rotation was successfully completed.
	LastCompletionTime *metav1.Time
}

ShootKubeconfigRotation contains information about the kubeconfig credential rotation.

func (*ShootKubeconfigRotation) DeepCopy added in v1.43.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootKubeconfigRotation.

func (*ShootKubeconfigRotation) DeepCopyInto added in v1.43.0

func (in *ShootKubeconfigRotation) DeepCopyInto(out *ShootKubeconfigRotation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootList added in v1.0.0

type ShootList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of Shoots.
	Items []Shoot
}

ShootList is a list of Shoot objects.

func (*ShootList) DeepCopy added in v1.0.0

func (in *ShootList) DeepCopy() *ShootList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootList.

func (*ShootList) DeepCopyInto added in v1.0.0

func (in *ShootList) DeepCopyInto(out *ShootList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShootList) DeepCopyObject added in v1.0.0

func (in *ShootList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShootMachineImage added in v1.0.0

type ShootMachineImage struct {
	// Name is the name of the image.
	Name string
	// ProviderConfig is the shoot's individual configuration passed to an extension resource.
	ProviderConfig *runtime.RawExtension
	// Version is the version of the shoot's image.
	// If version is not provided, it will be defaulted to the latest version from the CloudProfile.
	Version string
}

ShootMachineImage defines the name and the version of the shoot's machine image in any environment. Has to be defined in the respective CloudProfile.

func (*ShootMachineImage) DeepCopy added in v1.0.0

func (in *ShootMachineImage) DeepCopy() *ShootMachineImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootMachineImage.

func (*ShootMachineImage) DeepCopyInto added in v1.0.0

func (in *ShootMachineImage) DeepCopyInto(out *ShootMachineImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootNetworks added in v1.0.0

type ShootNetworks struct {
	// Pods is the CIDR of the pod network.
	Pods *string
	// Services is the CIDR of the service network.
	Services *string
}

ShootNetworks contains the default networks CIDRs for shoots.

func (*ShootNetworks) DeepCopy added in v1.0.0

func (in *ShootNetworks) DeepCopy() *ShootNetworks

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootNetworks.

func (*ShootNetworks) DeepCopyInto added in v1.0.0

func (in *ShootNetworks) DeepCopyInto(out *ShootNetworks)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootPurpose added in v1.0.0

type ShootPurpose string

ShootPurpose is a type alias for string.

const (
	// ShootPurposeEvaluation is a constant for the evaluation purpose.
	ShootPurposeEvaluation ShootPurpose = "evaluation"
	// ShootPurposeTesting is a constant for the testing purpose.
	ShootPurposeTesting ShootPurpose = "testing"
	// ShootPurposeDevelopment is a constant for the development purpose.
	ShootPurposeDevelopment ShootPurpose = "development"
	// ShootPurposeProduction is a constant for the production purpose.
	ShootPurposeProduction ShootPurpose = "production"
	// ShootPurposeInfrastructure is a constant for the infrastructure purpose.
	ShootPurposeInfrastructure ShootPurpose = "infrastructure"
)

type ShootSSHKeypairRotation added in v1.43.0

type ShootSSHKeypairRotation struct {
	// LastInitiationTime is the most recent time when the ssh-keypair credential rotation was initiated.
	LastInitiationTime *metav1.Time
	// LastCompletionTime is the most recent time when the ssh-keypair credential rotation was successfully completed.
	LastCompletionTime *metav1.Time
}

ShootSSHKeypairRotation contains information about the ssh-keypair credential rotation.

func (*ShootSSHKeypairRotation) DeepCopy added in v1.43.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootSSHKeypairRotation.

func (*ShootSSHKeypairRotation) DeepCopyInto added in v1.43.0

func (in *ShootSSHKeypairRotation) DeepCopyInto(out *ShootSSHKeypairRotation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootSpec added in v1.0.0

type ShootSpec struct {
	// Addons contains information about enabled/disabled addons and their configuration.
	Addons *Addons
	// CloudProfileName is a name of a CloudProfile object.
	// This field will be deprecated soon, use `CloudProfile` instead.
	CloudProfileName *string
	// DNS contains information about the DNS settings of the Shoot.
	DNS *DNS
	// Extensions contain type and provider information for Shoot extensions.
	Extensions []Extension
	// Hibernation contains information whether the Shoot is suspended or not.
	Hibernation *Hibernation
	// Kubernetes contains the version and configuration settings of the control plane components.
	Kubernetes Kubernetes
	// Networking contains information about cluster networking such as CNI Plugin type, CIDRs, ...etc.
	Networking *Networking
	// Maintenance contains information about the time window for maintenance operations and which
	// operations should be performed.
	Maintenance *Maintenance
	// Monitoring contains information about custom monitoring configurations for the shoot.
	Monitoring *Monitoring
	// Provider contains all provider-specific and provider-relevant information.
	Provider Provider
	// Purpose is the purpose class for this cluster.
	Purpose *ShootPurpose
	// Region is a name of a region. This field is immutable.
	Region string
	// SecretBindingName is the name of a SecretBinding that has a reference to the provider secret.
	// The credentials inside the provider secret will be used to create the shoot in the respective account.
	// The field is mutually exclusive with CredentialsBindingName.
	// This field is immutable.
	SecretBindingName *string
	// SeedName is the name of the seed cluster that runs the control plane of the Shoot.
	SeedName *string
	// SeedSelector is an optional selector which must match a seed's labels for the shoot to be scheduled on that seed.
	SeedSelector *SeedSelector
	// Resources holds a list of named resource references that can be referred to in extension configs by their names.
	Resources []NamedResourceReference
	// Tolerations contains the tolerations for taints on seed clusters.
	Tolerations []Toleration
	// ExposureClassName is the optional name of an exposure class to apply a control plane endpoint exposure strategy.
	// This field is immutable.
	ExposureClassName *string
	// SystemComponents contains the settings of system components in the control or data plane of the Shoot cluster.
	SystemComponents *SystemComponents
	// ControlPlane contains general settings for the control plane of the shoot.
	ControlPlane *ControlPlane
	// SchedulerName is the name of the responsible scheduler which schedules the shoot.
	// If not specified, the default scheduler takes over.
	// This field is immutable.
	SchedulerName *string
	// CloudProfile is a reference to a CloudProfile or a NamespacedCloudProfile.
	CloudProfile *CloudProfileReference
	// CredentialsBindingName is the name of a CredentialsBinding that has a reference to the provider credentials.
	// The credentials will be used to create the shoot in the respective account. The field is mutually exclusive with SecretBindingName.
	CredentialsBindingName *string
	// AccessRestrictions describe a list of access restrictions for this shoot cluster.
	AccessRestrictions []AccessRestrictionWithOptions
}

ShootSpec is the specification of a Shoot.

func (*ShootSpec) DeepCopy added in v1.0.0

func (in *ShootSpec) DeepCopy() *ShootSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootSpec.

func (*ShootSpec) DeepCopyInto added in v1.0.0

func (in *ShootSpec) DeepCopyInto(out *ShootSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootState added in v0.33.0

type ShootState struct {
	metav1.TypeMeta
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the ShootState.
	Spec ShootStateSpec
}

ShootState contains the state of a Shoot cluster required to migrate the Shoot's control plane to a new Seed.

func (*ShootState) DeepCopy added in v0.33.0

func (in *ShootState) DeepCopy() *ShootState

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootState.

func (*ShootState) DeepCopyInto added in v0.33.0

func (in *ShootState) DeepCopyInto(out *ShootState)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShootState) DeepCopyObject added in v0.33.0

func (in *ShootState) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShootStateList added in v0.33.0

type ShootStateList struct {
	metav1.TypeMeta
	// Standard list object metadata.
	metav1.ListMeta
	// Items is the list of ShootStates.
	Items []ShootState
}

ShootStateList is a list of ShootState objects.

func (*ShootStateList) DeepCopy added in v0.33.0

func (in *ShootStateList) DeepCopy() *ShootStateList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStateList.

func (*ShootStateList) DeepCopyInto added in v0.33.0

func (in *ShootStateList) DeepCopyInto(out *ShootStateList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ShootStateList) DeepCopyObject added in v0.33.0

func (in *ShootStateList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShootStateSpec added in v0.33.0

type ShootStateSpec struct {
	// Gardener holds the data required to generate resources deployed by the gardenlet
	Gardener []GardenerResourceData
	// Extensions holds the state of custom resources reconciled by extension controllers in the seed
	Extensions []ExtensionResourceState
	// Resources holds the data of resources referred to by extension controller states
	Resources []ResourceData
}

ShootStateSpec is the specification of the ShootState.

func (*ShootStateSpec) DeepCopy added in v0.33.0

func (in *ShootStateSpec) DeepCopy() *ShootStateSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStateSpec.

func (*ShootStateSpec) DeepCopyInto added in v0.33.0

func (in *ShootStateSpec) DeepCopyInto(out *ShootStateSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootStatus added in v1.0.0

type ShootStatus struct {
	// Conditions represents the latest available observations of a Shoot's current state.
	Conditions []Condition
	// Constraints represents conditions of a Shoot's current state that constraint some operations on it.
	Constraints []Condition
	// Gardener holds information about the Gardener which last acted on the Shoot.
	Gardener Gardener
	// IsHibernated indicates whether the Shoot is currently hibernated.
	IsHibernated bool
	// LastHibernationTriggerTime indicates the last time when the hibernation controller
	// managed to change the hibernation settings of the cluster
	LastHibernationTriggerTime *metav1.Time
	// LastOperation holds information about the last operation on the Shoot.
	LastOperation *LastOperation
	// LastErrors holds information about the last occurred error(s) during an operation.
	LastErrors []LastError
	// ObservedGeneration is the most recent generation observed for this Shoot. It corresponds to the
	// Shoot's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64
	// RetryCycleStartTime is the start time of the last retry cycle (used to determine how often an operation
	// must be retried until we give up).
	RetryCycleStartTime *metav1.Time
	// SeedName is the name of the seed cluster that runs the control plane of the Shoot. This value is only written
	// after a successful create/reconcile operation. It will be used when control planes are moved between Seeds.
	SeedName *string
	// TechnicalID is the name that is used for creating the Seed namespace, the infrastructure resources, and
	// basically everything that is related to this particular Shoot. This field is immutable.
	TechnicalID string
	// UID is a unique identifier for the Shoot cluster to avoid portability between Kubernetes clusters.
	// It is used to compute unique hashes. This field is immutable.
	UID types.UID
	// ClusterIdentity is the identity of the Shoot cluster. This field is immutable.
	ClusterIdentity *string
	// List of addresses that are relevant to the shoot.
	// These include the Kube API server address and also the service account issuer.
	AdvertisedAddresses []ShootAdvertisedAddress
	// MigrationStartTime is the time when a migration to a different seed was initiated.
	MigrationStartTime *metav1.Time
	// Credentials contains information about the shoot credentials.
	Credentials *ShootCredentials
	// LastMaintenance holds information about the last maintenance operations on the Shoot.
	LastMaintenance *LastMaintenance
	// EncryptedResources is the list of resources in the Shoot which are currently encrypted.
	// Secrets are encrypted by default and are not part of the list.
	// See https://github.com/gardener/gardener/blob/master/docs/usage/security/etcd_encryption_config.md for more details.
	EncryptedResources []string
	// Networking contains information about cluster networking such as CIDRs.
	Networking *NetworkingStatus
}

ShootStatus holds the most recently observed status of the Shoot cluster.

func (*ShootStatus) DeepCopy added in v1.0.0

func (in *ShootStatus) DeepCopy() *ShootStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStatus.

func (*ShootStatus) DeepCopyInto added in v1.0.0

func (in *ShootStatus) DeepCopyInto(out *ShootStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ShootTemplate added in v1.19.0

type ShootTemplate struct {
	// Standard object metadata.
	metav1.ObjectMeta
	// Specification of the desired behavior of the Shoot.
	Spec ShootSpec
}

ShootTemplate is a template for creating a Shoot object.

func (*ShootTemplate) DeepCopy added in v1.19.0

func (in *ShootTemplate) DeepCopy() *ShootTemplate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootTemplate.

func (*ShootTemplate) DeepCopyInto added in v1.19.0

func (in *ShootTemplate) DeepCopyInto(out *ShootTemplate)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StructuredAuthentication added in v1.102.0

type StructuredAuthentication struct {
	// ConfigMapName is the name of the ConfigMap in the project namespace
	// which contains AuthenticationConfiguration for the kube-apiserver.
	ConfigMapName string
}

StructuredAuthentication contains authentication config for kube-apiserver.

func (*StructuredAuthentication) DeepCopy added in v1.102.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredAuthentication.

func (*StructuredAuthentication) DeepCopyInto added in v1.102.0

func (in *StructuredAuthentication) DeepCopyInto(out *StructuredAuthentication)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StructuredAuthorization added in v1.107.0

type StructuredAuthorization struct {
	// ConfigMapName is the name of the ConfigMap in the project namespace which contains AuthorizationConfiguration for
	// the kube-apiserver.
	ConfigMapName string
	// Kubeconfigs is a list of references for kubeconfigs for the authorization webhooks.
	Kubeconfigs []AuthorizerKubeconfigReference
}

StructuredAuthorization contains authorization config for kube-apiserver.

func (*StructuredAuthorization) DeepCopy added in v1.107.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredAuthorization.

func (*StructuredAuthorization) DeepCopyInto added in v1.107.0

func (in *StructuredAuthorization) DeepCopyInto(out *StructuredAuthorization)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SwapBehavior added in v1.71.0

type SwapBehavior string

SwapBehavior configures swap memory available to container workloads

const (
	// NoSwap is a constant for the kubelet's swap behavior restricting Kubernetes workloads to not use swap.
	// Only available for Kubernetes versions >= v1.30.
	NoSwap SwapBehavior = "NoSwap"
	// LimitedSwap is a constant for the kubelet's swap behavior limitting the amount of swap usable for Kubernetes workloads. Workloads on the node not managed by Kubernetes can still swap.
	// - cgroupsv1 host: Kubernetes workloads can use any combination of memory and swap, up to the pod's memory limit
	// - cgroupsv2 host: swap is managed independently from memory. Kubernetes workloads cannot use swap memory.
	LimitedSwap SwapBehavior = "LimitedSwap"
	// UnlimitedSwap is a constant for the kubelet's swap behavior enabling Kubernetes workloads to use as much swap memory as required, up to the system limit (not limited by pod or container memory limits).
	// Only available for Kubernetes versions < v1.30.
	UnlimitedSwap SwapBehavior = "UnlimitedSwap"
)

type SystemComponents added in v1.41.0

type SystemComponents struct {
	// CoreDNS contains the settings of the Core DNS components running in the data plane of the Shoot cluster.
	CoreDNS *CoreDNS
	// NodeLocalDNS contains the settings of the node local DNS components running in the data plane of the Shoot cluster.
	NodeLocalDNS *NodeLocalDNS
}

SystemComponents contains the settings of system components in the control or data plane of the Shoot cluster.

func (*SystemComponents) DeepCopy added in v1.41.0

func (in *SystemComponents) DeepCopy() *SystemComponents

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemComponents.

func (*SystemComponents) DeepCopyInto added in v1.41.0

func (in *SystemComponents) DeepCopyInto(out *SystemComponents)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Toleration added in v1.6.0

type Toleration struct {
	// Key is the toleration key to be applied to a project or shoot.
	Key string
	// Value is the toleration value corresponding to the toleration key.
	Value *string
}

Toleration is a toleration for a seed taint.

func (*Toleration) DeepCopy added in v1.6.0

func (in *Toleration) DeepCopy() *Toleration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Toleration.

func (*Toleration) DeepCopyInto added in v1.6.0

func (in *Toleration) DeepCopyInto(out *Toleration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VersionClassification added in v1.3.0

type VersionClassification string

VersionClassification is the logical state of a version.

const (
	// ClassificationPreview indicates that a version has recently been added and not promoted to "Supported" yet.
	// ClassificationPreview versions will not be considered for automatic Kubernetes and Machine Image patch version updates.
	ClassificationPreview VersionClassification = "preview"
	// ClassificationSupported indicates that a patch version is the recommended version for a shoot.
	// Only one "supported" version is allowed per minor version.
	// Supported versions are eligible for the automated Kubernetes and Machine image patch version update for shoot clusters in Gardener.
	ClassificationSupported VersionClassification = "supported"
	// ClassificationDeprecated indicates that a patch version should not be used anymore, should be updated to a new version
	// and will eventually expire.
	ClassificationDeprecated VersionClassification = "deprecated"
)

type VerticalPodAutoscaler added in v1.7.0

type VerticalPodAutoscaler struct {
	// Enabled specifies whether the Kubernetes VPA shall be enabled for the shoot cluster.
	Enabled bool
	// EvictAfterOOMThreshold defines the threshold that will lead to pod eviction in case it OOMed in less than the given
	// threshold since its start and if it has only one container (default: 10m0s).
	EvictAfterOOMThreshold *metav1.Duration
	// EvictionRateBurst defines the burst of pods that can be evicted (default: 1)
	EvictionRateBurst *int32
	// EvictionRateLimit defines the number of pods that can be evicted per second. A rate limit set to 0 or -1 will
	// disable the rate limiter (default: -1).
	EvictionRateLimit *float64
	// EvictionTolerance defines the fraction of replica count that can be evicted for update in case more than one
	// pod can be evicted (default: 0.5).
	EvictionTolerance *float64
	// RecommendationMarginFraction is the fraction of usage added as the safety margin to the recommended request
	// (default: 0.15).
	RecommendationMarginFraction *float64
	// UpdaterInterval is the interval how often the updater should run (default: 1m0s).
	UpdaterInterval *metav1.Duration
	// RecommenderInterval is the interval how often metrics should be fetched (default: 1m0s).
	RecommenderInterval *metav1.Duration
	// TargetCPUPercentile is the usage percentile that will be used as a base for CPU target recommendation.
	// Doesn't affect CPU lower bound, CPU upper bound nor memory recommendations.
	// (default: 0.9)
	TargetCPUPercentile *float64
	// RecommendationLowerBoundCPUPercentile is the usage percentile that will be used for the lower bound on CPU recommendation.
	// (default: 0.5)
	RecommendationLowerBoundCPUPercentile *float64
	// RecommendationUpperBoundCPUPercentile is the usage percentile that will be used for the upper bound on CPU recommendation.
	// (default: 0.95)
	RecommendationUpperBoundCPUPercentile *float64
	// TargetMemoryPercentile is the usage percentile that will be used as a base for memory target recommendation.
	// Doesn't affect memory lower bound nor memory upper bound.
	// (default: 0.9)
	TargetMemoryPercentile *float64
	// RecommendationLowerBoundMemoryPercentile is the usage percentile that will be used for the lower bound on memory recommendation.
	// (default: 0.5)
	RecommendationLowerBoundMemoryPercentile *float64
	// RecommendationUpperBoundMemoryPercentile is the usage percentile that will be used for the upper bound on memory recommendation.
	// (default: 0.95)
	RecommendationUpperBoundMemoryPercentile *float64
}

VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler.

func (*VerticalPodAutoscaler) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalPodAutoscaler.

func (*VerticalPodAutoscaler) DeepCopyInto added in v1.7.0

func (in *VerticalPodAutoscaler) DeepCopyInto(out *VerticalPodAutoscaler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Volume added in v1.0.0

type Volume struct {
	// Name of the volume to make it referencable.
	Name *string
	// Type is the type of the volume.
	Type *string
	// VolumeSize is the size of the volume.
	VolumeSize string
	// Encrypted determines if the volume should be encrypted.
	Encrypted *bool
}

Volume contains information about the volume type and size.

func (*Volume) DeepCopy added in v1.0.0

func (in *Volume) DeepCopy() *Volume

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.

func (*Volume) DeepCopyInto added in v1.0.0

func (in *Volume) DeepCopyInto(out *Volume)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeType added in v1.0.0

type VolumeType struct {
	// Class is the class of the volume type.
	Class string
	// Name is the name of the volume type.
	Name string
	// Usable defines if the volume type can be used for shoot clusters.
	Usable *bool
	// MinSize is the minimal supported storage size.
	MinSize *resource.Quantity
}

VolumeType contains certain properties of a volume type.

func (*VolumeType) DeepCopy added in v1.0.0

func (in *VolumeType) DeepCopy() *VolumeType

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeType.

func (*VolumeType) DeepCopyInto added in v1.0.0

func (in *VolumeType) DeepCopyInto(out *VolumeType)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WatchCacheSizes added in v1.8.0

type WatchCacheSizes struct {
	// Default configures the default watch cache size of the kube-apiserver
	// (flag `--default-watch-cache-size`, defaults to 100).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	Default *int32
	// Resources configures the watch cache size of the kube-apiserver per resource
	// (flag `--watch-cache-sizes`).
	// See: https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/
	Resources []ResourceWatchCacheSize
}

WatchCacheSizes contains configuration of the API server's watch cache sizes.

func (*WatchCacheSizes) DeepCopy added in v1.8.0

func (in *WatchCacheSizes) DeepCopy() *WatchCacheSizes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatchCacheSizes.

func (*WatchCacheSizes) DeepCopyInto added in v1.8.0

func (in *WatchCacheSizes) DeepCopyInto(out *WatchCacheSizes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Worker added in v1.0.0

type Worker struct {
	// Annotations is a map of key/value pairs for annotations for all the `Node` objects in this worker pool.
	Annotations map[string]string
	// CABundle is a certificate bundle which will be installed onto every machine of this worker pool.
	CABundle *string
	// CRI contains configurations of CRI support of every machine in the worker pool.
	// Defaults to a CRI with name `containerd`.
	CRI *CRI
	// Kubernetes contains configuration for Kubernetes components related to this worker pool.
	Kubernetes *WorkerKubernetes
	// Labels is a map of key/value pairs for labels for all the `Node` objects in this worker pool.
	Labels map[string]string
	// Name is the name of the worker group.
	Name string
	// Machine contains information about the machine type and image.
	Machine Machine
	// Maximum is the maximum number of machines to create.
	// This value is divided by the number of configured zones for a fair distribution.
	Maximum int32
	// Minimum is the minimum number of machines to create.
	// This value is divided by the number of configured zones for a fair distribution.
	Minimum int32
	// MaxSurge is maximum number of machines that are created during an update.
	// This value is divided by the number of configured zones for a fair distribution.
	MaxSurge *intstr.IntOrString
	// MaxUnavailable is the maximum number of machines that can be unavailable during an update.
	// This value is divided by the number of configured zones for a fair distribution.
	MaxUnavailable *intstr.IntOrString
	// ProviderConfig is the provider-specific configuration for this worker pool.
	ProviderConfig *runtime.RawExtension
	// SystemComponents contains configuration for system components related to this worker pool
	SystemComponents *WorkerSystemComponents
	// Taints is a list of taints for all the `Node` objects in this worker pool.
	Taints []corev1.Taint
	// Volume contains information about the volume type and size.
	Volume *Volume
	// DataVolumes contains a list of additional worker volumes.
	DataVolumes []DataVolume
	// KubeletDataVolumeName contains the name of a dataVolume that should be used for storing kubelet state.
	KubeletDataVolumeName *string
	// Zones is a list of availability zones that are used to evenly distribute this worker pool. Optional
	// as not every provider may support availability zones.
	Zones []string
	// MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout.
	MachineControllerManagerSettings *MachineControllerManagerSettings
	// Sysctls is a map of kernel settings to apply on all machines in this worker pool.
	Sysctls map[string]string
	// ClusterAutoscaler contains the cluster autoscaler configurations for the worker pool.
	ClusterAutoscaler *ClusterAutoscalerOptions
}

Worker is the base definition of a worker group.

func (*Worker) DeepCopy added in v1.0.0

func (in *Worker) DeepCopy() *Worker

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Worker.

func (*Worker) DeepCopyInto added in v1.0.0

func (in *Worker) DeepCopyInto(out *Worker)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkerKubernetes added in v1.0.0

type WorkerKubernetes struct {
	// Kubelet contains configuration settings for all kubelets of this worker pool.
	// If set, all `spec.kubernetes.kubelet` settings will be overwritten for this worker pool (no merge of settings).
	Kubelet *KubeletConfig
	// Version is the semantic Kubernetes version to use for the Kubelet in this Worker Group.
	// If not specified the kubelet version is derived from the global shoot cluster kubernetes version.
	// version must be equal or lower than the version of the shoot kubernetes version.
	// Only one minor version difference to other worker groups and global kubernetes version is allowed.
	Version *string
}

WorkerKubernetes contains configuration for Kubernetes components related to this worker pool.

func (*WorkerKubernetes) DeepCopy added in v1.0.0

func (in *WorkerKubernetes) DeepCopy() *WorkerKubernetes

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerKubernetes.

func (*WorkerKubernetes) DeepCopyInto added in v1.0.0

func (in *WorkerKubernetes) DeepCopyInto(out *WorkerKubernetes)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkerSystemComponents added in v1.7.0

type WorkerSystemComponents struct {
	// Allow determines whether the pool should be allowed to host system components or not (defaults to true)
	Allow bool
}

WorkerSystemComponents contains configuration for system components related to this worker pool

func (*WorkerSystemComponents) DeepCopy added in v1.7.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerSystemComponents.

func (*WorkerSystemComponents) DeepCopyInto added in v1.7.0

func (in *WorkerSystemComponents) DeepCopyInto(out *WorkerSystemComponents)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkersSettings added in v1.63.0

type WorkersSettings struct {
	// SSHAccess contains settings regarding ssh access to the worker nodes.
	SSHAccess *SSHAccess
}

WorkersSettings contains settings for all workers.

func (*WorkersSettings) DeepCopy added in v1.63.0

func (in *WorkersSettings) DeepCopy() *WorkersSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkersSettings.

func (*WorkersSettings) DeepCopyInto added in v1.63.0

func (in *WorkersSettings) DeepCopyInto(out *WorkersSettings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Directories

Path Synopsis
Package v1 is a version of the API.
Package v1 is a version of the API.
Package v1beta1 is a version of the API.
Package v1beta1 is a version of the API.

Jump to

Keyboard shortcuts

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