Documentation
¶
Index ¶
- Constants
- Variables
- func IsIPv4SingleStack(ipFamilies []IPFamily) bool
- func IsIPv6SingleStack(ipFamilies []IPFamily) bool
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type APIServerLogging
- type APIServerRequests
- type AccessRestriction
- type AccessRestrictionWithOptions
- type Addon
- type Addons
- type AdmissionPlugin
- type Alerting
- type AuditConfig
- type AuditPolicy
- type AuthorizerKubeconfigReference
- type AvailabilityZone
- type BackupBucket
- type BackupBucketList
- type BackupBucketProvider
- type BackupBucketSpec
- type BackupBucketStatus
- type BackupEntry
- type BackupEntryList
- type BackupEntrySpec
- type BackupEntryStatus
- type Bastion
- type BastionMachineImage
- type BastionMachineType
- type CARotation
- type CRI
- type CRIName
- type CloudProfile
- type CloudProfileList
- type CloudProfileReference
- type CloudProfileSpec
- type ClusterAutoscaler
- type ClusterAutoscalerOptions
- type Condition
- type ConditionStatus
- type ConditionType
- type ContainerRuntime
- type ControlPlane
- type ControllerDeployment
- type ControllerDeploymentList
- type ControllerDeploymentPolicy
- type ControllerInstallation
- type ControllerInstallationList
- type ControllerInstallationSpec
- type ControllerInstallationStatus
- type ControllerRegistration
- type ControllerRegistrationDeployment
- type ControllerRegistrationList
- type ControllerRegistrationSpec
- type ControllerResource
- type ControllerResourceLifecycle
- type ControllerResourceLifecycleStrategy
- type CoreDNS
- type CoreDNSAutoscaling
- type CoreDNSAutoscalingMode
- type CoreDNSRewriting
- type CredentialsRotationPhase
- type DNS
- type DNSIncludeExclude
- type DNSProvider
- type DataVolume
- type DeploymentRef
- type DualApprovalForDeletion
- type ETCDEncryptionKeyRotation
- type EncryptionConfig
- type ErrorCode
- type ExpanderMode
- type ExpirableVersion
- type ExposureClass
- type ExposureClassList
- type ExposureClassScheduling
- type Extension
- type ExtensionResourceState
- type FailureTolerance
- type FailureToleranceType
- type Gardener
- type GardenerResourceData
- type HelmControllerDeployment
- type Hibernation
- type HibernationSchedule
- type HighAvailability
- type HorizontalPodAutoscalerConfig
- type IPFamily
- type Ingress
- type IngressController
- type InternalSecret
- type InternalSecretList
- type KubeAPIServerConfig
- type KubeControllerManagerConfig
- type KubeProxyConfig
- type KubeSchedulerConfig
- type KubeletConfig
- type KubeletConfigEviction
- type KubeletConfigEvictionMinimumReclaim
- type KubeletConfigEvictionSoftGracePeriod
- type KubeletConfigReserved
- type Kubernetes
- type KubernetesConfig
- type KubernetesDashboard
- type KubernetesSettings
- type LastError
- type LastMaintenance
- type LastOperation
- type LastOperationState
- type LastOperationType
- type LoadBalancerServicesProxyProtocol
- type Machine
- type MachineControllerManagerSettings
- type MachineImage
- type MachineImageUpdateStrategy
- type MachineImageVersion
- type MachineType
- type MachineTypeStorage
- type Maintenance
- type MaintenanceAutoUpdate
- type MaintenanceTimeWindow
- type MemorySwapConfiguration
- type Monitoring
- type NamedResourceReference
- type NamespacedCloudProfile
- type NamespacedCloudProfileList
- type NamespacedCloudProfileSpec
- type NamespacedCloudProfileStatus
- type Networking
- type NetworkingStatus
- type NginxIngress
- type NodeLocalDNS
- type OCIRepository
- type OIDCConfig
- type ObservabilityRotation
- type OpenIDConnectClientAuthentication
- type PendingWorkersRollout
- type Project
- type ProjectList
- type ProjectMember
- type ProjectPhase
- type ProjectSpec
- type ProjectStatus
- type ProjectTolerations
- type Provider
- type ProxyMode
- type Quota
- type QuotaList
- type QuotaSpec
- type Region
- type ResourceData
- type ResourceWatchCacheSize
- type SSHAccess
- type SchedulingProfile
- type SecretBinding
- type SecretBindingList
- type SecretBindingProvider
- type Seed
- type SeedBackup
- type SeedDNS
- type SeedDNSProvider
- type SeedList
- type SeedNetworks
- type SeedProvider
- type SeedSelector
- type SeedSettingDependencyWatchdog
- type SeedSettingDependencyWatchdogProber
- type SeedSettingDependencyWatchdogWeeder
- type SeedSettingExcessCapacityReservation
- type SeedSettingExcessCapacityReservationConfig
- type SeedSettingLoadBalancerServices
- type SeedSettingLoadBalancerServicesZones
- type SeedSettingScheduling
- type SeedSettingTopologyAwareRouting
- type SeedSettingVerticalPodAutoscaler
- type SeedSettings
- type SeedSpec
- type SeedStatus
- type SeedTaint
- type SeedTemplate
- type SeedVolume
- type SeedVolumeProvider
- type ServiceAccountConfig
- type ServiceAccountKeyRotation
- type Shoot
- type ShootAdvertisedAddress
- type ShootCredentials
- type ShootCredentialsRotation
- type ShootKubeconfigRotation
- type ShootList
- type ShootMachineImage
- type ShootNetworks
- type ShootPurpose
- type ShootSSHKeypairRotation
- type ShootSpec
- type ShootState
- type ShootStateList
- type ShootStateSpec
- type ShootStatus
- type ShootTemplate
- type StructuredAuthentication
- type StructuredAuthorization
- type SwapBehavior
- type SystemComponents
- type Toleration
- type VersionClassification
- type VerticalPodAutoscaler
- type Volume
- type VolumeType
- type WatchCacheSizes
- type Worker
- type WorkerKubernetes
- type WorkerSystemComponents
- type WorkersSettings
Constants ¶
const ( // GardenerSeedLeaseNamespace is the namespace in which Gardenlet will report Seeds' // status using Lease resources for each Seed GardenerSeedLeaseNamespace = "gardener-system-seed-lease" // GardenerShootIssuerNamespace is the namespace in which Gardenlet // will sync service account issuer discovery documents // of Shoot clusters which require managed issuer GardenerShootIssuerNamespace = "gardener-system-shoot-issuer" )
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" )
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" // ExternalGardenerName is the value in a Kubernetes core resources `.metadata.finalizers[]` array on which the // Gardener will react when performing a delete request on a resource. ExternalGardenerName = "gardener.cloud/gardener" )
const ( // EventReconciling indicates that the Reconcile operation started. EventReconciling = "Reconciling" // EventReconciled indicates that the Reconcile operation was successful. EventReconciled = "Reconciled" // EventReconcileError indicates that the Reconcile operation failed. EventReconcileError = "ReconcileError" // EventDeleting indicates that the Delete operation started. EventDeleting = "Deleting" // EventDeleted indicates that the Delete operation was successful. EventDeleted = "Deleted" // EventDeleteError indicates that the Delete operation failed. EventDeleteError = "DeleteError" // EventPrepareMigration indicates that the Prepare Migration operation started. EventPrepareMigration = "PrepareMigration" // EventMigrationPrepared indicates that the Migration preparation was successful. EventMigrationPrepared = "MigrationPrepared" // EventMigrationPreparationFailed indicates that the Migration preparation failed. EventMigrationPreparationFailed = "MigrationPreparationFailed" )
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" // 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" // ProjectMemberViewer is a const for a role that provides limited permissions to only view some resources. ProjectMemberViewer = "viewer" // ProjectMemberExtensionPrefix is a prefix for custom roles that are not known by Gardener. ProjectMemberExtensionPrefix = "extension:" )
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" )
const ( // DefaultEvictionRateBurst is the default value for the EvictionRateBurst field in the VPA configuration. DefaultEvictionRateBurst int32 = 1 // DefaultEvictionRateLimit is the default value for the EvictionRateLimit field in the VPA configuration. DefaultEvictionRateLimit float64 = -1 // DefaultEvictionTolerance is the default value for the EvictionTolerance field in the VPA configuration. DefaultEvictionTolerance = 0.5 // DefaultRecommendationMarginFraction is the default value for the RecommendationMarginFraction field in the VPA configuration. DefaultRecommendationMarginFraction = 0.15 // DefaultTargetCPUPercentile is the default value for the TargetCPUPercentile field in the VPA configuration. DefaultTargetCPUPercentile = 0.9 // DefaultRecommendationLowerBoundCPUPercentile is the default value for the RecommendationLowerBoundCPUPercentile field in the VPA configuration. DefaultRecommendationLowerBoundCPUPercentile = 0.5 // DefaultRecommendationUpperBoundCPUPercentile is the default value for the RecommendationUpperBoundCPUPercentile field in the VPA configuration. DefaultRecommendationUpperBoundCPUPercentile = 0.95 // DefaultTargetMemoryPercentile is the default value for the TargetMemoryPercentile field in the VPA configuration. DefaultTargetMemoryPercentile = 0.9 // DefaultRecommendationLowerBoundMemoryPercentile is the default value for the RecommendationLowerBoundMemoryPercentile field in the VPA configuration. DefaultRecommendationLowerBoundMemoryPercentile = 0.5 // DefaultRecommendationUpperBoundMemoryPercentile is the default value for the RecommendationUpperBoundMemoryPercentile field in the VPA configuration. DefaultRecommendationUpperBoundMemoryPercentile = 0.95 )
const ( // DefaultHPASyncPeriod is a constant for the default HPA sync period for a Shoot cluster. DefaultHPASyncPeriod = 30 * time.Second // DefaultHPATolerance is a constant for the default HPA tolerance for a Shoot cluster. DefaultHPATolerance = 0.1 // DefaultDownscaleStabilization is the default HPA downscale stabilization window for a Shoot cluster DefaultDownscaleStabilization = 5 * time.Minute // DefaultInitialReadinessDelay is for the default HPA ReadinessDelay value in the Shoot cluster DefaultInitialReadinessDelay = 30 * time.Second // DefaultCPUInitializationPeriod is the for the default value of the CPUInitializationPeriod in the Shoot cluster DefaultCPUInitializationPeriod = 5 * time.Minute )
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" )
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 )
const ( // ShootMaintenanceFailed indicates that a shoot maintenance operation failed. ShootMaintenanceFailed = "MaintenanceFailed" // 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" )
const ( // EventSchedulingSuccessful is an event reason for successful scheduling. EventSchedulingSuccessful = "SchedulingSuccessful" // EventSchedulingFailed is an event reason for failed scheduling. EventSchedulingFailed = "SchedulingFailed" )
const ( // 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" // ManagedResourceMissingConditionError is a constant for a reason in a condition that indicates // one or multiple missing conditions in the observed managed resource. ManagedResourceMissingConditionError = "MissingManagedResourceCondition" // OutdatedStatusError is a constant for a reason in a condition that indicates // that the observed generation in a status is outdated. OutdatedStatusError = "OutdatedStatus" // ManagedResourceProgressingRolloutStuck is a constant for a reason in a condition that indicates // managed resource progressing condition is stuck in the true state for more than the threshold time. ManagedResourceProgressingRolloutStuck = "ProgressingRolloutStuck" )
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"
)
const ( // ControllerDeploymentTypeHelm is the type for instructing the extension controller deployment using helm. // The ControllerDeployment.ProviderConfig is expected to hold a HelmControllerDeployment object. ControllerDeploymentTypeHelm = "helm" )
const DefaultDomain = "cluster.local"
DefaultDomain is the default value in the Shoot's '.spec.dns.domain' when '.spec.dns.provider' is 'unmanaged'
const GroupName = "core.gardener.cloud"
GroupName is the name of the core API group.
const (
// KubernetesDashboardAuthModeToken uses token-based mode for auth.
KubernetesDashboardAuthModeToken = "token"
)
const ( // ResourceShoots is a resource constant for the number of shoots. ResourceShoots corev1.ResourceName = "shoots" )
Resource constants for Gardener object types
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 ¶
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 )
var ( // DefaultEvictAfterOOMThreshold is the default value for the EvictAfterOOMThreshold field in the VPA configuration. DefaultEvictAfterOOMThreshold = metav1.Duration{Duration: 10 * time.Minute} // DefaultUpdaterInterval is the default value for the UpdaterInterval field in the VPA configuration. DefaultUpdaterInterval = metav1.Duration{Duration: time.Minute} // DefaultRecommenderInterval is the default value for the RecommenderInterval field in the VPA configuration. DefaultRecommenderInterval = metav1.Duration{Duration: time.Minute} // DefaultCPUHistogramDecayHalfLife is the default value for the CPUHistogramDecayHalfLife field in the VPA configuration. DefaultCPUHistogramDecayHalfLife = metav1.Duration{Duration: 24 * time.Hour} // DefaultMemoryHistogramDecayHalfLife is the default value for the MemoryHistogramDecayHalfLife field in the VPA configuration. DefaultMemoryHistogramDecayHalfLife = metav1.Duration{Duration: 24 * time.Hour} // DefaultMemoryAggregationInterval is the default value for the MemoryAggregationInterval field in the VPA configuration. DefaultMemoryAggregationInterval = metav1.Duration{Duration: 24 * time.Hour} // DefaultMemoryAggregationIntervalCount is the default value for the MemoryAggregationIntervalCount field in the VPA configuration. DefaultMemoryAggregationIntervalCount = int64(8) )
var ( // DefaultWorkerMaxSurge is the default value for Worker MaxSurge. DefaultWorkerMaxSurge = intstr.FromInt32(1) DefaultWorkerMaxUnavailable = intstr.FromInt32(0) // DefaultWorkerSystemComponentsAllow is the default value for Worker AllowSystemComponents DefaultWorkerSystemComponentsAllow = true )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func IsIPv4SingleStack ¶
IsIPv4SingleStack determines whether the given list of IP families specifies IPv4 single-stack networking.
func IsIPv6SingleStack ¶
IsIPv6SingleStack determines whether the given list of IP families specifies IPv6 single-stack networking.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type APIServerLogging ¶
type APIServerLogging struct { // Verbosity is the kube-apiserver log verbosity level // Defaults to 2. // +optional Verbosity *int32 `json:"verbosity,omitempty" protobuf:"varint,1,opt,name=verbosity"` // HTTPAccessVerbosity is the kube-apiserver access logs level // +optional HTTPAccessVerbosity *int32 `json:"httpAccessVerbosity,omitempty" protobuf:"varint,2,opt,name=httpAccessVerbosity"` }
APIServerLogging contains configuration for the logs level and http access logs
func (*APIServerLogging) DeepCopy ¶
func (in *APIServerLogging) DeepCopy() *APIServerLogging
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerLogging.
func (*APIServerLogging) DeepCopyInto ¶
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 ¶
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. // +optional MaxNonMutatingInflight *int32 `json:"maxNonMutatingInflight,omitempty" protobuf:"bytes,1,name=maxNonMutatingInflight"` // MaxMutatingInflight is the maximum number of mutating requests in flight at a given time. When the server // exceeds this, it rejects requests. // +optional MaxMutatingInflight *int32 `json:"maxMutatingInflight,omitempty" protobuf:"bytes,2,name=maxMutatingInflight"` }
APIServerRequests contains configuration for request-specific settings for the kube-apiserver.
func (*APIServerRequests) DeepCopy ¶
func (in *APIServerRequests) DeepCopy() *APIServerRequests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerRequests.
func (*APIServerRequests) DeepCopyInto ¶
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 ¶
type AccessRestriction struct { // Name is the name of the restriction. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` }
AccessRestriction describes an access restriction for a Kubernetes cluster (e.g., EU access-only).
func (*AccessRestriction) DeepCopy ¶
func (in *AccessRestriction) DeepCopy() *AccessRestriction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRestriction.
func (*AccessRestriction) DeepCopyInto ¶
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 ¶
type AccessRestrictionWithOptions struct { AccessRestriction `json:",inline" protobuf:"bytes,1,opt,name=accessRestriction"` // Options is a map of additional options for the access restriction. // +optional Options map[string]string `json:"options,omitempty" protobuf:"bytes,2,rep,name=options"` }
AccessRestrictionWithOptions describes an access restriction for a Kubernetes cluster (e.g., EU access-only) and allows to specify additional options.
func (*AccessRestrictionWithOptions) DeepCopy ¶
func (in *AccessRestrictionWithOptions) DeepCopy() *AccessRestrictionWithOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessRestrictionWithOptions.
func (*AccessRestrictionWithOptions) DeepCopyInto ¶
func (in *AccessRestrictionWithOptions) DeepCopyInto(out *AccessRestrictionWithOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Addon ¶
type Addon struct { // Enabled indicates whether the addon is enabled or not. Enabled bool `json:"enabled" protobuf:"varint,1,opt,name=enabled"` }
Addon allows enabling or disabling a specific addon and is used to derive from.
func (*Addon) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addon.
func (*Addon) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Addons ¶
type Addons struct { // KubernetesDashboard holds configuration settings for the kubernetes dashboard addon. // +optional KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty" protobuf:"bytes,1,opt,name=kubernetesDashboard"` // NginxIngress holds configuration settings for the nginx-ingress addon. // +optional NginxIngress *NginxIngress `json:"nginxIngress,omitempty" protobuf:"bytes,2,opt,name=nginxIngress"` }
Addons is a collection of configuration for specific addons which are managed by the Gardener.
func (*Addons) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addons.
func (*Addons) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdmissionPlugin ¶
type AdmissionPlugin struct { // Name is the name of the plugin. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Config is the configuration of the plugin. // +optional Config *runtime.RawExtension `json:"config,omitempty" protobuf:"bytes,2,opt,name=config"` // Disabled specifies whether this plugin should be disabled. // +optional Disabled *bool `json:"disabled,omitempty" protobuf:"varint,3,opt,name=disabled"` // KubeconfigSecretName specifies the name of a secret containing the kubeconfig for this admission plugin. // +optional KubeconfigSecretName *string `json:"kubeconfigSecretName,omitempty" protobuf:"bytes,4,opt,name=kubeconfigSecretName"` }
AdmissionPlugin contains information about a specific admission plugin and its corresponding configuration.
func (*AdmissionPlugin) DeepCopy ¶
func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPlugin.
func (*AdmissionPlugin) DeepCopyInto ¶
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 ¶
type Alerting struct { // MonitoringEmailReceivers is a list of recipients for alerts // +optional EmailReceivers []string `json:"emailReceivers,omitempty" protobuf:"bytes,1,rep,name=emailReceivers"` }
Alerting contains information about how alerting will be done (i.e. who will receive alerts and how).
func (*Alerting) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alerting.
func (*Alerting) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditConfig ¶
type AuditConfig struct { // AuditPolicy contains configuration settings for audit policy of the kube-apiserver. // +optional AuditPolicy *AuditPolicy `json:"auditPolicy,omitempty" protobuf:"bytes,1,opt,name=auditPolicy"` }
AuditConfig contains settings for audit of the api server
func (*AuditConfig) DeepCopy ¶
func (in *AuditConfig) DeepCopy() *AuditConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditConfig.
func (*AuditConfig) DeepCopyInto ¶
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 ¶
type AuditPolicy struct { // ConfigMapRef is a reference to a ConfigMap object in the same namespace, // which contains the audit policy for the kube-apiserver. // +optional ConfigMapRef *corev1.ObjectReference `json:"configMapRef,omitempty" protobuf:"bytes,1,opt,name=configMapRef"` }
AuditPolicy contains audit policy for kube-apiserver
func (*AuditPolicy) DeepCopy ¶
func (in *AuditPolicy) DeepCopy() *AuditPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditPolicy.
func (*AuditPolicy) DeepCopyInto ¶
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 ¶
type AuthorizerKubeconfigReference struct { // AuthorizerName is the name of a webhook authorizer. AuthorizerName string `json:"authorizerName" protobuf:"bytes,1,opt,name=authorizerName"` // SecretName is the name of a secret containing the kubeconfig. SecretName string `json:"secretName" protobuf:"bytes,2,opt,name=secretName"` }
AuthorizerKubeconfigReference is a reference for a kubeconfig for a authorization webhook.
func (*AuthorizerKubeconfigReference) DeepCopy ¶
func (in *AuthorizerKubeconfigReference) DeepCopy() *AuthorizerKubeconfigReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthorizerKubeconfigReference.
func (*AuthorizerKubeconfigReference) DeepCopyInto ¶
func (in *AuthorizerKubeconfigReference) DeepCopyInto(out *AuthorizerKubeconfigReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AvailabilityZone ¶
type AvailabilityZone struct { // Name is an availability zone name. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // +optional UnavailableMachineTypes []string `json:"unavailableMachineTypes,omitempty" protobuf:"bytes,2,rep,name=unavailableMachineTypes"` // +optional UnavailableVolumeTypes []string `json:"unavailableVolumeTypes,omitempty" protobuf:"bytes,3,rep,name=unavailableVolumeTypes"` }
AvailabilityZone is an availability zone.
func (*AvailabilityZone) DeepCopy ¶
func (in *AvailabilityZone) DeepCopy() *AvailabilityZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AvailabilityZone.
func (*AvailabilityZone) DeepCopyInto ¶
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 `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` // Specification of the Backup Bucket. Spec BackupBucketSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` // Most recently observed status of the Backup Bucket. Status BackupBucketStatus `json:"status" protobuf:"bytes,3,opt,name=status"` }
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 `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of BackupBucket. Items []BackupBucket `json:"items" protobuf:"bytes,2,rep,name=items"` }
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 `json:"type" protobuf:"bytes,1,opt,name=type"` // Region is the region of the bucket. Region string `json:"region" protobuf:"bytes,2,opt,name=region"` }
BackupBucketProvider holds the details of cloud provider of the object store.
func (*BackupBucketProvider) DeepCopy ¶
func (in *BackupBucketProvider) DeepCopy() *BackupBucketProvider
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 `json:"provider" protobuf:"bytes,1,opt,name=provider"` // ProviderConfig is the configuration passed to BackupBucket resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // SecretRef is a reference to a secret that contains the credentials to access object store. SecretRef corev1.SecretReference `json:"secretRef" protobuf:"bytes,3,opt,name=secretRef"` // SeedName holds the name of the seed allocated to BackupBucket for running controller. // This field is immutable. // +optional SeedName *string `json:"seedName,omitempty" protobuf:"bytes,4,opt,name=seedName"` }
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. // +optional ProviderStatus *runtime.RawExtension `json:"providerStatus,omitempty" protobuf:"bytes,1,opt,name=providerStatus"` // LastOperation holds information about the last operation on the BackupBucket. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty" protobuf:"bytes,2,opt,name=lastOperation"` // LastError holds information about the last occurred error during an operation. // +optional LastError *LastError `json:"lastError,omitempty" protobuf:"bytes,3,opt,name=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. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,4,opt,name=observedGeneration"` // GeneratedSecretRef is reference to the secret generated by backup bucket, which // will have object store specific credentials. // +optional GeneratedSecretRef *corev1.SecretReference `json:"generatedSecretRef,omitempty" protobuf:"bytes,5,opt,name=generatedSecretRef"` }
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 `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` // Spec contains the specification of the Backup Entry. // +optional Spec BackupEntrySpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Status contains the most recently observed status of the Backup Entry. // +optional Status BackupEntryStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
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 `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of BackupEntry. Items []BackupEntry `json:"items" protobuf:"bytes,2,rep,name=items"` }
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 `json:"bucketName" protobuf:"bytes,1,opt,name=bucketName"` // SeedName holds the name of the seed to which this BackupEntry is scheduled // +optional SeedName *string `json:"seedName,omitempty" protobuf:"bytes,2,opt,name=seedName"` }
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. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty" protobuf:"bytes,1,opt,name=lastOperation"` // LastError holds information about the last occurred error during an operation. // +optional LastError *LastError `json:"lastError,omitempty" protobuf:"bytes,2,opt,name=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. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"` // 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. // +optional SeedName *string `json:"seedName,omitempty" protobuf:"bytes,4,opt,name=seedName"` // MigrationStartTime is the time when a migration to a different seed was initiated. // +optional MigrationStartTime *metav1.Time `json:"migrationStartTime,omitempty" protobuf:"bytes,5,opt,name=migrationStartTime"` }
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 ¶
type Bastion struct { // MachineImage contains the bastions machine image properties // +optional MachineImage *BastionMachineImage `json:"machineImage,omitempty" protobuf:"bytes,1,opt,name=machineImage"` // MachineType contains the bastions machine type properties // +optional MachineType *BastionMachineType `json:"machineType,omitempty" protobuf:"bytes,2,opt,name=machineType"` }
Bastion contains the bastions creation info
func (*Bastion) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bastion.
func (*Bastion) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BastionMachineImage ¶
type BastionMachineImage struct { // Name of the machine image Name string `json:"name" protobuf:"bytes,1,name=name"` // Version of the machine image // +optional Version *string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` }
BastionMachineImage contains the bastions machine image properties
func (*BastionMachineImage) DeepCopy ¶
func (in *BastionMachineImage) DeepCopy() *BastionMachineImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionMachineImage.
func (*BastionMachineImage) DeepCopyInto ¶
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 ¶
type BastionMachineType struct { // Name of the machine type Name string `json:"name" protobuf:"bytes,1,name=name"` }
BastionMachineType contains the bastions machine type properties
func (*BastionMachineType) DeepCopy ¶
func (in *BastionMachineType) DeepCopy() *BastionMachineType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BastionMachineType.
func (*BastionMachineType) DeepCopyInto ¶
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 ¶
type CARotation struct { // Phase describes the phase of the certificate authority credential rotation. Phase CredentialsRotationPhase `json:"phase" protobuf:"bytes,1,opt,name=phase"` // LastCompletionTime is the most recent time when the certificate authority credential rotation was successfully // completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` // LastInitiationTime is the most recent time when the certificate authority credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,3,opt,name=lastInitiationTime"` // LastInitiationFinishedTime is the recent time when the certificate authority credential rotation initiation was // completed. // +optional LastInitiationFinishedTime *metav1.Time `json:"lastInitiationFinishedTime,omitempty" protobuf:"bytes,4,opt,name=lastInitiationFinishedTime"` // LastCompletionTriggeredTime is the recent time when the certificate authority credential rotation completion was // triggered. // +optional LastCompletionTriggeredTime *metav1.Time `json:"lastCompletionTriggeredTime,omitempty" protobuf:"bytes,5,opt,name=lastCompletionTriggeredTime"` // PendingWorkersRollouts contains the name of a worker pool and the initiation time of their last rollout due to // credentials rotation. // +optional PendingWorkersRollouts []PendingWorkersRollout `json:"pendingWorkersRollouts,omitempty" protobuf:"bytes,6,rep,name=pendingWorkersRollouts"` }
CARotation contains information about the certificate authority credential rotation.
func (*CARotation) DeepCopy ¶
func (in *CARotation) DeepCopy() *CARotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CARotation.
func (*CARotation) DeepCopyInto ¶
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 ¶
type CRI struct { // The name of the CRI library. Supported values are `containerd`. Name CRIName `json:"name" protobuf:"bytes,1,opt,name=name,casttype=CRIName"` // ContainerRuntimes is the list of the required container runtimes supported for a worker pool. // +optional ContainerRuntimes []ContainerRuntime `json:"containerRuntimes,omitempty" protobuf:"bytes,2,rep,name=containerRuntimes"` }
CRI contains information about the Container Runtimes.
func (*CRI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRI.
func (*CRI) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CRIName ¶
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 ¶
type CloudProfile struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the provider environment properties. // +optional Spec CloudProfileSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
CloudProfile represents certain properties about a provider environment.
func (*CloudProfile) DeepCopy ¶
func (in *CloudProfile) DeepCopy() *CloudProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfile.
func (*CloudProfile) DeepCopyInto ¶
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 ¶
func (in *CloudProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudProfileList ¶
type CloudProfileList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of CloudProfiles. Items []CloudProfile `json:"items" protobuf:"bytes,2,rep,name=items"` }
CloudProfileList is a collection of CloudProfiles.
func (*CloudProfileList) DeepCopy ¶
func (in *CloudProfileList) DeepCopy() *CloudProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileList.
func (*CloudProfileList) DeepCopyInto ¶
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 ¶
func (in *CloudProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CloudProfileReference ¶
type CloudProfileReference struct { // Kind contains a CloudProfile kind. Kind string `json:"kind" protobuf:"bytes,1,req,name=kind"` // Name contains the name of the referenced CloudProfile. Name string `json:"name" protobuf:"bytes,2,req,name=name"` }
CloudProfileReference holds the information about a CloudProfile or a NamespacedCloudProfile.
func (*CloudProfileReference) DeepCopy ¶
func (in *CloudProfileReference) DeepCopy() *CloudProfileReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileReference.
func (*CloudProfileReference) DeepCopyInto ¶
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 ¶
type CloudProfileSpec struct { // CABundle is a certificate bundle which will be installed onto every host machine of shoot cluster targeting this profile. // +optional CABundle *string `json:"caBundle,omitempty" protobuf:"bytes,1,opt,name=caBundle"` // Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification. Kubernetes KubernetesSettings `json:"kubernetes" protobuf:"bytes,2,opt,name=kubernetes"` // MachineImages contains constraints regarding allowed values for machine images in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge MachineImages []MachineImage `json:"machineImages" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,3,rep,name=machineImages"` // MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge MachineTypes []MachineType `json:"machineTypes" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=machineTypes"` // ProviderConfig contains provider-specific configuration for the profile. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,5,opt,name=providerConfig"` // Regions contains constraints regarding allowed values for regions and zones. // +patchMergeKey=name // +patchStrategy=merge Regions []Region `json:"regions" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,rep,name=regions"` // 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. // +optional SeedSelector *SeedSelector `json:"seedSelector,omitempty" protobuf:"bytes,7,opt,name=seedSelector"` // Type is the name of the provider. Type string `json:"type" protobuf:"bytes,8,opt,name=type"` // VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge // +optional VolumeTypes []VolumeType `json:"volumeTypes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,9,rep,name=volumeTypes"` // Bastion contains the machine and image properties // +optional Bastion *Bastion `json:"bastion,omitempty" protobuf:"bytes,10,opt,name=bastion"` }
CloudProfileSpec is the specification of a CloudProfile. It must contain exactly one of its defined keys.
func (*CloudProfileSpec) DeepCopy ¶
func (in *CloudProfileSpec) DeepCopy() *CloudProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudProfileSpec.
func (*CloudProfileSpec) DeepCopyInto ¶
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 ¶
type ClusterAutoscaler struct { // ScaleDownDelayAfterAdd defines how long after scale up that scale down evaluation resumes (default: 1 hour). // +optional ScaleDownDelayAfterAdd *metav1.Duration `json:"scaleDownDelayAfterAdd,omitempty" protobuf:"bytes,1,opt,name=scaleDownDelayAfterAdd"` // ScaleDownDelayAfterDelete how long after node deletion that scale down evaluation resumes, defaults to scanInterval (default: 0 secs). // +optional ScaleDownDelayAfterDelete *metav1.Duration `json:"scaleDownDelayAfterDelete,omitempty" protobuf:"bytes,2,opt,name=scaleDownDelayAfterDelete"` // ScaleDownDelayAfterFailure how long after scale down failure that scale down evaluation resumes (default: 3 mins). // +optional ScaleDownDelayAfterFailure *metav1.Duration `json:"scaleDownDelayAfterFailure,omitempty" protobuf:"bytes,3,opt,name=scaleDownDelayAfterFailure"` // ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down (default: 30 mins). // +optional ScaleDownUnneededTime *metav1.Duration `json:"scaleDownUnneededTime,omitempty" protobuf:"bytes,4,opt,name=scaleDownUnneededTime"` // ScaleDownUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) under which a node is being removed (default: 0.5). // +optional ScaleDownUtilizationThreshold *float64 `json:"scaleDownUtilizationThreshold,omitempty" protobuf:"fixed64,5,opt,name=scaleDownUtilizationThreshold"` // ScanInterval how often cluster is reevaluated for scale up or down (default: 10 secs). // +optional ScanInterval *metav1.Duration `json:"scanInterval,omitempty" protobuf:"bytes,6,opt,name=scanInterval"` // 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. // +optional Expander *ExpanderMode `json:"expander,omitempty" protobuf:"bytes,7,opt,name=expander"` // MaxNodeProvisionTime defines how long CA waits for node to be provisioned (default: 20 mins). // +optional MaxNodeProvisionTime *metav1.Duration `json:"maxNodeProvisionTime,omitempty" protobuf:"bytes,8,opt,name=maxNodeProvisionTime"` // MaxGracefulTerminationSeconds is the number of seconds CA waits for pod termination when trying to scale down a node (default: 600). // +optional MaxGracefulTerminationSeconds *int32 `json:"maxGracefulTerminationSeconds,omitempty" protobuf:"varint,9,opt,name=maxGracefulTerminationSeconds"` // IgnoreTaints specifies a list of taint keys to ignore in node templates when considering to scale a node group. // Deprecated: Ignore taints are deprecated as of K8S 1.29 and treated as startup taints // +optional IgnoreTaints []string `json:"ignoreTaints,omitempty" protobuf:"bytes,10,opt,name=ignoreTaints"` // NewPodScaleUpDelay specifies how long CA should ignore newly created pods before they have to be considered for scale-up (default: 0s). // +optional NewPodScaleUpDelay *metav1.Duration `json:"newPodScaleUpDelay,omitempty" protobuf:"bytes,11,opt,name=newPodScaleUpDelay"` // MaxEmptyBulkDelete specifies the maximum number of empty nodes that can be deleted at the same time (default: 10). // +optional MaxEmptyBulkDelete *int32 `json:"maxEmptyBulkDelete,omitempty" protobuf:"varint,12,opt,name=maxEmptyBulkDelete"` // IgnoreDaemonsetsUtilization allows CA to ignore DaemonSet pods when calculating resource utilization for scaling down (default: false). // +optional IgnoreDaemonsetsUtilization *bool `json:"ignoreDaemonsetsUtilization,omitempty" protobuf:"varint,13,opt,name=ignoreDaemonsetsUtilization"` // Verbosity allows CA to modify its log level (default: 2). // +optional Verbosity *int32 `json:"verbosity,omitempty" protobuf:"varint,14,opt,name=verbosity"` // StartupTaints specifies a list of taint keys to ignore in node templates when considering to scale a node group. // Cluster Autoscaler treats nodes tainted with startup taints as unready, but taken into account during scale up logic, assuming they will become ready shortly. // +optional StartupTaints []string `json:"startupTaints,omitempty" protobuf:"bytes,15,opt,name=startupTaints"` // StatusTaints specifies a list of taint keys to ignore in node templates when considering to scale a node group. // Cluster Autoscaler internally treats nodes tainted with status taints as ready, but filtered out during scale up logic. // +optional StatusTaints []string `json:"statusTaints,omitempty" protobuf:"bytes,16,opt,name=statusTaints"` }
ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler.
func (*ClusterAutoscaler) DeepCopy ¶
func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscaler.
func (*ClusterAutoscaler) DeepCopyInto ¶
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 ¶
type ClusterAutoscalerOptions struct { // ScaleDownUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) under which a node is being removed. // +optional ScaleDownUtilizationThreshold *float64 `json:"scaleDownUtilizationThreshold,omitempty" protobuf:"fixed64,1,opt,name=scaleDownUtilizationThreshold"` // ScaleDownGpuUtilizationThreshold defines the threshold in fraction (0.0 - 1.0) of gpu resources under which a node is being removed. // +optional ScaleDownGpuUtilizationThreshold *float64 `json:"scaleDownGpuUtilizationThreshold,omitempty" protobuf:"fixed64,2,opt,name=scaleDownGpuUtilizationThreshold"` // ScaleDownUnneededTime defines how long a node should be unneeded before it is eligible for scale down. // +optional ScaleDownUnneededTime *metav1.Duration `json:"scaleDownUnneededTime,omitempty" protobuf:"bytes,3,opt,name=scaleDownUnneededTime"` // ScaleDownUnreadyTime defines how long an unready node should be unneeded before it is eligible for scale down. // +optional ScaleDownUnreadyTime *metav1.Duration `json:"scaleDownUnreadyTime,omitempty" protobuf:"bytes,4,opt,name=scaleDownUnreadyTime"` // MaxNodeProvisionTime defines how long CA waits for node to be provisioned. // +optional MaxNodeProvisionTime *metav1.Duration `json:"maxNodeProvisionTime,omitempty" protobuf:"bytes,5,opt,name=maxNodeProvisionTime"` }
ClusterAutoscalerOptions contains the cluster autoscaler configurations for a worker pool.
func (*ClusterAutoscalerOptions) DeepCopy ¶
func (in *ClusterAutoscalerOptions) DeepCopy() *ClusterAutoscalerOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscalerOptions.
func (*ClusterAutoscalerOptions) DeepCopyInto ¶
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 `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ConditionType"` // Status of the condition, one of True, False, Unknown. Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` // Last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"` // Last time the condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime" protobuf:"bytes,4,opt,name=lastUpdateTime"` // The reason for the condition's last transition. Reason string `json:"reason" protobuf:"bytes,5,opt,name=reason"` // A human readable message indicating details about the transition. Message string `json:"message" protobuf:"bytes,6,opt,name=message"` // Well-defined error codes in case the condition reports a problem. // +optional Codes []ErrorCode `json:"codes,omitempty" protobuf:"bytes,7,rep,name=codes,casttype=ErrorCode"` }
Condition holds the information about the state of a resource.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 = v1beta1constants.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" // ShootCACertificateValiditiesAcceptable is a constant for a condition type indicating that the validities of all // CA certificates is long enough. ShootCACertificateValiditiesAcceptable ConditionType = "CACertificateValiditiesAcceptable" // ShootCRDsWithProblematicConversionWebhooks is a constant for a condition type indicating that the Shoot cluster has // CRDs with conversion webhooks and multiple stored versions which can break the reconciliation flow of the cluster. ShootCRDsWithProblematicConversionWebhooks ConditionType = "CRDsWithProblematicConversionWebhooks" // ShootReadyForMigration is a constant for a condition type indicating whether the Shoot can be migrated. ShootReadyForMigration ConditionType = "ReadyForMigration" )
type ContainerRuntime ¶
type ContainerRuntime struct { // Type is the type of the Container Runtime. Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // ProviderConfig is the configuration passed to container runtime resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` }
ContainerRuntime contains information about worker's available container runtime
func (*ContainerRuntime) DeepCopy ¶
func (in *ContainerRuntime) DeepCopy() *ContainerRuntime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntime.
func (*ContainerRuntime) DeepCopyInto ¶
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 ¶
type ControlPlane struct { // HighAvailability holds the configuration settings for high availability of the // control plane of a shoot. // +optional HighAvailability *HighAvailability `json:"highAvailability,omitempty" protobuf:"bytes,1,name=highAvailability"` }
ControlPlane holds information about the general settings for the control plane of a shoot.
func (*ControlPlane) DeepCopy ¶
func (in *ControlPlane) DeepCopy() *ControlPlane
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlane.
func (*ControlPlane) DeepCopyInto ¶
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 `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Type is the deployment type. Type string `json:"type" protobuf:"bytes,2,opt,name=type"` // ProviderConfig contains type-specific configuration. It contains assets that deploy the controller. ProviderConfig runtime.RawExtension `json:"providerConfig" protobuf:"bytes,3,opt,name=providerConfig"` }
ControllerDeployment contains information about how this controller is deployed.
func (*ControllerDeployment) DeepCopy ¶
func (in *ControllerDeployment) DeepCopy() *ControllerDeployment
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 ¶
func (in *ControllerDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControllerDeploymentList ¶
type ControllerDeploymentList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of ControllerDeployments. Items []ControllerDeployment `json:"items" protobuf:"bytes,2,rep,name=items"` }
ControllerDeploymentList is a collection of ControllerDeployments.
func (*ControllerDeploymentList) DeepCopy ¶
func (in *ControllerDeploymentList) DeepCopy() *ControllerDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerDeploymentList.
func (*ControllerDeploymentList) DeepCopyInto ¶
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 ¶
func (in *ControllerDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ControllerDeploymentPolicy ¶
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 `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec contains the specification of this installation. // If the object's deletion timestamp is set, this field is immutable. Spec ControllerInstallationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Status contains the status of this installation. Status ControllerInstallationStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
ControllerInstallation represents an installation request for an external controller.
func (*ControllerInstallation) DeepCopy ¶
func (in *ControllerInstallation) DeepCopy() *ControllerInstallation
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 `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of ControllerInstallations. Items []ControllerInstallation `json:"items" protobuf:"bytes,2,rep,name=items"` }
ControllerInstallationList is a collection of ControllerInstallations.
func (*ControllerInstallationList) DeepCopy ¶
func (in *ControllerInstallationList) DeepCopy() *ControllerInstallationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationList.
func (*ControllerInstallationList) DeepCopyInto ¶
func (in *ControllerInstallationList) DeepCopyInto(out *ControllerInstallationList)
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 `json:"registrationRef" protobuf:"bytes,1,opt,name=registrationRef"` // SeedRef is used to reference a Seed resource. The name field of the SeedRef is immutable. SeedRef corev1.ObjectReference `json:"seedRef" protobuf:"bytes,2,opt,name=seedRef"` // DeploymentRef is used to reference a ControllerDeployment resource. // +optional DeploymentRef *corev1.ObjectReference `json:"deploymentRef,omitempty" protobuf:"bytes,3,opt,name=deploymentRef"` }
ControllerInstallationSpec is the specification of a ControllerInstallation.
func (*ControllerInstallationSpec) DeepCopy ¶
func (in *ControllerInstallationSpec) DeepCopy() *ControllerInstallationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationSpec.
func (*ControllerInstallationSpec) DeepCopyInto ¶
func (in *ControllerInstallationSpec) DeepCopyInto(out *ControllerInstallationSpec)
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. // +patchMergeKey=type // +patchStrategy=merge // +optional Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // ProviderStatus contains type-specific status. // +optional ProviderStatus *runtime.RawExtension `json:"providerStatus,omitempty" protobuf:"bytes,2,opt,name=providerStatus"` }
ControllerInstallationStatus is the status of a ControllerInstallation.
func (*ControllerInstallationStatus) DeepCopy ¶
func (in *ControllerInstallationStatus) DeepCopy() *ControllerInstallationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerInstallationStatus.
func (*ControllerInstallationStatus) DeepCopyInto ¶
func (in *ControllerInstallationStatus) DeepCopyInto(out *ControllerInstallationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerRegistration ¶
type ControllerRegistration struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec contains the specification of this registration. // If the object's deletion timestamp is set, this field is immutable. Spec ControllerRegistrationSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
ControllerRegistration represents a registration of an external controller.
func (*ControllerRegistration) DeepCopy ¶
func (in *ControllerRegistration) DeepCopy() *ControllerRegistration
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 ¶
type ControllerRegistrationDeployment struct { // Policy controls how the controller is deployed. It defaults to 'OnDemand'. // +optional Policy *ControllerDeploymentPolicy `json:"policy,omitempty" protobuf:"bytes,3,opt,name=policy"` // 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. // +optional SeedSelector *metav1.LabelSelector `json:"seedSelector,omitempty" protobuf:"bytes,4,opt,name=seedSelector"` // DeploymentRefs holds references to `ControllerDeployments`. Only one element is supported currently. // +optional DeploymentRefs []DeploymentRef `json:"deploymentRefs,omitempty" protobuf:"bytes,5,opt,name=deploymentRefs"` }
ControllerRegistrationDeployment contains information for how this controller is deployed.
func (*ControllerRegistrationDeployment) DeepCopy ¶
func (in *ControllerRegistrationDeployment) DeepCopy() *ControllerRegistrationDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationDeployment.
func (*ControllerRegistrationDeployment) DeepCopyInto ¶
func (in *ControllerRegistrationDeployment) DeepCopyInto(out *ControllerRegistrationDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerRegistrationList ¶
type ControllerRegistrationList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of ControllerRegistrations. Items []ControllerRegistration `json:"items" protobuf:"bytes,2,rep,name=items"` }
ControllerRegistrationList is a collection of ControllerRegistrations.
func (*ControllerRegistrationList) DeepCopy ¶
func (in *ControllerRegistrationList) DeepCopy() *ControllerRegistrationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationList.
func (*ControllerRegistrationList) DeepCopyInto ¶
func (in *ControllerRegistrationList) DeepCopyInto(out *ControllerRegistrationList)
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 (DNSProvider, Infrastructure, Generic, ...) and their actual types // (aws-route53, gcp, auditlog, ...). // +optional Resources []ControllerResource `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` // Deployment contains information for how this controller is deployed. // +optional Deployment *ControllerRegistrationDeployment `json:"deployment,omitempty" protobuf:"bytes,2,opt,name=deployment"` }
ControllerRegistrationSpec is the specification of a ControllerRegistration.
func (*ControllerRegistrationSpec) DeepCopy ¶
func (in *ControllerRegistrationSpec) DeepCopy() *ControllerRegistrationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerRegistrationSpec.
func (*ControllerRegistrationSpec) DeepCopyInto ¶
func (in *ControllerRegistrationSpec) DeepCopyInto(out *ControllerRegistrationSpec)
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, for example "OperatingSystemConfig". Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` // Type is the resource type, for example "coreos" or "ubuntu". Type string `json:"type" protobuf:"bytes,2,opt,name=type"` // GloballyEnabled determines if this ControllerResource is required by all Shoot clusters. // This field is defaulted to false when kind is "Extension". // +optional GloballyEnabled *bool `json:"globallyEnabled,omitempty" protobuf:"varint,3,opt,name=globallyEnabled"` // ReconcileTimeout defines how long Gardener should wait for the resource reconciliation. // This field is defaulted to 3m0s when kind is "Extension". // +optional ReconcileTimeout *metav1.Duration `json:"reconcileTimeout,omitempty" protobuf:"bytes,4,opt,name=reconcileTimeout"` // 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. // +optional Primary *bool `json:"primary,omitempty" protobuf:"varint,5,opt,name=primary"` // 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" // +optional Lifecycle *ControllerResourceLifecycle `json:"lifecycle,omitempty" protobuf:"bytes,6,opt,name=lifecycle"` // WorkerlessSupported specifies whether this ControllerResource supports Workerless Shoot clusters. // This field is only relevant when kind is "Extension". // +optional WorkerlessSupported *bool `json:"workerlessSupported,omitempty" protobuf:"varint,7,opt,name=workerlessSupported"` }
ControllerResource is a combination of a kind (DNSProvider, 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 ¶
type ControllerResourceLifecycle struct { // Reconcile defines the strategy during reconciliation. // +optional Reconcile *ControllerResourceLifecycleStrategy `json:"reconcile,omitempty" protobuf:"bytes,1,opt,name=reconcile,casttype=ControllerResourceLifecycleStrategy"` // Delete defines the strategy during deletion. // +optional Delete *ControllerResourceLifecycleStrategy `json:"delete,omitempty" protobuf:"bytes,2,opt,name=delete,casttype=ControllerResourceLifecycleStrategy"` // Migrate defines the strategy during migration. // +optional Migrate *ControllerResourceLifecycleStrategy `json:"migrate,omitempty" protobuf:"bytes,3,opt,name=migrate,casttype=ControllerResourceLifecycleStrategy"` }
ControllerResourceLifecycle defines the lifecycle of a controller resource.
func (*ControllerResourceLifecycle) DeepCopy ¶
func (in *ControllerResourceLifecycle) DeepCopy() *ControllerResourceLifecycle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerResourceLifecycle.
func (*ControllerResourceLifecycle) DeepCopyInto ¶
func (in *ControllerResourceLifecycle) DeepCopyInto(out *ControllerResourceLifecycle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerResourceLifecycleStrategy ¶
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 ¶
type CoreDNS struct { // Autoscaling contains the settings related to autoscaling of the Core DNS components running in the data plane of the Shoot cluster. // +optional Autoscaling *CoreDNSAutoscaling `json:"autoscaling,omitempty" protobuf:"bytes,1,opt,name=autoscaling"` // Rewriting contains the setting related to rewriting of requests, which are obviously incorrect due to the unnecessary application of the search path. // +optional Rewriting *CoreDNSRewriting `json:"rewriting,omitempty" protobuf:"bytes,2,opt,name=rewriting"` }
CoreDNS contains the settings of the Core DNS components running in the data plane of the Shoot cluster.
func (*CoreDNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNS.
func (*CoreDNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CoreDNSAutoscaling ¶
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 `json:"mode" protobuf:"bytes,1,opt,name=mode"` }
CoreDNSAutoscaling contains the settings related to autoscaling of the Core DNS components running in the data plane of the Shoot cluster.
func (*CoreDNSAutoscaling) DeepCopy ¶
func (in *CoreDNSAutoscaling) DeepCopy() *CoreDNSAutoscaling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNSAutoscaling.
func (*CoreDNSAutoscaling) DeepCopyInto ¶
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 ¶
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 ¶
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. // +optional CommonSuffixes []string `json:"commonSuffixes,omitempty" protobuf:"bytes,1,rep,name=commonSuffixes"` }
CoreDNSRewriting contains the setting related to rewriting requests, which are obviously incorrect due to the unnecessary application of the search path.
func (*CoreDNSRewriting) DeepCopy ¶
func (in *CoreDNSRewriting) DeepCopy() *CoreDNSRewriting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNSRewriting.
func (*CoreDNSRewriting) DeepCopyInto ¶
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 ¶
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" // RotationPreparingWithoutWorkersRollout is a constant for the credentials rotation phase describing that the // procedure is being prepared without triggering a worker pool rollout. RotationPreparingWithoutWorkersRollout CredentialsRotationPhase = "PreparingWithoutWorkersRollout" // RotationWaitingForWorkersRollout is a constant for the credentials rotation phase describing that the procedure // was prepared but is still waiting for the workers to roll out. RotationWaitingForWorkersRollout CredentialsRotationPhase = "WaitingForWorkersRollout" // 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 ¶
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. // +optional Domain *string `json:"domain,omitempty" protobuf:"bytes,1,opt,name=domain"` // 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. // +patchMergeKey=type // +patchStrategy=merge // +optional Providers []DNSProvider `json:"providers,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=providers"` }
DNS holds information about the provider, the hosted zone id and the domain.
func (*DNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.
func (*DNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNSIncludeExclude ¶
type DNSIncludeExclude struct { // Include is a list of domains that shall be included. // +optional Include []string `json:"include,omitempty" protobuf:"bytes,1,rep,name=include"` // Exclude is a list of domains that shall be excluded. // +optional Exclude []string `json:"exclude,omitempty" protobuf:"bytes,2,rep,name=exclude"` }
DNSIncludeExclude contains information about which domains shall be included/excluded.
func (*DNSIncludeExclude) DeepCopy ¶
func (in *DNSIncludeExclude) DeepCopy() *DNSIncludeExclude
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSIncludeExclude.
func (*DNSIncludeExclude) DeepCopyInto ¶
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 ¶
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. // +optional Domains *DNSIncludeExclude `json:"domains,omitempty" protobuf:"bytes,1,opt,name=domains"` // 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. // +optional Primary *bool `json:"primary,omitempty" protobuf:"varint,2,opt,name=primary"` // 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 (primary provider only). Specifying this field may override // this behavior, i.e. forcing the Gardener to only look into the given secret. // +optional SecretName *string `json:"secretName,omitempty" protobuf:"bytes,3,opt,name=secretName"` // Type is the DNS provider type. // +optional Type *string `json:"type,omitempty" protobuf:"bytes,4,opt,name=type"` // 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. // +optional Zones *DNSIncludeExclude `json:"zones,omitempty" protobuf:"bytes,5,opt,name=zones"` }
DNSProvider contains information about a DNS provider.
func (*DNSProvider) DeepCopy ¶
func (in *DNSProvider) DeepCopy() *DNSProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProvider.
func (*DNSProvider) DeepCopyInto ¶
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 ¶
type DataVolume struct { // Name of the volume to make it referenceable. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Type is the type of the volume. // +optional Type *string `json:"type,omitempty" protobuf:"bytes,2,opt,name=type"` // VolumeSize is the size of the volume. VolumeSize string `json:"size" protobuf:"bytes,3,opt,name=size"` // Encrypted determines if the volume should be encrypted. // +optional Encrypted *bool `json:"encrypted,omitempty" protobuf:"varint,4,opt,name=encrypted"` }
DataVolume contains information about a data volume.
func (*DataVolume) DeepCopy ¶
func (in *DataVolume) DeepCopy() *DataVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataVolume.
func (*DataVolume) DeepCopyInto ¶
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 ¶
type DeploymentRef struct { // Name is the name of the `ControllerDeployment` that is being referred to. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` }
DeploymentRef contains information about `ControllerDeployment` references.
func (*DeploymentRef) DeepCopy ¶
func (in *DeploymentRef) DeepCopy() *DeploymentRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentRef.
func (*DeploymentRef) DeepCopyInto ¶
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 ¶
type DualApprovalForDeletion struct { // Resource is the name of the resource this applies to. Resource string `json:"resource" protobuf:"bytes,1,opt,name=resource"` // Selector is the label selector for the resources. Selector metav1.LabelSelector `json:"selector" protobuf:"bytes,2,opt,name=selector"` // IncludeServiceAccounts specifies whether the concept also applies when deletion is triggered by ServiceAccounts. // Defaults to true. // +optional IncludeServiceAccounts *bool `json:"includeServiceAccounts,omitempty" protobuf:"varint,3,opt,name=includeServiceAccounts"` }
DualApprovalForDeletion contains configuration for the dual approval concept for resource deletion.
func (*DualApprovalForDeletion) DeepCopy ¶
func (in *DualApprovalForDeletion) DeepCopy() *DualApprovalForDeletion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DualApprovalForDeletion.
func (*DualApprovalForDeletion) DeepCopyInto ¶
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 ¶
type ETCDEncryptionKeyRotation struct { // Phase describes the phase of the ETCD encryption key credential rotation. Phase CredentialsRotationPhase `json:"phase" protobuf:"bytes,1,opt,name=phase"` // LastCompletionTime is the most recent time when the ETCD encryption key credential rotation was successfully // completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` // LastInitiationTime is the most recent time when the ETCD encryption key credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,3,opt,name=lastInitiationTime"` // LastInitiationFinishedTime is the recent time when the ETCD encryption key credential rotation initiation was // completed. // +optional LastInitiationFinishedTime *metav1.Time `json:"lastInitiationFinishedTime,omitempty" protobuf:"bytes,4,opt,name=lastInitiationFinishedTime"` // LastCompletionTriggeredTime is the recent time when the ETCD encryption key credential rotation completion was // triggered. // +optional LastCompletionTriggeredTime *metav1.Time `json:"lastCompletionTriggeredTime,omitempty" protobuf:"bytes,5,opt,name=lastCompletionTriggeredTime"` }
ETCDEncryptionKeyRotation contains information about the ETCD encryption key credential rotation.
func (*ETCDEncryptionKeyRotation) DeepCopy ¶
func (in *ETCDEncryptionKeyRotation) DeepCopy() *ETCDEncryptionKeyRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ETCDEncryptionKeyRotation.
func (*ETCDEncryptionKeyRotation) DeepCopyInto ¶
func (in *ETCDEncryptionKeyRotation) DeepCopyInto(out *ETCDEncryptionKeyRotation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionConfig ¶
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 `json:"resources" protobuf:"bytes,1,rep,name=resources"` }
EncryptionConfig contains customizable encryption configuration of the API server.
func (*EncryptionConfig) DeepCopy ¶
func (in *EncryptionConfig) DeepCopy() *EncryptionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfig.
func (*EncryptionConfig) DeepCopyInto ¶
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" // 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 ¶
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 ¶
type ExpirableVersion struct { // Version is the version identifier. Version string `json:"version" protobuf:"bytes,1,opt,name=version"` // ExpirationDate defines the time at which this version expires. // +optional ExpirationDate *metav1.Time `json:"expirationDate,omitempty" protobuf:"bytes,2,opt,name=expirationDate"` // Classification defines the state of a version (preview, supported, deprecated) // +optional Classification *VersionClassification `json:"classification,omitempty" protobuf:"bytes,3,opt,name=classification,casttype=VersionClassification"` }
ExpirableVersion contains a version and an expiration date.
func (*ExpirableVersion) DeepCopy ¶
func (in *ExpirableVersion) DeepCopy() *ExpirableVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExpirableVersion.
func (*ExpirableVersion) DeepCopyInto ¶
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 ¶
type ExposureClass struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Handler is the name of the handler which applies the control plane endpoint exposure strategy. // This field is immutable. Handler string `json:"handler" protobuf:"bytes,2,opt,name=handler"` // Scheduling holds information how to select applicable Seed's for ExposureClass usage. // This field is immutable. // +optional Scheduling *ExposureClassScheduling `json:"scheduling,omitempty" protobuf:"bytes,3,opt,name=scheduling"` }
ExposureClass represents a control plane endpoint exposure strategy.
func (*ExposureClass) DeepCopy ¶
func (in *ExposureClass) DeepCopy() *ExposureClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClass.
func (*ExposureClass) DeepCopyInto ¶
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 ¶
func (in *ExposureClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExposureClassList ¶
type ExposureClassList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of ExposureClasses. Items []ExposureClass `json:"items" protobuf:"bytes,2,rep,name=items"` }
ExposureClassList is a collection of ExposureClass.
func (*ExposureClassList) DeepCopy ¶
func (in *ExposureClassList) DeepCopy() *ExposureClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClassList.
func (*ExposureClassList) DeepCopyInto ¶
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 ¶
func (in *ExposureClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExposureClassScheduling ¶
type ExposureClassScheduling struct { // SeedSelector is an optional label selector for Seed's which are suitable to use the ExposureClass. // +optional SeedSelector *SeedSelector `json:"seedSelector,omitempty" protobuf:"bytes,1,opt,name=seedSelector"` // Tolerations contains the tolerations for taints on Seed clusters. // +patchMergeKey=key // +patchStrategy=merge // +optional Tolerations []Toleration `json:"tolerations,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,2,rep,name=tolerations"` }
ExposureClassScheduling holds information to select applicable Seed's for ExposureClass usage.
func (*ExposureClassScheduling) DeepCopy ¶
func (in *ExposureClassScheduling) DeepCopy() *ExposureClassScheduling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposureClassScheduling.
func (*ExposureClassScheduling) DeepCopyInto ¶
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 ¶
type Extension struct { // Type is the type of the extension resource. Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // ProviderConfig is the configuration passed to extension resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // Disabled allows to disable extensions that were marked as 'globally enabled' by Gardener administrators. // +optional Disabled *bool `json:"disabled,omitempty" protobuf:"varint,3,opt,name=disabled"` }
Extension contains type and provider information for Shoot extensions.
func (*Extension) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.
func (*Extension) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtensionResourceState ¶
type ExtensionResourceState struct { // Kind (type) of the extension custom resource Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` // Name of the extension custom resource // +optional Name *string `json:"name,omitempty" protobuf:"bytes,2,opt,name=name"` // Purpose of the extension custom resource // +optional Purpose *string `json:"purpose,omitempty" protobuf:"bytes,3,opt,name=purpose"` // State of the extension resource // +optional State *runtime.RawExtension `json:"state,omitempty" protobuf:"bytes,4,opt,name=state"` // Resources holds a list of named resource references that can be referred to in the state by their names. // +optional Resources []NamedResourceReference `json:"resources,omitempty" protobuf:"bytes,5,rep,name=resources"` }
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 ¶
func (in *ExtensionResourceState) DeepCopy() *ExtensionResourceState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionResourceState.
func (*ExtensionResourceState) DeepCopyInto ¶
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 ¶
type FailureTolerance struct { // Type specifies the type of failure that the highly available resource can tolerate Type FailureToleranceType `json:"type" protobuf:"bytes,1,name=type"` }
FailureTolerance describes information about failure tolerance level of a highly available resource.
func (*FailureTolerance) DeepCopy ¶
func (in *FailureTolerance) DeepCopy() *FailureTolerance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureTolerance.
func (*FailureTolerance) DeepCopyInto ¶
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 ¶
type FailureToleranceType string
FailureToleranceType specifies the type of failure that a highly available shoot control plane that 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 ¶
type Gardener struct { // ID is the container id of the Gardener which last acted on a resource. ID string `json:"id" protobuf:"bytes,1,opt,name=id"` // Name is the hostname (pod name) of the Gardener which last acted on a resource. Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // Version is the version of the Gardener which last acted on a resource. Version string `json:"version" protobuf:"bytes,3,opt,name=version"` }
Gardener holds the information about the Gardener version that operated a resource.
func (*Gardener) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gardener.
func (*Gardener) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GardenerResourceData ¶
type GardenerResourceData struct { // Name of the object required to generate resources Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Type of the object Type string `json:"type" protobuf:"bytes,2,opt,name=type"` // Data contains the payload required to generate resources Data runtime.RawExtension `json:"data" protobuf:"bytes,3,opt,name=data"` // Labels are labels of the object // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,4,opt,name=labels"` }
GardenerResourceData holds the data which is used to generate resources, deployed in the Shoot's control plane.
func (*GardenerResourceData) DeepCopy ¶
func (in *GardenerResourceData) DeepCopy() *GardenerResourceData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerResourceData.
func (*GardenerResourceData) DeepCopyInto ¶
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 ¶
type HelmControllerDeployment struct { // Chart is a Helm chart tarball. Chart []byte `json:"chart,omitempty" protobuf:"bytes,1,opt,name=chart"` // Values is a map of values for the given chart. Values *apiextensionsv1.JSON `json:"values,omitempty" protobuf:"bytes,2,opt,name=values"` // OCIRepository defines where to pull the chart. // +optional OCIRepository *OCIRepository `json:"ociRepository,omitempty" protobuf:"bytes,3,opt,name=ociRepository"` }
HelmControllerDeployment configures how an extension controller is deployed using helm. This is the legacy structure that used to be defined in gardenlet's ControllerInstallation controller for ControllerDeployment's with type=helm. While this is not a proper API type, we need to define the structure in the API package so that we can convert it to the internal API version in the new representation.
func (*HelmControllerDeployment) DeepCopy ¶
func (in *HelmControllerDeployment) DeepCopy() *HelmControllerDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmControllerDeployment.
func (*HelmControllerDeployment) DeepCopyInto ¶
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 ¶
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. // +optional Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"` // Schedules determine the hibernation schedules. // +optional Schedules []HibernationSchedule `json:"schedules,omitempty" protobuf:"bytes,2,rep,name=schedules"` }
Hibernation contains information whether the Shoot is suspended or not.
func (*Hibernation) DeepCopy ¶
func (in *Hibernation) DeepCopy() *Hibernation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hibernation.
func (*Hibernation) DeepCopyInto ¶
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 ¶
type HibernationSchedule struct { // Start is a Cron spec at which time a Shoot will be hibernated. // +optional Start *string `json:"start,omitempty" protobuf:"bytes,1,opt,name=start"` // End is a Cron spec at which time a Shoot will be woken up. // +optional End *string `json:"end,omitempty" protobuf:"bytes,2,opt,name=end"` // Location is the time location in which both start and shall be evaluated. // +optional Location *string `json:"location,omitempty" protobuf:"bytes,3,opt,name=location"` }
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 ¶
func (in *HibernationSchedule) DeepCopy() *HibernationSchedule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HibernationSchedule.
func (*HibernationSchedule) DeepCopyInto ¶
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 ¶
type HighAvailability struct { // FailureTolerance holds information about failure tolerance level of a highly available resource. FailureTolerance FailureTolerance `json:"failureTolerance" protobuf:"bytes,1,name=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 ¶
func (in *HighAvailability) DeepCopy() *HighAvailability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability.
func (*HighAvailability) DeepCopyInto ¶
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 ¶
type HorizontalPodAutoscalerConfig struct { // The period after which a ready pod transition is considered to be the first. // +optional CPUInitializationPeriod *metav1.Duration `json:"cpuInitializationPeriod,omitempty" protobuf:"bytes,1,opt,name=cpuInitializationPeriod"` // The configurable window at which the controller will choose the highest recommendation for autoscaling. // +optional DownscaleStabilization *metav1.Duration `json:"downscaleStabilization,omitempty" protobuf:"bytes,3,opt,name=downscaleStabilization"` // 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. // +optional InitialReadinessDelay *metav1.Duration `json:"initialReadinessDelay,omitempty" protobuf:"bytes,4,opt,name=initialReadinessDelay"` // The period for syncing the number of pods in horizontal pod autoscaler. // +optional SyncPeriod *metav1.Duration `json:"syncPeriod,omitempty" protobuf:"bytes,5,opt,name=syncPeriod"` // The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling. // +optional Tolerance *float64 `json:"tolerance,omitempty" protobuf:"fixed64,6,opt,name=tolerance"` }
HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager. Note: Descriptions were taken from the Kubernetes documentation.
func (*HorizontalPodAutoscalerConfig) DeepCopy ¶
func (in *HorizontalPodAutoscalerConfig) DeepCopy() *HorizontalPodAutoscalerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerConfig.
func (*HorizontalPodAutoscalerConfig) DeepCopyInto ¶
func (in *HorizontalPodAutoscalerConfig) DeepCopyInto(out *HorizontalPodAutoscalerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPFamily ¶
type IPFamily string
IPFamily is a type for specifying an IP protocol version to use in Gardener clusters.
type Ingress ¶
type Ingress struct { // Domain specifies the IngressDomain of the cluster pointing to the ingress controller endpoint. It will be used // to construct ingress URLs for system applications running in Shoot/Garden clusters. Once set this field is immutable. // +kubebuilder:validation:MaxLength=253 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$" Domain string `json:"domain" protobuf:"bytes,1,name=domain"` // Controller configures a Gardener managed Ingress Controller listening on the ingressDomain Controller IngressController `json:"controller" protobuf:"bytes,2,name=controller"` }
Ingress configures the Ingress specific settings of the cluster
func (*Ingress) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ingress.
func (*Ingress) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressController ¶
type IngressController struct { // Kind defines which kind of IngressController to use. At the moment only `nginx` is supported // +kubebuilder:validation:Enum="nginx" Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` // ProviderConfig specifies infrastructure specific configuration for the ingressController // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` }
IngressController enables a Gardener managed Ingress Controller listening on the ingressDomain
func (*IngressController) DeepCopy ¶
func (in *IngressController) DeepCopy() *IngressController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressController.
func (*IngressController) DeepCopyInto ¶
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 ¶
type InternalSecret struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Immutable, if set to true, ensures that data stored in the Secret cannot // be updated (only object metadata can be modified). // If not set to true, the field can be modified at any time. // Defaulted to nil. // +optional Immutable *bool `json:"immutable,omitempty" protobuf:"varint,5,opt,name=immutable"` // 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. Described in https://tools.ietf.org/html/rfc4648#section-4 // +optional Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"` // stringData allows specifying non-binary secret data in string form. // It is provided as a write-only input field for convenience. // All keys and values are merged into the data field on write, overwriting any existing values. // The stringData field is never output when reading from the API. // +k8s:conversion-gen=false // +optional StringData map[string]string `json:"stringData,omitempty" protobuf:"bytes,4,rep,name=stringData"` // Used to facilitate programmatic handling of secret data. // More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types // +optional Type corev1.SecretType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=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 ¶
func (in *InternalSecret) DeepCopy() *InternalSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalSecret.
func (*InternalSecret) DeepCopyInto ¶
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 ¶
func (in *InternalSecret) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InternalSecretList ¶
type InternalSecretList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is a list of secret objects. // More info: https://kubernetes.io/docs/concepts/configuration/secret Items []InternalSecret `json:"items" protobuf:"bytes,2,rep,name=items"` }
InternalSecretList is a list of InternalSecret.
func (*InternalSecretList) DeepCopy ¶
func (in *InternalSecretList) DeepCopy() *InternalSecretList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalSecretList.
func (*InternalSecretList) DeepCopyInto ¶
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 ¶
func (in *InternalSecretList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubeAPIServerConfig ¶
type KubeAPIServerConfig struct { KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"` // AdmissionPlugins contains the list of user-defined admission plugins (additional to those managed by Gardener), and, if desired, the corresponding // configuration. // +patchMergeKey=name // +patchStrategy=merge // +optional AdmissionPlugins []AdmissionPlugin `json:"admissionPlugins,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=admissionPlugins"` // 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"]. // +optional APIAudiences []string `json:"apiAudiences,omitempty" protobuf:"bytes,3,rep,name=apiAudiences"` // AuditConfig contains configuration settings for the audit of the kube-apiserver. // +optional AuditConfig *AuditConfig `json:"auditConfig,omitempty" protobuf:"bytes,4,opt,name=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. // +optional OIDCConfig *OIDCConfig `json:"oidcConfig,omitempty" protobuf:"bytes,6,opt,name=oidcConfig"` // RuntimeConfig contains information about enabled or disabled APIs. // +optional RuntimeConfig map[string]bool `json:"runtimeConfig,omitempty" protobuf:"bytes,7,rep,name=runtimeConfig"` // ServiceAccountConfig contains configuration settings for the service account handling // of the kube-apiserver. // +optional ServiceAccountConfig *ServiceAccountConfig `json:"serviceAccountConfig,omitempty" protobuf:"bytes,8,opt,name=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). // +optional WatchCacheSizes *WatchCacheSizes `json:"watchCacheSizes,omitempty" protobuf:"bytes,9,opt,name=watchCacheSizes"` // Requests contains configuration for request-specific settings for the kube-apiserver. // +optional Requests *APIServerRequests `json:"requests,omitempty" protobuf:"bytes,10,opt,name=requests"` // 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/ // +optional EnableAnonymousAuthentication *bool `json:"enableAnonymousAuthentication,omitempty" protobuf:"varint,11,opt,name=enableAnonymousAuthentication"` // EventTTL controls the amount of time to retain events. // Defaults to 1h. // +optional EventTTL *metav1.Duration `json:"eventTTL,omitempty" protobuf:"bytes,12,opt,name=eventTTL"` // Logging contains configuration for the log level and HTTP access logs. // +optional Logging *APIServerLogging `json:"logging,omitempty" protobuf:"bytes,13,opt,name=logging"` // 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. // Defaults to 300. // +optional DefaultNotReadyTolerationSeconds *int64 `json:"defaultNotReadyTolerationSeconds,omitempty" protobuf:"varint,14,opt,name=defaultNotReadyTolerationSeconds"` // 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. // Defaults to 300. // +optional DefaultUnreachableTolerationSeconds *int64 `json:"defaultUnreachableTolerationSeconds,omitempty" protobuf:"varint,15,opt,name=defaultUnreachableTolerationSeconds"` // EncryptionConfig contains customizable encryption configuration of the Kube API server. // +optional EncryptionConfig *EncryptionConfig `json:"encryptionConfig,omitempty" protobuf:"bytes,16,opt,name=encryptionConfig"` // StructuredAuthentication contains configuration settings for structured authentication for the kube-apiserver. // This field is only available for Kubernetes v1.30 or later. // +optional StructuredAuthentication *StructuredAuthentication `json:"structuredAuthentication,omitempty" protobuf:"bytes,17,opt,name=structuredAuthentication"` // StructuredAuthorization contains configuration settings for structured authorization for the kube-apiserver. // This field is only available for Kubernetes v1.30 or later. // +optional StructuredAuthorization *StructuredAuthorization `json:"structuredAuthorization,omitempty" protobuf:"bytes,18,opt,name=structuredAuthorization"` }
KubeAPIServerConfig contains configuration settings for the kube-apiserver.
func (*KubeAPIServerConfig) DeepCopy ¶
func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeAPIServerConfig.
func (*KubeAPIServerConfig) DeepCopyInto ¶
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 ¶
type KubeControllerManagerConfig struct { KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"` // HorizontalPodAutoscalerConfig contains horizontal pod autoscaler configuration settings for the kube-controller-manager. // +optional HorizontalPodAutoscalerConfig *HorizontalPodAutoscalerConfig `json:"horizontalPodAutoscaler,omitempty" protobuf:"bytes,2,opt,name=horizontalPodAutoscaler"` // NodeCIDRMaskSize defines the mask size for node cidr in cluster (default is 24). This field is immutable. // +optional NodeCIDRMaskSize *int32 `json:"nodeCIDRMaskSize,omitempty" protobuf:"varint,3,opt,name=nodeCIDRMaskSize"` // PodEvictionTimeout defines the grace period for deleting pods on failed nodes. Defaults to 2m. // // 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 based 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`. // +optional PodEvictionTimeout *metav1.Duration `json:"podEvictionTimeout,omitempty" protobuf:"bytes,4,opt,name=podEvictionTimeout"` // NodeMonitorGracePeriod defines the grace period before an unresponsive node is marked unhealthy. // +optional NodeMonitorGracePeriod *metav1.Duration `json:"nodeMonitorGracePeriod,omitempty" protobuf:"bytes,5,opt,name=nodeMonitorGracePeriod"` }
KubeControllerManagerConfig contains configuration settings for the kube-controller-manager.
func (*KubeControllerManagerConfig) DeepCopy ¶
func (in *KubeControllerManagerConfig) DeepCopy() *KubeControllerManagerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeControllerManagerConfig.
func (*KubeControllerManagerConfig) DeepCopyInto ¶
func (in *KubeControllerManagerConfig) DeepCopyInto(out *KubeControllerManagerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeProxyConfig ¶
type KubeProxyConfig struct { KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"` // Mode specifies which proxy mode to use. // defaults to IPTables. // +optional Mode *ProxyMode `json:"mode,omitempty" protobuf:"bytes,2,opt,name=mode,casttype=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. // +optional Enabled *bool `json:"enabled,omitempty" protobuf:"varint,3,opt,name=enabled"` }
KubeProxyConfig contains configuration settings for the kube-proxy.
func (*KubeProxyConfig) DeepCopy ¶
func (in *KubeProxyConfig) DeepCopy() *KubeProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxyConfig.
func (*KubeProxyConfig) DeepCopyInto ¶
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 ¶
type KubeSchedulerConfig struct { KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=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. // +optional KubeMaxPDVols *string `json:"kubeMaxPDVols,omitempty" protobuf:"bytes,2,opt,name=kubeMaxPDVols"` // Profile configures the scheduling profile for the cluster. // If not specified, the used profile is "balanced" (provides the default kube-scheduler behavior). // +optional Profile *SchedulingProfile `json:"profile,omitempty" protobuf:"bytes,3,opt,name=profile,casttype=SchedulingProfile"` }
KubeSchedulerConfig contains configuration settings for the kube-scheduler.
func (*KubeSchedulerConfig) DeepCopy ¶
func (in *KubeSchedulerConfig) DeepCopy() *KubeSchedulerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeSchedulerConfig.
func (*KubeSchedulerConfig) DeepCopyInto ¶
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 ¶
type KubeletConfig struct { KubernetesConfig `json:",inline" protobuf:"bytes,1,opt,name=kubernetesConfig"` // CPUCFSQuota allows you to disable/enable CPU throttling for Pods. // +optional CPUCFSQuota *bool `json:"cpuCFSQuota,omitempty" protobuf:"varint,2,opt,name=cpuCFSQuota"` // CPUManagerPolicy allows to set alternative CPU management policies (default: none). // +optional CPUManagerPolicy *string `json:"cpuManagerPolicy,omitempty" protobuf:"bytes,3,opt,name=cpuManagerPolicy"` // EvictionHard describes a set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a Pod eviction. // +optional // Default: // memory.available: "100Mi/1Gi/5%" // nodefs.available: "5%" // nodefs.inodesFree: "5%" // imagefs.available: "5%" // imagefs.inodesFree: "5%" EvictionHard *KubeletConfigEviction `json:"evictionHard,omitempty" protobuf:"bytes,4,opt,name=evictionHard"` // EvictionMaxPodGracePeriod describes the maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. // +optional // Default: 90 EvictionMaxPodGracePeriod *int32 `json:"evictionMaxPodGracePeriod,omitempty" protobuf:"varint,5,opt,name=evictionMaxPodGracePeriod"` // EvictionMinimumReclaim configures the amount of resources below the configured eviction threshold that the kubelet attempts to reclaim whenever the kubelet observes resource pressure. // +optional // Default: 0 for each resource EvictionMinimumReclaim *KubeletConfigEvictionMinimumReclaim `json:"evictionMinimumReclaim,omitempty" protobuf:"bytes,6,opt,name=evictionMinimumReclaim"` // EvictionPressureTransitionPeriod is the duration for which the kubelet has to wait before transitioning out of an eviction pressure condition. // +optional // Default: 4m0s EvictionPressureTransitionPeriod *metav1.Duration `json:"evictionPressureTransitionPeriod,omitempty" protobuf:"bytes,7,opt,name=evictionPressureTransitionPeriod"` // 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. // +optional // Default: // memory.available: "200Mi/1.5Gi/10%" // nodefs.available: "10%" // nodefs.inodesFree: "10%" // imagefs.available: "10%" // imagefs.inodesFree: "10%" EvictionSoft *KubeletConfigEviction `json:"evictionSoft,omitempty" protobuf:"bytes,8,opt,name=evictionSoft"` // 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. // +optional // Default: // memory.available: 1m30s // nodefs.available: 1m30s // nodefs.inodesFree: 1m30s // imagefs.available: 1m30s // imagefs.inodesFree: 1m30s EvictionSoftGracePeriod *KubeletConfigEvictionSoftGracePeriod `json:"evictionSoftGracePeriod,omitempty" protobuf:"bytes,9,opt,name=evictionSoftGracePeriod"` // MaxPods is the maximum number of Pods that are allowed by the Kubelet. // +optional // Default: 110 MaxPods *int32 `json:"maxPods,omitempty" protobuf:"varint,10,opt,name=maxPods"` // PodPIDsLimit is the maximum number of process IDs per pod allowed by the kubelet. // +optional PodPIDsLimit *int64 `json:"podPidsLimit,omitempty" protobuf:"varint,11,opt,name=podPidsLimit"` // FailSwapOn makes the Kubelet fail to start if swap is enabled on the node. (default true). // +optional FailSwapOn *bool `json:"failSwapOn,omitempty" protobuf:"varint,13,opt,name=failSwapOn"` // 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. // +optional // Default: cpu=80m,memory=1Gi,pid=20k KubeReserved *KubeletConfigReserved `json:"kubeReserved,omitempty" protobuf:"bytes,14,opt,name=kubeReserved"` // 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. // +optional SystemReserved *KubeletConfigReserved `json:"systemReserved,omitempty" protobuf:"bytes,15,opt,name=systemReserved"` // ImageGCHighThresholdPercent describes the percent of the disk usage which triggers image garbage collection. // +optional // Default: 50 ImageGCHighThresholdPercent *int32 `json:"imageGCHighThresholdPercent,omitempty" protobuf:"bytes,16,opt,name=imageGCHighThresholdPercent"` // ImageGCLowThresholdPercent describes the percent of the disk to which garbage collection attempts to free. // +optional // Default: 40 ImageGCLowThresholdPercent *int32 `json:"imageGCLowThresholdPercent,omitempty" protobuf:"bytes,17,opt,name=imageGCLowThresholdPercent"` // SerializeImagePulls describes whether the images are pulled one at a time. // +optional // Default: true SerializeImagePulls *bool `json:"serializeImagePulls,omitempty" protobuf:"varint,18,opt,name=serializeImagePulls"` // RegistryPullQPS is the limit of registry pulls per second. The value must not be a negative number. // Setting it to 0 means no limit. // Default: 5 // +optional RegistryPullQPS *int32 `json:"registryPullQPS,omitempty" protobuf:"varint,19,opt,name=registryPullQPS"` // 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. // Default: 10 // +optional RegistryBurst *int32 `json:"registryBurst,omitempty" protobuf:"varint,20,opt,name=registryBurst"` // 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. // +optional SeccompDefault *bool `json:"seccompDefault,omitempty" protobuf:"varint,21,opt,name=seccompDefault"` // A quantity defines the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki". // +optional // Default: 100Mi ContainerLogMaxSize *resource.Quantity `json:"containerLogMaxSize,omitempty" protobuf:"bytes,22,opt,name=containerLogMaxSize"` // Maximum number of container log files that can be present for a container. // +optional ContainerLogMaxFiles *int32 `json:"containerLogMaxFiles,omitempty" protobuf:"bytes,23,opt,name=containerLogMaxFiles"` // ProtectKernelDefaults ensures that the kernel tunables are equal to the kubelet defaults. // Defaults to true for Kubernetes v1.26 or later. // +optional ProtectKernelDefaults *bool `json:"protectKernelDefaults,omitempty" protobuf:"varint,24,opt,name=protectKernelDefaults"` // 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. // +optional StreamingConnectionIdleTimeout *metav1.Duration `json:"streamingConnectionIdleTimeout,omitempty" protobuf:"bytes,25,opt,name=streamingConnectionIdleTimeout"` // MemorySwap configures swap memory available to container workloads. // +optional MemorySwap *MemorySwapConfiguration `json:"memorySwap,omitempty" protobuf:"bytes,26,opt,name=memorySwap"` }
KubeletConfig contains configuration settings for the kubelet.
func (*KubeletConfig) DeepCopy ¶
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶
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 ¶
type KubeletConfigEviction struct { // MemoryAvailable is the threshold for the free memory on the host server. // +optional MemoryAvailable *string `json:"memoryAvailable,omitempty" protobuf:"bytes,1,opt,name=memoryAvailable"` // ImageFSAvailable is the threshold for the free disk space in the imagefs filesystem (docker images and container writable layers). // +optional ImageFSAvailable *string `json:"imageFSAvailable,omitempty" protobuf:"bytes,2,opt,name=imageFSAvailable"` // ImageFSInodesFree is the threshold for the available inodes in the imagefs filesystem. // +optional ImageFSInodesFree *string `json:"imageFSInodesFree,omitempty" protobuf:"bytes,3,opt,name=imageFSInodesFree"` // NodeFSAvailable is the threshold for the free disk space in the nodefs filesystem (docker volumes, logs, etc). // +optional NodeFSAvailable *string `json:"nodeFSAvailable,omitempty" protobuf:"bytes,4,opt,name=nodeFSAvailable"` // NodeFSInodesFree is the threshold for the available inodes in the nodefs filesystem. // +optional NodeFSInodesFree *string `json:"nodeFSInodesFree,omitempty" protobuf:"bytes,5,opt,name=nodeFSInodesFree"` }
KubeletConfigEviction contains kubelet eviction thresholds supporting either a resource.Quantity or a percentage based value.
func (*KubeletConfigEviction) DeepCopy ¶
func (in *KubeletConfigEviction) DeepCopy() *KubeletConfigEviction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEviction.
func (*KubeletConfigEviction) DeepCopyInto ¶
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 ¶
type KubeletConfigEvictionMinimumReclaim struct { // MemoryAvailable is the threshold for the memory reclaim on the host server. // +optional MemoryAvailable *resource.Quantity `json:"memoryAvailable,omitempty" protobuf:"bytes,1,opt,name=memoryAvailable"` // ImageFSAvailable is the threshold for the disk space reclaim in the imagefs filesystem (docker images and container writable layers). // +optional ImageFSAvailable *resource.Quantity `json:"imageFSAvailable,omitempty" protobuf:"bytes,2,opt,name=imageFSAvailable"` // ImageFSInodesFree is the threshold for the inodes reclaim in the imagefs filesystem. // +optional ImageFSInodesFree *resource.Quantity `json:"imageFSInodesFree,omitempty" protobuf:"bytes,3,opt,name=imageFSInodesFree"` // NodeFSAvailable is the threshold for the disk space reclaim in the nodefs filesystem (docker volumes, logs, etc). // +optional NodeFSAvailable *resource.Quantity `json:"nodeFSAvailable,omitempty" protobuf:"bytes,4,opt,name=nodeFSAvailable"` // NodeFSInodesFree is the threshold for the inodes reclaim in the nodefs filesystem. // +optional NodeFSInodesFree *resource.Quantity `json:"nodeFSInodesFree,omitempty" protobuf:"bytes,5,opt,name=nodeFSInodesFree"` }
KubeletConfigEvictionMinimumReclaim contains configuration for the kubelet eviction minimum reclaim.
func (*KubeletConfigEvictionMinimumReclaim) DeepCopy ¶
func (in *KubeletConfigEvictionMinimumReclaim) DeepCopy() *KubeletConfigEvictionMinimumReclaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEvictionMinimumReclaim.
func (*KubeletConfigEvictionMinimumReclaim) DeepCopyInto ¶
func (in *KubeletConfigEvictionMinimumReclaim) DeepCopyInto(out *KubeletConfigEvictionMinimumReclaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfigEvictionSoftGracePeriod ¶
type KubeletConfigEvictionSoftGracePeriod struct { // MemoryAvailable is the grace period for the MemoryAvailable eviction threshold. // +optional MemoryAvailable *metav1.Duration `json:"memoryAvailable,omitempty" protobuf:"bytes,1,opt,name=memoryAvailable"` // ImageFSAvailable is the grace period for the ImageFSAvailable eviction threshold. // +optional ImageFSAvailable *metav1.Duration `json:"imageFSAvailable,omitempty" protobuf:"bytes,2,opt,name=imageFSAvailable"` // ImageFSInodesFree is the grace period for the ImageFSInodesFree eviction threshold. // +optional ImageFSInodesFree *metav1.Duration `json:"imageFSInodesFree,omitempty" protobuf:"bytes,3,opt,name=imageFSInodesFree"` // NodeFSAvailable is the grace period for the NodeFSAvailable eviction threshold. // +optional NodeFSAvailable *metav1.Duration `json:"nodeFSAvailable,omitempty" protobuf:"bytes,4,opt,name=nodeFSAvailable"` // NodeFSInodesFree is the grace period for the NodeFSInodesFree eviction threshold. // +optional NodeFSInodesFree *metav1.Duration `json:"nodeFSInodesFree,omitempty" protobuf:"bytes,5,opt,name=nodeFSInodesFree"` }
KubeletConfigEvictionSoftGracePeriod contains grace periods for kubelet eviction thresholds.
func (*KubeletConfigEvictionSoftGracePeriod) DeepCopy ¶
func (in *KubeletConfigEvictionSoftGracePeriod) DeepCopy() *KubeletConfigEvictionSoftGracePeriod
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigEvictionSoftGracePeriod.
func (*KubeletConfigEvictionSoftGracePeriod) DeepCopyInto ¶
func (in *KubeletConfigEvictionSoftGracePeriod) DeepCopyInto(out *KubeletConfigEvictionSoftGracePeriod)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeletConfigReserved ¶
type KubeletConfigReserved struct { // CPU is the reserved cpu. // +optional CPU *resource.Quantity `json:"cpu,omitempty" protobuf:"bytes,1,opt,name=cpu"` // Memory is the reserved memory. // +optional Memory *resource.Quantity `json:"memory,omitempty" protobuf:"bytes,2,opt,name=memory"` // EphemeralStorage is the reserved ephemeral-storage. // +optional EphemeralStorage *resource.Quantity `json:"ephemeralStorage,omitempty" protobuf:"bytes,3,opt,name=ephemeralStorage"` // PID is the reserved process-ids. // +optional PID *resource.Quantity `json:"pid,omitempty" protobuf:"bytes,4,opt,name=pid"` }
KubeletConfigReserved contains reserved resources for daemons
func (*KubeletConfigReserved) DeepCopy ¶
func (in *KubeletConfigReserved) DeepCopy() *KubeletConfigReserved
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigReserved.
func (*KubeletConfigReserved) DeepCopyInto ¶
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 ¶
type Kubernetes struct { // ClusterAutoscaler contains the configuration flags for the Kubernetes cluster autoscaler. // +optional ClusterAutoscaler *ClusterAutoscaler `json:"clusterAutoscaler,omitempty" protobuf:"bytes,2,opt,name=clusterAutoscaler"` // KubeAPIServer contains configuration settings for the kube-apiserver. // +optional KubeAPIServer *KubeAPIServerConfig `json:"kubeAPIServer,omitempty" protobuf:"bytes,3,opt,name=kubeAPIServer"` // KubeControllerManager contains configuration settings for the kube-controller-manager. // +optional KubeControllerManager *KubeControllerManagerConfig `json:"kubeControllerManager,omitempty" protobuf:"bytes,4,opt,name=kubeControllerManager"` // KubeScheduler contains configuration settings for the kube-scheduler. // +optional KubeScheduler *KubeSchedulerConfig `json:"kubeScheduler,omitempty" protobuf:"bytes,5,opt,name=kubeScheduler"` // KubeProxy contains configuration settings for the kube-proxy. // +optional KubeProxy *KubeProxyConfig `json:"kubeProxy,omitempty" protobuf:"bytes,6,opt,name=kubeProxy"` // Kubelet contains configuration settings for the kubelet. // +optional Kubelet *KubeletConfig `json:"kubelet,omitempty" protobuf:"bytes,7,opt,name=kubelet"` // 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>`. // +optional Version string `json:"version,omitempty" protobuf:"bytes,8,opt,name=version"` // VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler. // +optional VerticalPodAutoscaler *VerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty" protobuf:"bytes,9,opt,name=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. // +optional EnableStaticTokenKubeconfig *bool `json:"enableStaticTokenKubeconfig,omitempty" protobuf:"varint,10,opt,name=enableStaticTokenKubeconfig"` }
Kubernetes contains the version and configuration variables for the Shoot control plane.
func (*Kubernetes) DeepCopy ¶
func (in *Kubernetes) DeepCopy() *Kubernetes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kubernetes.
func (*Kubernetes) DeepCopyInto ¶
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 ¶
type KubernetesConfig struct { // FeatureGates contains information about enabled feature gates. // +optional FeatureGates map[string]bool `json:"featureGates,omitempty" protobuf:"bytes,1,rep,name=featureGates"` }
KubernetesConfig contains common configuration fields for the control plane components.
func (*KubernetesConfig) DeepCopy ¶
func (in *KubernetesConfig) DeepCopy() *KubernetesConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesConfig.
func (*KubernetesConfig) DeepCopyInto ¶
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 ¶
type KubernetesDashboard struct { Addon `json:",inline" protobuf:"bytes,2,opt,name=addon"` // AuthenticationMode defines the authentication mode for the kubernetes-dashboard. // +optional AuthenticationMode *string `json:"authenticationMode,omitempty" protobuf:"bytes,1,opt,name=authenticationMode"` }
KubernetesDashboard describes configuration values for the kubernetes-dashboard addon.
func (*KubernetesDashboard) DeepCopy ¶
func (in *KubernetesDashboard) DeepCopy() *KubernetesDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDashboard.
func (*KubernetesDashboard) DeepCopyInto ¶
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 ¶
type KubernetesSettings struct { // Versions is the list of allowed Kubernetes versions with optional expiration dates for Shoot clusters. // +patchMergeKey=version // +patchStrategy=merge // +optional Versions []ExpirableVersion `json:"versions,omitempty" patchStrategy:"merge" patchMergeKey:"version" protobuf:"bytes,1,rep,name=versions"` }
KubernetesSettings contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification.
func (*KubernetesSettings) DeepCopy ¶
func (in *KubernetesSettings) DeepCopy() *KubernetesSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSettings.
func (*KubernetesSettings) DeepCopyInto ¶
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 `json:"description" protobuf:"bytes,1,opt,name=description"` // ID of the task which caused this last error // +optional TaskID *string `json:"taskID,omitempty" protobuf:"bytes,2,opt,name=taskID"` // Well-defined error codes of the last error(s). // +optional Codes []ErrorCode `json:"codes,omitempty" protobuf:"bytes,3,rep,name=codes,casttype=ErrorCode"` // Last time the error was reported // +optional LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,4,opt,name=lastUpdateTime"` }
LastError indicates the last occurred error for an operation on a resource.
func (*LastError) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastError.
func (*LastError) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LastMaintenance ¶
type LastMaintenance struct { // A human-readable message containing details about the operations performed in the last maintenance. Description string `json:"description" protobuf:"bytes,1,opt,name=description"` // TriggeredTime is the time when maintenance was triggered. TriggeredTime metav1.Time `json:"triggeredTime" protobuf:"bytes,2,opt,name=triggeredTime"` // Status of the last maintenance operation, one of Processing, Succeeded, Error. State LastOperationState `json:"state" protobuf:"bytes,3,opt,name=state,casttype=LastOperationState"` // FailureReason holds the information about the last maintenance operation failure reason. // +optional FailureReason *string `json:"failureReason,omitempty" protobuf:"bytes,4,opt,name=failureReason"` }
LastMaintenance holds information about a maintenance operation on the Shoot.
func (*LastMaintenance) DeepCopy ¶
func (in *LastMaintenance) DeepCopy() *LastMaintenance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LastMaintenance.
func (*LastMaintenance) DeepCopyInto ¶
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 `json:"description" protobuf:"bytes,1,opt,name=description"` // Last time the operation state transitioned from one to another. LastUpdateTime metav1.Time `json:"lastUpdateTime" protobuf:"bytes,2,opt,name=lastUpdateTime"` // The progress in percentage (0-100) of the last operation. Progress int32 `json:"progress" protobuf:"varint,3,opt,name=progress"` // Status of the last operation, one of Aborted, Processing, Succeeded, Error, Failed. State LastOperationState `json:"state" protobuf:"bytes,4,opt,name=state,casttype=LastOperationState"` // Type of the last operation, one of Create, Reconcile, Delete, Migrate, Restore. Type LastOperationType `json:"type" protobuf:"bytes,5,opt,name=type,casttype=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" // LastOperationTypeMigrate indicates a 'migrate' operation. LastOperationTypeMigrate LastOperationType = "Migrate" // LastOperationTypeRestore indicates a 'restore' operation. LastOperationTypeRestore LastOperationType = "Restore" )
type LoadBalancerServicesProxyProtocol ¶
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 `json:"allowed" protobuf:"bytes,1,opt,name=allowed"` }
LoadBalancerServicesProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services.
func (*LoadBalancerServicesProxyProtocol) DeepCopy ¶
func (in *LoadBalancerServicesProxyProtocol) DeepCopy() *LoadBalancerServicesProxyProtocol
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerServicesProxyProtocol.
func (*LoadBalancerServicesProxyProtocol) DeepCopyInto ¶
func (in *LoadBalancerServicesProxyProtocol) DeepCopyInto(out *LoadBalancerServicesProxyProtocol)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Machine ¶
type Machine struct { // Type is the machine type of the worker group. Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // 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. // +optional Image *ShootMachineImage `json:"image,omitempty" protobuf:"bytes,2,opt,name=image"` // Architecture is CPU architecture of machines in this worker pool. // +optional Architecture *string `json:"architecture,omitempty" protobuf:"bytes,3,opt,name=architecture"` }
Machine contains information about the machine type and image.
func (*Machine) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Machine.
func (*Machine) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineControllerManagerSettings ¶
type MachineControllerManagerSettings struct { // MachineDrainTimeout is the period after which machine is forcefully deleted. // +optional MachineDrainTimeout *metav1.Duration `json:"machineDrainTimeout,omitempty" protobuf:"bytes,1,name=machineDrainTimeout"` // MachineHealthTimeout is the period after which machine is declared failed. // +optional MachineHealthTimeout *metav1.Duration `json:"machineHealthTimeout,omitempty" protobuf:"bytes,2,name=machineHealthTimeout"` // MachineCreationTimeout is the period after which creation of the machine is declared failed. // +optional MachineCreationTimeout *metav1.Duration `json:"machineCreationTimeout,omitempty" protobuf:"bytes,3,name=machineCreationTimeout"` // MaxEvictRetries are the number of eviction retries on a pod after which drain is declared failed, and forceful deletion is triggered. // +optional MaxEvictRetries *int32 `json:"maxEvictRetries,omitempty" protobuf:"bytes,4,name=maxEvictRetries"` // NodeConditions are the set of conditions if set to true for the period of MachineHealthTimeout, machine will be declared failed. // +optional NodeConditions []string `json:"nodeConditions,omitempty" protobuf:"bytes,5,name=nodeConditions"` }
MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout.
func (*MachineControllerManagerSettings) DeepCopy ¶
func (in *MachineControllerManagerSettings) DeepCopy() *MachineControllerManagerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineControllerManagerSettings.
func (*MachineControllerManagerSettings) DeepCopyInto ¶
func (in *MachineControllerManagerSettings) DeepCopyInto(out *MachineControllerManagerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineImage ¶
type MachineImage struct { // Name is the name of the image. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Versions contains versions, expiration dates and container runtimes of the machine image // +patchMergeKey=version // +patchStrategy=merge Versions []MachineImageVersion `json:"versions" patchStrategy:"merge" patchMergeKey:"version" protobuf:"bytes,2,rep,name=versions"` // 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). // +optional UpdateStrategy *MachineImageUpdateStrategy `json:"updateStrategy,omitempty" protobuf:"bytes,3,opt,name=updateStrategy,casttype=MachineImageUpdateStrategy"` }
MachineImage defines the name and multiple versions of the machine image in any environment.
func (*MachineImage) DeepCopy ¶
func (in *MachineImage) DeepCopy() *MachineImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImage.
func (*MachineImage) DeepCopyInto ¶
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 ¶
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 ¶
type MachineImageVersion struct { ExpirableVersion `json:",inline" protobuf:"bytes,1,opt,name=expirableVersion"` // CRI list of supported container runtime and interfaces supported by this version // +optional CRI []CRI `json:"cri,omitempty" protobuf:"bytes,2,rep,name=cri"` // Architectures is the list of CPU architectures of the machine image in this version. // +optional Architectures []string `json:"architectures,omitempty" protobuf:"bytes,3,opt,name=architectures"` // 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 // +optional KubeletVersionConstraint *string `json:"kubeletVersionConstraint,omitempty" protobuf:"bytes,4,opt,name=kubeletVersionConstraint"` }
MachineImageVersion is an expirable version with list of supported container runtimes and interfaces
func (*MachineImageVersion) DeepCopy ¶
func (in *MachineImageVersion) DeepCopy() *MachineImageVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineImageVersion.
func (*MachineImageVersion) DeepCopyInto ¶
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 ¶
type MachineType struct { // CPU is the number of CPUs for this machine type. CPU resource.Quantity `json:"cpu" protobuf:"bytes,1,opt,name=cpu"` // GPU is the number of GPUs for this machine type. GPU resource.Quantity `json:"gpu" protobuf:"bytes,2,opt,name=gpu"` // Memory is the amount of memory for this machine type. Memory resource.Quantity `json:"memory" protobuf:"bytes,3,opt,name=memory"` // Name is the name of the machine type. Name string `json:"name" protobuf:"bytes,4,opt,name=name"` // Storage is the amount of storage associated with the root volume of this machine type. // +optional Storage *MachineTypeStorage `json:"storage,omitempty" protobuf:"bytes,5,opt,name=storage"` // Usable defines if the machine type can be used for shoot clusters. // +optional Usable *bool `json:"usable,omitempty" protobuf:"varint,6,opt,name=usable"` // Architecture is the CPU architecture of this machine type. // +optional Architecture *string `json:"architecture,omitempty" protobuf:"bytes,7,opt,name=architecture"` }
MachineType contains certain properties of a machine type.
func (*MachineType) DeepCopy ¶
func (in *MachineType) DeepCopy() *MachineType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineType.
func (*MachineType) DeepCopyInto ¶
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 ¶
type MachineTypeStorage struct { // Class is the class of the storage type. Class string `json:"class" protobuf:"bytes,1,opt,name=class"` // StorageSize is the storage size. // +optional StorageSize *resource.Quantity `json:"size,omitempty" protobuf:"bytes,2,opt,name=size"` // Type is the type of the storage. Type string `json:"type" protobuf:"bytes,3,opt,name=type"` // MinSize is the minimal supported storage size. // This overrides any other common minimum size configuration from `spec.volumeTypes[*].minSize`. // +optional MinSize *resource.Quantity `json:"minSize,omitempty" protobuf:"bytes,4,opt,name=minSize"` }
MachineTypeStorage is the amount of storage associated with the root volume of this machine type.
func (*MachineTypeStorage) DeepCopy ¶
func (in *MachineTypeStorage) DeepCopy() *MachineTypeStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineTypeStorage.
func (*MachineTypeStorage) DeepCopyInto ¶
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 ¶
type Maintenance struct { // AutoUpdate contains information about which constraints should be automatically updated. // +optional AutoUpdate *MaintenanceAutoUpdate `json:"autoUpdate,omitempty" protobuf:"bytes,1,opt,name=autoUpdate"` // TimeWindow contains information about the time window for maintenance operations. // +optional TimeWindow *MaintenanceTimeWindow `json:"timeWindow,omitempty" protobuf:"bytes,2,opt,name=timeWindow"` // 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. // +optional ConfineSpecUpdateRollout *bool `json:"confineSpecUpdateRollout,omitempty" protobuf:"varint,3,opt,name=confineSpecUpdateRollout"` }
Maintenance contains information about the time window for maintenance operations and which operations should be performed.
func (*Maintenance) DeepCopy ¶
func (in *Maintenance) DeepCopy() *Maintenance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintenance.
func (*Maintenance) DeepCopyInto ¶
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 ¶
type MaintenanceAutoUpdate struct { // KubernetesVersion indicates whether the patch Kubernetes version may be automatically updated (default: true). KubernetesVersion bool `json:"kubernetesVersion" protobuf:"varint,1,opt,name=kubernetesVersion"` // MachineImageVersion indicates whether the machine image version may be automatically updated (default: true). // +optional MachineImageVersion *bool `json:"machineImageVersion,omitempty" protobuf:"varint,2,opt,name=machineImageVersion"` }
MaintenanceAutoUpdate contains information about which constraints should be automatically updated.
func (*MaintenanceAutoUpdate) DeepCopy ¶
func (in *MaintenanceAutoUpdate) DeepCopy() *MaintenanceAutoUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceAutoUpdate.
func (*MaintenanceAutoUpdate) DeepCopyInto ¶
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 ¶
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. // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`([0-1][0-9]|2[0-3])[0-5][0-9][0-5][0-9]\+[0-1][0-4]00` Begin string `json:"begin" protobuf:"bytes,1,opt,name=begin"` // 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. // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`([0-1][0-9]|2[0-3])[0-5][0-9][0-5][0-9]\+[0-1][0-4]00` End string `json:"end" protobuf:"bytes,2,opt,name=end"` }
MaintenanceTimeWindow contains information about the time window for maintenance operations.
func (*MaintenanceTimeWindow) DeepCopy ¶
func (in *MaintenanceTimeWindow) DeepCopy() *MaintenanceTimeWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceTimeWindow.
func (*MaintenanceTimeWindow) DeepCopyInto ¶
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 ¶
type MemorySwapConfiguration struct { // SwapBehavior configures swap memory available to container workloads. May be one of {"LimitedSwap", "UnlimitedSwap"} // defaults to: LimitedSwap // +optional SwapBehavior *SwapBehavior `json:"swapBehavior,omitempty" protobuf:"bytes,1,opt,name=swapBehavior"` }
MemorySwapConfiguration contains kubelet swap configuration For more information, please see KEP: 2400-node-swap
func (*MemorySwapConfiguration) DeepCopy ¶
func (in *MemorySwapConfiguration) DeepCopy() *MemorySwapConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemorySwapConfiguration.
func (*MemorySwapConfiguration) DeepCopyInto ¶
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 ¶
type Monitoring struct { // Alerting contains information about the alerting configuration for the shoot cluster. // +optional Alerting *Alerting `json:"alerting,omitempty" protobuf:"bytes,1,opt,name=alerting"` }
Monitoring contains information about the monitoring configuration for the shoot.
func (*Monitoring) DeepCopy ¶
func (in *Monitoring) DeepCopy() *Monitoring
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Monitoring.
func (*Monitoring) DeepCopyInto ¶
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 ¶
type NamedResourceReference struct { // Name of the resource reference. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // ResourceRef is a reference to a resource. ResourceRef autoscalingv1.CrossVersionObjectReference `json:"resourceRef" protobuf:"bytes,2,opt,name=resourceRef"` }
NamedResourceReference is a named reference to a resource.
func (*NamedResourceReference) DeepCopy ¶
func (in *NamedResourceReference) DeepCopy() *NamedResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedResourceReference.
func (*NamedResourceReference) DeepCopyInto ¶
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 ¶
type NamespacedCloudProfile struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the provider environment properties. Spec NamespacedCloudProfileSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Most recently observed status of the NamespacedCloudProfile. Status NamespacedCloudProfileStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
NamespacedCloudProfile represents certain properties about a provider environment.
func (*NamespacedCloudProfile) DeepCopy ¶
func (in *NamespacedCloudProfile) DeepCopy() *NamespacedCloudProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfile.
func (*NamespacedCloudProfile) DeepCopyInto ¶
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 ¶
func (in *NamespacedCloudProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NamespacedCloudProfileList ¶
type NamespacedCloudProfileList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of NamespacedCloudProfiles. Items []NamespacedCloudProfile `json:"items" protobuf:"bytes,2,rep,name=items"` }
NamespacedCloudProfileList is a collection of NamespacedCloudProfiles.
func (*NamespacedCloudProfileList) DeepCopy ¶
func (in *NamespacedCloudProfileList) DeepCopy() *NamespacedCloudProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileList.
func (*NamespacedCloudProfileList) DeepCopyInto ¶
func (in *NamespacedCloudProfileList) DeepCopyInto(out *NamespacedCloudProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NamespacedCloudProfileList) DeepCopyObject ¶
func (in *NamespacedCloudProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NamespacedCloudProfileSpec ¶
type NamespacedCloudProfileSpec struct { // CABundle is a certificate bundle which will be installed onto every host machine of shoot cluster targeting this profile. // +optional CABundle *string `json:"caBundle,omitempty" protobuf:"bytes,1,opt,name=caBundle"` // Kubernetes contains constraints regarding allowed values of the 'kubernetes' block in the Shoot specification. // +optional Kubernetes *KubernetesSettings `json:"kubernetes,omitempty" protobuf:"bytes,2,opt,name=kubernetes"` // MachineImages contains constraints regarding allowed values for machine images in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge // +optional MachineImages []MachineImage `json:"machineImages,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,3,opt,name=machineImages"` // MachineTypes contains constraints regarding allowed values for machine types in the 'workers' block in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge // +optional MachineTypes []MachineType `json:"machineTypes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,opt,name=machineTypes"` // VolumeTypes contains constraints regarding allowed values for volume types in the 'workers' block in the Shoot specification. // +patchMergeKey=name // +patchStrategy=merge // +optional VolumeTypes []VolumeType `json:"volumeTypes,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,opt,name=volumeTypes"` // Parent contains a reference to a CloudProfile it inherits from. Parent CloudProfileReference `json:"parent" protobuf:"bytes,7,req,name=parent"` // ProviderConfig contains provider-specific configuration for the profile. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,8,opt,name=providerConfig"` }
NamespacedCloudProfileSpec is the specification of a NamespacedCloudProfile.
func (*NamespacedCloudProfileSpec) DeepCopy ¶
func (in *NamespacedCloudProfileSpec) DeepCopy() *NamespacedCloudProfileSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileSpec.
func (*NamespacedCloudProfileSpec) DeepCopyInto ¶
func (in *NamespacedCloudProfileSpec) DeepCopyInto(out *NamespacedCloudProfileSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedCloudProfileStatus ¶
type NamespacedCloudProfileStatus struct { // CloudProfile is the most recently generated CloudProfile of the NamespacedCloudProfile. CloudProfileSpec CloudProfileSpec `json:"cloudProfileSpec,omitempty" protobuf:"bytes,1,req,name=cloudProfileSpec"` // ObservedGeneration is the most recent generation observed for this NamespacedCloudProfile. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"` }
NamespacedCloudProfileStatus holds the most recently observed status of the NamespacedCloudProfile.
func (*NamespacedCloudProfileStatus) DeepCopy ¶
func (in *NamespacedCloudProfileStatus) DeepCopy() *NamespacedCloudProfileStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedCloudProfileStatus.
func (*NamespacedCloudProfileStatus) DeepCopyInto ¶
func (in *NamespacedCloudProfileStatus) DeepCopyInto(out *NamespacedCloudProfileStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Networking ¶
type Networking struct { // Type identifies the type of the networking plugin. This field is immutable. // +optional Type *string `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"` // ProviderConfig is the configuration passed to network resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // Pods is the CIDR of the pod network. This field is immutable. // +optional Pods *string `json:"pods,omitempty" protobuf:"bytes,3,opt,name=pods"` // Nodes is the CIDR of the entire node network. // This field is mutable. // +optional Nodes *string `json:"nodes,omitempty" protobuf:"bytes,4,opt,name=nodes"` // Services is the CIDR of the service network. This field is immutable. // +optional Services *string `json:"services,omitempty" protobuf:"bytes,5,opt,name=services"` // 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"]. // +optional IPFamilies []IPFamily `json:"ipFamilies,omitempty" protobuf:"bytes,6,rep,name=ipFamilies,casttype=IPFamily"` }
Networking defines networking parameters for the shoot cluster.
func (*Networking) DeepCopy ¶
func (in *Networking) DeepCopy() *Networking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Networking.
func (*Networking) DeepCopyInto ¶
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 ¶
type NetworkingStatus struct { // Pods are the CIDRs of the pod network. // +optional Pods []string `json:"pods,omitempty" protobuf:"bytes,1,rep,name=pods"` // Nodes are the CIDRs of the node network. // +optional Nodes []string `json:"nodes,omitempty" protobuf:"bytes,2,rep,name=nodes"` // Services are the CIDRs of the service network. // +optional Services []string `json:"services,omitempty" protobuf:"bytes,3,rep,name=services"` // 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. // +optional EgressCIDRs []string `json:"egressCIDRs,omitempty" protobuf:"bytes,4,rep,name=egressCIDRs"` }
NetworkingStatus contains information about cluster networking such as CIDRs.
func (*NetworkingStatus) DeepCopy ¶
func (in *NetworkingStatus) DeepCopy() *NetworkingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingStatus.
func (*NetworkingStatus) DeepCopyInto ¶
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 ¶
type NginxIngress struct { Addon `json:",inline" protobuf:"bytes,1,opt,name=addon"` // LoadBalancerSourceRanges is list of allowed IP sources for NginxIngress // +optional LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty" protobuf:"bytes,2,rep,name=loadBalancerSourceRanges"` // 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 // +optional Config map[string]string `json:"config,omitempty" protobuf:"bytes,3,rep,name=config"` // ExternalTrafficPolicy controls the `.spec.externalTrafficPolicy` value of the load balancer `Service` // exposing the nginx-ingress. Defaults to `Cluster`. // +optional ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `` /* 145-byte string literal not displayed */ }
NginxIngress describes configuration values for the nginx-ingress addon.
func (*NginxIngress) DeepCopy ¶
func (in *NginxIngress) DeepCopy() *NginxIngress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NginxIngress.
func (*NginxIngress) DeepCopyInto ¶
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 ¶
type NodeLocalDNS struct { // Enabled indicates whether node local DNS is enabled or not. Enabled bool `json:"enabled" protobuf:"varint,1,opt,name=enabled"` // 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. // +optional ForceTCPToClusterDNS *bool `json:"forceTCPToClusterDNS,omitempty" protobuf:"varint,2,opt,name=forceTCPToClusterDNS"` // 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. // +optional ForceTCPToUpstreamDNS *bool `json:"forceTCPToUpstreamDNS,omitempty" protobuf:"varint,3,opt,name=forceTCPToUpstreamDNS"` // 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 `json:"disableForwardToUpstreamDNS,omitempty" protobuf:"varint,4,opt,name=disableForwardToUpstreamDNS"` }
NodeLocalDNS contains the settings of the node local DNS components running in the data plane of the Shoot cluster.
func (*NodeLocalDNS) DeepCopy ¶
func (in *NodeLocalDNS) DeepCopy() *NodeLocalDNS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeLocalDNS.
func (*NodeLocalDNS) DeepCopyInto ¶
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 ¶
type OCIRepository struct { // Ref is the full artifact Ref and takes precedence over all other fields. // +optional Ref *string `json:"ref,omitempty" protobuf:"bytes,1,name=ref"` // Repository is a reference to an OCI artifact repository. // +optional Repository *string `json:"repository,omitempty" protobuf:"bytes,2,name=repository"` // Tag is the image tag to pull. // +optional Tag *string `json:"tag,omitempty" protobuf:"bytes,3,opt,name=tag"` // Digest of the image to pull, takes precedence over tag. // +optional Digest *string `json:"digest,omitempty" protobuf:"bytes,4,opt,name=digest"` }
OCIRepository configures where to pull an OCI Artifact, that could contain for example a Helm Chart.
func (*OCIRepository) DeepCopy ¶
func (in *OCIRepository) DeepCopy() *OCIRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIRepository.
func (*OCIRepository) DeepCopyInto ¶
func (in *OCIRepository) DeepCopyInto(out *OCIRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCConfig ¶
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. // +optional CABundle *string `json:"caBundle,omitempty" protobuf:"bytes,1,opt,name=caBundle"` // 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. // +optional ClientAuthentication *OpenIDConnectClientAuthentication `json:"clientAuthentication,omitempty" protobuf:"bytes,2,opt,name=clientAuthentication"` // The client ID for the OpenID Connect client, must be set. // +optional ClientID *string `json:"clientID,omitempty" protobuf:"bytes,3,opt,name=clientID"` // 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. // +optional GroupsClaim *string `json:"groupsClaim,omitempty" protobuf:"bytes,4,opt,name=groupsClaim"` // If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies. // +optional GroupsPrefix *string `json:"groupsPrefix,omitempty" protobuf:"bytes,5,opt,name=groupsPrefix"` // The URL of the OpenID issuer, only HTTPS scheme will be accepted. Used to verify the OIDC JSON Web Token (JWT). // +optional IssuerURL *string `json:"issuerURL,omitempty" protobuf:"bytes,6,opt,name=issuerURL"` // 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. // +optional RequiredClaims map[string]string `json:"requiredClaims,omitempty" protobuf:"bytes,7,rep,name=requiredClaims"` // 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 // +optional SigningAlgs []string `json:"signingAlgs,omitempty" protobuf:"bytes,8,rep,name=signingAlgs"` // 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") // +optional UsernameClaim *string `json:"usernameClaim,omitempty" protobuf:"bytes,9,opt,name=usernameClaim"` // 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 '-'. // +optional UsernamePrefix *string `json:"usernamePrefix,omitempty" protobuf:"bytes,10,opt,name=usernamePrefix"` }
OIDCConfig contains configuration settings for the OIDC provider. Note: Descriptions were taken from the Kubernetes documentation.
func (*OIDCConfig) DeepCopy ¶
func (in *OIDCConfig) DeepCopy() *OIDCConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCConfig.
func (*OIDCConfig) DeepCopyInto ¶
func (in *OIDCConfig) DeepCopyInto(out *OIDCConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObservabilityRotation ¶
type ObservabilityRotation struct { // LastInitiationTime is the most recent time when the observability credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,1,opt,name=lastInitiationTime"` // LastCompletionTime is the most recent time when the observability credential rotation was successfully completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` }
ObservabilityRotation contains information about the observability credential rotation.
func (*ObservabilityRotation) DeepCopy ¶
func (in *ObservabilityRotation) DeepCopy() *ObservabilityRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObservabilityRotation.
func (*ObservabilityRotation) DeepCopyInto ¶
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 ¶
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 // +optional ExtraConfig map[string]string `json:"extraConfig,omitempty" protobuf:"bytes,1,rep,name=extraConfig"` // The client Secret for the OpenID Connect client. // +optional Secret *string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` }
OpenIDConnectClientAuthentication contains configuration for OIDC clients.
func (*OpenIDConnectClientAuthentication) DeepCopy ¶
func (in *OpenIDConnectClientAuthentication) DeepCopy() *OpenIDConnectClientAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDConnectClientAuthentication.
func (*OpenIDConnectClientAuthentication) DeepCopyInto ¶
func (in *OpenIDConnectClientAuthentication) DeepCopyInto(out *OpenIDConnectClientAuthentication)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingWorkersRollout ¶
type PendingWorkersRollout struct { // Name is the name of a worker pool. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // LastInitiationTime is the most recent time when the credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,2,opt,name=lastInitiationTime"` }
PendingWorkersRollout contains the name of a worker pool and the initiation time of their last rollout due to credentials rotation.
func (*PendingWorkersRollout) DeepCopy ¶
func (in *PendingWorkersRollout) DeepCopy() *PendingWorkersRollout
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingWorkersRollout.
func (*PendingWorkersRollout) DeepCopyInto ¶
func (in *PendingWorkersRollout) DeepCopyInto(out *PendingWorkersRollout)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Project ¶
type Project struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the project properties. // +optional Spec ProjectSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Most recently observed status of the Project. // +optional Status ProjectStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
Project holds certain properties about a Gardener project.
func (*Project) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Project) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProjectList ¶
type ProjectList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of Projects. Items []Project `json:"items" protobuf:"bytes,2,rep,name=items"` }
ProjectList is a collection of Projects.
func (*ProjectList) DeepCopy ¶
func (in *ProjectList) DeepCopy() *ProjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.
func (*ProjectList) DeepCopyInto ¶
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 ¶
func (in *ProjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProjectMember ¶
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 `json:",inline" protobuf:"bytes,1,opt,name=subject"` // Role represents the role of this member. // IMPORTANT: Be aware that this field will be removed in the `v1` version of this API in favor of the `roles` // list. // TODO: Remove this field in favor of the `roles` list in `v1`. Role string `json:"role" protobuf:"bytes,2,opt,name=role"` // Roles represents the list of roles of this member. // +optional Roles []string `json:"roles,omitempty" protobuf:"bytes,3,rep,name=roles"` }
ProjectMember is a member of a project.
func (*ProjectMember) DeepCopy ¶
func (in *ProjectMember) DeepCopy() *ProjectMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectMember.
func (*ProjectMember) DeepCopyInto ¶
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 ¶
type ProjectPhase string
ProjectPhase is a label for the condition of a project at the current time.
type ProjectSpec ¶
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. // +optional CreatedBy *rbacv1.Subject `json:"createdBy,omitempty" protobuf:"bytes,1,opt,name=createdBy"` // Description is a human-readable description of what the project is used for. // +optional Description *string `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"` // Owner is a subject representing a user name, an email address, or any other identifier of a user owning // the project. // IMPORTANT: Be aware that this field will be removed in the `v1` version of this API in favor of the `owner` // role. The only way to change the owner will be by moving the `owner` role. In this API version the only way // to change the owner is to use this field. // +optional // TODO: Remove this field in favor of the `owner` role in `v1`. Owner *rbacv1.Subject `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"` // Purpose is a human-readable explanation of the project's purpose. // +optional Purpose *string `json:"purpose,omitempty" protobuf:"bytes,4,opt,name=purpose"` // 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. // +optional Members []ProjectMember `json:"members,omitempty" protobuf:"bytes,5,rep,name=members"` // 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. // +optional Namespace *string `json:"namespace,omitempty" protobuf:"bytes,6,opt,name=namespace"` // Tolerations contains the tolerations for taints on seed clusters. // +optional Tolerations *ProjectTolerations `json:"tolerations,omitempty" protobuf:"bytes,7,opt,name=tolerations"` // DualApprovalForDeletion contains configuration for the dual approval concept for resource deletion. // +optional DualApprovalForDeletion []DualApprovalForDeletion `json:"dualApprovalForDeletion,omitempty" protobuf:"bytes,8,opt,name=dualApprovalForDeletion"` }
ProjectSpec is the specification of a Project.
func (*ProjectSpec) DeepCopy ¶
func (in *ProjectSpec) DeepCopy() *ProjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.
func (*ProjectSpec) DeepCopyInto ¶
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 ¶
type ProjectStatus struct { // ObservedGeneration is the most recent generation observed for this project. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"` // Phase is the current phase of the project. Phase ProjectPhase `json:"phase,omitempty" protobuf:"bytes,2,opt,name=phase,casttype=ProjectPhase"` // StaleSinceTimestamp contains the timestamp when the project was first discovered to be stale/unused. // +optional StaleSinceTimestamp *metav1.Time `json:"staleSinceTimestamp,omitempty" protobuf:"bytes,3,opt,name=staleSinceTimestamp"` // StaleAutoDeleteTimestamp contains the timestamp when the project will be garbage-collected/automatically deleted // because it's stale/unused. // +optional StaleAutoDeleteTimestamp *metav1.Time `json:"staleAutoDeleteTimestamp,omitempty" protobuf:"bytes,4,opt,name=staleAutoDeleteTimestamp"` // LastActivityTimestamp contains the timestamp from the last activity performed in this project. // +optional LastActivityTimestamp *metav1.Time `json:"lastActivityTimestamp,omitempty" protobuf:"bytes,5,opt,name=lastActivityTimestamp"` }
ProjectStatus holds the most recently observed status of the project.
func (*ProjectStatus) DeepCopy ¶
func (in *ProjectStatus) DeepCopy() *ProjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.
func (*ProjectStatus) DeepCopyInto ¶
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 ¶
type ProjectTolerations struct { // Defaults contains a list of tolerations that are added to the shoots in this project by default. // +patchMergeKey=key // +patchStrategy=merge // +optional Defaults []Toleration `json:"defaults,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,1,rep,name=defaults"` // 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. // +patchMergeKey=key // +patchStrategy=merge // +optional Whitelist []Toleration `json:"whitelist,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,2,rep,name=whitelist"` }
ProjectTolerations contains the tolerations for taints on seed clusters.
func (*ProjectTolerations) DeepCopy ¶
func (in *ProjectTolerations) DeepCopy() *ProjectTolerations
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectTolerations.
func (*ProjectTolerations) DeepCopyInto ¶
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 ¶
type Provider struct { // Type is the type of the provider. This field is immutable. Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // ControlPlaneConfig contains the provider-specific control plane config blob. Please look up the concrete // definition in the documentation of your provider extension. // +optional ControlPlaneConfig *runtime.RawExtension `json:"controlPlaneConfig,omitempty" protobuf:"bytes,2,opt,name=controlPlaneConfig"` // InfrastructureConfig contains the provider-specific infrastructure config blob. Please look up the concrete // definition in the documentation of your provider extension. // +optional InfrastructureConfig *runtime.RawExtension `json:"infrastructureConfig,omitempty" protobuf:"bytes,3,opt,name=infrastructureConfig"` // Workers is a list of worker groups. // +patchMergeKey=name // +patchStrategy=merge // +optional Workers []Worker `json:"workers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=workers"` // WorkersSettings contains settings for all workers. // +optional WorkersSettings *WorkersSettings `json:"workersSettings,omitempty" protobuf:"bytes,5,opt,name=workersSettings"` }
Provider contains provider-specific information that are handed-over to the provider-specific extension controller.
func (*Provider) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provider.
func (*Provider) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProxyMode ¶
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.
type Quota ¶
type Quota struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the Quota constraints. // +optional Spec QuotaSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
Quota represents a quota on resources consumed by shoot clusters either per project or per provider secret.
func (*Quota) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quota.
func (*Quota) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Quota) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type QuotaList ¶
type QuotaList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of Quotas. Items []Quota `json:"items" protobuf:"bytes,2,rep,name=items"` }
QuotaList is a collection of Quotas.
func (*QuotaList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaList.
func (*QuotaList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type QuotaSpec ¶
type QuotaSpec struct { // ClusterLifetimeDays is the lifetime of a Shoot cluster in days before it will be terminated automatically. // +optional ClusterLifetimeDays *int32 `json:"clusterLifetimeDays,omitempty" protobuf:"varint,1,opt,name=clusterLifetimeDays"` // Metrics is a list of resources which will be put under constraints. Metrics corev1.ResourceList `` /* 131-byte string literal not displayed */ // Scope is the scope of the Quota object, either 'project', 'secret' or 'workloadidentity'. This field is immutable. Scope corev1.ObjectReference `json:"scope" protobuf:"bytes,3,opt,name=scope"` // TODO: When graduating the API to v1 consider reworking this field as described in https://github.com/gardener/gardener/issues/9773#issuecomment-2293340267 }
QuotaSpec is the specification of a Quota.
func (*QuotaSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpec.
func (*QuotaSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Region ¶
type Region struct { // Name is a region name. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Zones is a list of availability zones in this region. // +patchMergeKey=name // +patchStrategy=merge // +optional Zones []AvailabilityZone `json:"zones,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=zones"` // 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. // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,3,rep,name=labels"` // AccessRestrictions describe a list of access restrictions that can be used for Shoots using this region. // +optional AccessRestrictions []AccessRestriction `json:"accessRestrictions,omitempty" protobuf:"bytes,4,rep,name=accessRestrictions"` }
Region contains certain properties of a region.
func (*Region) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Region.
func (*Region) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceData ¶
type ResourceData struct { autoscalingv1.CrossVersionObjectReference `json:",inline" protobuf:"bytes,1,opt,name=ref"` // Data of the resource Data runtime.RawExtension `json:"data" protobuf:"bytes,2,opt,name=data"` }
ResourceData holds the data of a resource referred to by an extension controller state.
func (*ResourceData) DeepCopy ¶
func (in *ResourceData) DeepCopy() *ResourceData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceData.
func (*ResourceData) DeepCopyInto ¶
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 ¶
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`). // +optional APIGroup *string `json:"apiGroup,omitempty" protobuf:"bytes,1,opt,name=apiGroup"` // 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 `json:"resource" protobuf:"bytes,2,opt,name=resource"` // CacheSize specifies the watch cache size that should be configured for the specified resource. CacheSize int32 `json:"size" protobuf:"varint,3,opt,name=size"` }
ResourceWatchCacheSize contains configuration of the API server's watch cache size for one specific resource.
func (*ResourceWatchCacheSize) DeepCopy ¶
func (in *ResourceWatchCacheSize) DeepCopy() *ResourceWatchCacheSize
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceWatchCacheSize.
func (*ResourceWatchCacheSize) DeepCopyInto ¶
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 ¶
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 `json:"enabled" protobuf:"varint,1,opt,name=enabled"` }
SSHAccess contains settings regarding ssh access to the worker nodes.
func (*SSHAccess) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHAccess.
func (*SSHAccess) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingProfile ¶
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 ¶
type SecretBinding struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // SecretRef is a reference to a secret object in the same or another namespace. // This field is immutable. SecretRef corev1.SecretReference `json:"secretRef" protobuf:"bytes,2,opt,name=secretRef"` // Quotas is a list of references to Quota objects in the same or another namespace. // This field is immutable. // +optional Quotas []corev1.ObjectReference `json:"quotas,omitempty" protobuf:"bytes,3,rep,name=quotas"` // Provider defines the provider type of the SecretBinding. // This field is immutable. // +optional Provider *SecretBindingProvider `json:"provider,omitempty" protobuf:"bytes,4,opt,name=provider"` }
SecretBinding represents a binding to a secret in the same or another namespace.
func (*SecretBinding) DeepCopy ¶
func (in *SecretBinding) DeepCopy() *SecretBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBinding.
func (*SecretBinding) DeepCopyInto ¶
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 ¶
func (in *SecretBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretBindingList ¶
type SecretBindingList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of SecretBindings. Items []SecretBinding `json:"items" protobuf:"bytes,2,rep,name=items"` }
SecretBindingList is a collection of SecretBindings.
func (*SecretBindingList) DeepCopy ¶
func (in *SecretBindingList) DeepCopy() *SecretBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBindingList.
func (*SecretBindingList) DeepCopyInto ¶
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 ¶
func (in *SecretBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretBindingProvider ¶
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 `json:"type" protobuf:"bytes,1,opt,name=type"` }
SecretBindingProvider defines the provider type of the SecretBinding.
func (*SecretBindingProvider) DeepCopy ¶
func (in *SecretBindingProvider) DeepCopy() *SecretBindingProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretBindingProvider.
func (*SecretBindingProvider) DeepCopyInto ¶
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 ¶
type Seed struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec contains the specification of this installation. Spec SeedSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Status contains the status of this installation. Status SeedStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
Seed represents an installation request for an external controller.
func (*Seed) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Seed.
func (*Seed) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Seed) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SeedBackup ¶
type SeedBackup struct { // Provider is a provider name. This field is immutable. Provider string `json:"provider" protobuf:"bytes,1,opt,name=provider"` // ProviderConfig is the configuration passed to BackupBucket resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // Region is a region name. This field is immutable. // +optional Region *string `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"` // 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 `json:"secretRef" protobuf:"bytes,4,opt,name=secretRef"` }
SeedBackup contains the object store configuration for backups for shoot (currently only etcd).
func (*SeedBackup) DeepCopy ¶
func (in *SeedBackup) DeepCopy() *SeedBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedBackup.
func (*SeedBackup) DeepCopyInto ¶
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 ¶
type SeedDNS struct { // Provider configures a DNSProvider // +optional Provider *SeedDNSProvider `json:"provider,omitempty" protobuf:"bytes,2,opt,name=provider"` }
SeedDNS contains DNS-relevant information about this seed cluster.
func (*SeedDNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedDNS.
func (*SeedDNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedDNSProvider ¶
type SeedDNSProvider struct { // Type describes the type of the dns-provider, for example `aws-route53` Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // SecretRef is a reference to a Secret object containing cloud provider credentials used for registering external domains. SecretRef corev1.SecretReference `json:"secretRef" protobuf:"bytes,2,opt,name=secretRef"` }
SeedDNSProvider configures a DNSProvider for Seeds
func (*SeedDNSProvider) DeepCopy ¶
func (in *SeedDNSProvider) DeepCopy() *SeedDNSProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedDNSProvider.
func (*SeedDNSProvider) DeepCopyInto ¶
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 ¶
type SeedList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of Seeds. Items []Seed `json:"items" protobuf:"bytes,2,rep,name=items"` }
SeedList is a collection of Seeds.
func (*SeedList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedList.
func (*SeedList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SeedList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SeedNetworks ¶
type SeedNetworks struct { // Nodes is the CIDR of the node network. This field is immutable. // +optional Nodes *string `json:"nodes,omitempty" protobuf:"bytes,1,opt,name=nodes"` // Pods is the CIDR of the pod network. This field is immutable. Pods string `json:"pods" protobuf:"bytes,2,opt,name=pods"` // Services is the CIDR of the service network. This field is immutable. Services string `json:"services" protobuf:"bytes,3,opt,name=services"` // ShootDefaults contains the default networks CIDRs for shoots. // +optional ShootDefaults *ShootNetworks `json:"shootDefaults,omitempty" protobuf:"bytes,4,opt,name=shootDefaults"` // BlockCIDRs is a list of network addresses that should be blocked for shoot control plane components running // in the seed cluster. // +optional BlockCIDRs []string `json:"blockCIDRs,omitempty" protobuf:"bytes,5,rep,name=blockCIDRs"` // 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"]. // +optional IPFamilies []IPFamily `json:"ipFamilies,omitempty" protobuf:"bytes,6,rep,name=ipFamilies,casttype=IPFamily"` }
SeedNetworks contains CIDRs for the pod, service and node networks of a Kubernetes cluster.
func (*SeedNetworks) DeepCopy ¶
func (in *SeedNetworks) DeepCopy() *SeedNetworks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedNetworks.
func (*SeedNetworks) DeepCopyInto ¶
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 ¶
type SeedProvider struct { // Type is the name of the provider. Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // ProviderConfig is the configuration passed to Seed resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // Region is a name of a region. Region string `json:"region" protobuf:"bytes,3,opt,name=region"` // Zones is the list of availability zones the seed cluster is deployed to. // +optional Zones []string `json:"zones,omitempty" protobuf:"bytes,4,rep,name=zones"` }
SeedProvider defines the provider-specific information of this Seed cluster.
func (*SeedProvider) DeepCopy ¶
func (in *SeedProvider) DeepCopy() *SeedProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedProvider.
func (*SeedProvider) DeepCopyInto ¶
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 ¶
type SeedSelector struct { // LabelSelector is optional and can be used to select seeds by their label settings // +optional metav1.LabelSelector `json:",inline,omitempty" protobuf:"bytes,1,opt,name=labelSelector"` // Providers is optional and can be used by restricting seeds by their provider type. '*' can be used to enable seeds regardless of their provider type. // +optional ProviderTypes []string `json:"providerTypes,omitempty" protobuf:"bytes,2,rep,name=providerTypes"` }
SeedSelector contains constraints for selecting seed to be usable for shoots using a profile
func (*SeedSelector) DeepCopy ¶
func (in *SeedSelector) DeepCopy() *SeedSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSelector.
func (*SeedSelector) DeepCopyInto ¶
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 ¶
type SeedSettingDependencyWatchdog struct { // Weeder controls the weeder settings for the dependency-watchdog for the seed. // +optional Weeder *SeedSettingDependencyWatchdogWeeder `json:"weeder,omitempty" protobuf:"bytes,3,opt,name=weeder"` // Prober controls the prober settings for the dependency-watchdog for the seed. // +optional Prober *SeedSettingDependencyWatchdogProber `json:"prober,omitempty" protobuf:"bytes,4,opt,name=prober"` }
SeedSettingDependencyWatchdog controls the dependency-watchdog settings for the seed.
func (*SeedSettingDependencyWatchdog) DeepCopy ¶
func (in *SeedSettingDependencyWatchdog) DeepCopy() *SeedSettingDependencyWatchdog
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdog.
func (*SeedSettingDependencyWatchdog) DeepCopyInto ¶
func (in *SeedSettingDependencyWatchdog) DeepCopyInto(out *SeedSettingDependencyWatchdog)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingDependencyWatchdogProber ¶
type SeedSettingDependencyWatchdogProber struct { // Enabled controls whether the probe controller(prober) of the dependency-watchdog should be enabled. This controller // scales down the kube-controller-manager, machine-controller-manager and cluster-autoscaler of shoot clusters in case their respective kube-apiserver is not // reachable via its external ingress in order to avoid melt-down situations. Enabled bool `json:"enabled" protobuf:"bytes,1,opt,name=enabled"` }
SeedSettingDependencyWatchdogProber controls the prober settings for the dependency-watchdog for the seed.
func (*SeedSettingDependencyWatchdogProber) DeepCopy ¶
func (in *SeedSettingDependencyWatchdogProber) DeepCopy() *SeedSettingDependencyWatchdogProber
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdogProber.
func (*SeedSettingDependencyWatchdogProber) DeepCopyInto ¶
func (in *SeedSettingDependencyWatchdogProber) DeepCopyInto(out *SeedSettingDependencyWatchdogProber)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingDependencyWatchdogWeeder ¶
type SeedSettingDependencyWatchdogWeeder struct { // Enabled controls whether the endpoint controller(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 `json:"enabled" protobuf:"bytes,1,opt,name=enabled"` }
SeedSettingDependencyWatchdogWeeder controls the weeder settings for the dependency-watchdog for the seed.
func (*SeedSettingDependencyWatchdogWeeder) DeepCopy ¶
func (in *SeedSettingDependencyWatchdogWeeder) DeepCopy() *SeedSettingDependencyWatchdogWeeder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingDependencyWatchdogWeeder.
func (*SeedSettingDependencyWatchdogWeeder) DeepCopyInto ¶
func (in *SeedSettingDependencyWatchdogWeeder) DeepCopyInto(out *SeedSettingDependencyWatchdogWeeder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingExcessCapacityReservation ¶
type SeedSettingExcessCapacityReservation struct { // Enabled controls whether the default excess capacity reservation should be enabled. When not specified, the functionality is enabled. // +optional Enabled *bool `json:"enabled,omitempty" protobuf:"bytes,1,opt,name=enabled"` // Configs configures excess capacity reservation deployments for shoot control planes in the seed. // +optional Configs []SeedSettingExcessCapacityReservationConfig `json:"configs,omitempty" protobuf:"bytes,2,rep,name=configs"` }
SeedSettingExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed.
func (*SeedSettingExcessCapacityReservation) DeepCopy ¶
func (in *SeedSettingExcessCapacityReservation) DeepCopy() *SeedSettingExcessCapacityReservation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingExcessCapacityReservation.
func (*SeedSettingExcessCapacityReservation) DeepCopyInto ¶
func (in *SeedSettingExcessCapacityReservation) DeepCopyInto(out *SeedSettingExcessCapacityReservation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingExcessCapacityReservationConfig ¶
type SeedSettingExcessCapacityReservationConfig struct { // Resources specify the resource requests and limits of the excess-capacity-reservation pod. Resources corev1.ResourceList `` /* 135-byte string literal not displayed */ // NodeSelector specifies the node where the excess-capacity-reservation pod should run. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,2,rep,name=nodeSelector"` // Tolerations specify the tolerations for the the excess-capacity-reservation pod. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty" protobuf:"bytes,3,rep,name=tolerations"` }
SeedSettingExcessCapacityReservationConfig configures excess capacity reservation deployments for shoot control planes in the seed.
func (*SeedSettingExcessCapacityReservationConfig) DeepCopy ¶
func (in *SeedSettingExcessCapacityReservationConfig) DeepCopy() *SeedSettingExcessCapacityReservationConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingExcessCapacityReservationConfig.
func (*SeedSettingExcessCapacityReservationConfig) DeepCopyInto ¶
func (in *SeedSettingExcessCapacityReservationConfig) DeepCopyInto(out *SeedSettingExcessCapacityReservationConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingLoadBalancerServices ¶
type SeedSettingLoadBalancerServices struct { // Annotations is a map of annotations that will be injected/merged into every load balancer service object. // +optional Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,1,rep,name=annotations"` // ExternalTrafficPolicy describes how nodes distribute service traffic they // receive on one of the service's "externally-facing" addresses. // Defaults to "Cluster". // +optional ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty" protobuf:"bytes,2,opt,name=externalTrafficPolicy"` // 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. // +optional Zones []SeedSettingLoadBalancerServicesZones `json:"zones,omitempty" protobuf:"bytes,3,rep,name=zones"` // ProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services. // Defaults to nil, which is equivalent to not allowing ProxyProtocol. // +optional ProxyProtocol *LoadBalancerServicesProxyProtocol `json:"proxyProtocol,omitempty" protobuf:"bytes,4,opt,name=proxyProtocol"` }
SeedSettingLoadBalancerServices controls certain settings for services of type load balancer that are created in the seed.
func (*SeedSettingLoadBalancerServices) DeepCopy ¶
func (in *SeedSettingLoadBalancerServices) DeepCopy() *SeedSettingLoadBalancerServices
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingLoadBalancerServices.
func (*SeedSettingLoadBalancerServices) DeepCopyInto ¶
func (in *SeedSettingLoadBalancerServices) DeepCopyInto(out *SeedSettingLoadBalancerServices)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingLoadBalancerServicesZones ¶
type SeedSettingLoadBalancerServicesZones struct { // Name is the name of the zone as specified in seed.spec.provider.zones. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Annotations is a map of annotations that will be injected/merged into the zone-specific load balancer service object. // +optional Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,2,rep,name=annotations"` // ExternalTrafficPolicy describes how nodes distribute service traffic they // receive on one of the service's "externally-facing" addresses. // Defaults to "Cluster". // +optional ExternalTrafficPolicy *corev1.ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty" protobuf:"bytes,3,opt,name=externalTrafficPolicy"` // ProxyProtocol controls whether ProxyProtocol is (optionally) allowed for the load balancer services. // Defaults to nil, which is equivalent to not allowing ProxyProtocol. // +optional ProxyProtocol *LoadBalancerServicesProxyProtocol `json:"proxyProtocol,omitempty" protobuf:"bytes,4,opt,name=proxyProtocol"` }
SeedSettingLoadBalancerServicesZones controls settings, which are specific to the single-zone load balancers in a multi-zonal setup.
func (*SeedSettingLoadBalancerServicesZones) DeepCopy ¶
func (in *SeedSettingLoadBalancerServicesZones) DeepCopy() *SeedSettingLoadBalancerServicesZones
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingLoadBalancerServicesZones.
func (*SeedSettingLoadBalancerServicesZones) DeepCopyInto ¶
func (in *SeedSettingLoadBalancerServicesZones) DeepCopyInto(out *SeedSettingLoadBalancerServicesZones)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingScheduling ¶
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 `json:"visible" protobuf:"bytes,1,opt,name=visible"` }
SeedSettingScheduling controls settings for scheduling decisions for the seed.
func (*SeedSettingScheduling) DeepCopy ¶
func (in *SeedSettingScheduling) DeepCopy() *SeedSettingScheduling
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingScheduling.
func (*SeedSettingScheduling) DeepCopyInto ¶
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 ¶
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 `json:"enabled" protobuf:"bytes,1,opt,name=enabled"` }
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 ¶
func (in *SeedSettingTopologyAwareRouting) DeepCopy() *SeedSettingTopologyAwareRouting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingTopologyAwareRouting.
func (*SeedSettingTopologyAwareRouting) DeepCopyInto ¶
func (in *SeedSettingTopologyAwareRouting) DeepCopyInto(out *SeedSettingTopologyAwareRouting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettingVerticalPodAutoscaler ¶
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 `json:"enabled" protobuf:"bytes,1,opt,name=enabled"` }
SeedSettingVerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed.
func (*SeedSettingVerticalPodAutoscaler) DeepCopy ¶
func (in *SeedSettingVerticalPodAutoscaler) DeepCopy() *SeedSettingVerticalPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettingVerticalPodAutoscaler.
func (*SeedSettingVerticalPodAutoscaler) DeepCopyInto ¶
func (in *SeedSettingVerticalPodAutoscaler) DeepCopyInto(out *SeedSettingVerticalPodAutoscaler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedSettings ¶
type SeedSettings struct { // ExcessCapacityReservation controls the excess capacity reservation for shoot control planes in the seed. // +optional ExcessCapacityReservation *SeedSettingExcessCapacityReservation `json:"excessCapacityReservation,omitempty" protobuf:"bytes,1,opt,name=excessCapacityReservation"` // Scheduling controls settings for scheduling decisions for the seed. // +optional Scheduling *SeedSettingScheduling `json:"scheduling,omitempty" protobuf:"bytes,2,opt,name=scheduling"` // LoadBalancerServices controls certain settings for services of type load balancer that are created in the seed. // +optional LoadBalancerServices *SeedSettingLoadBalancerServices `json:"loadBalancerServices,omitempty" protobuf:"bytes,4,opt,name=loadBalancerServices"` // VerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the seed. // +optional VerticalPodAutoscaler *SeedSettingVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty" protobuf:"bytes,5,opt,name=verticalPodAutoscaler"` // DependencyWatchdog controls certain settings for the dependency-watchdog components deployed in the seed. // +optional DependencyWatchdog *SeedSettingDependencyWatchdog `json:"dependencyWatchdog,omitempty" protobuf:"bytes,7,opt,name=dependencyWatchdog"` // 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. // +optional TopologyAwareRouting *SeedSettingTopologyAwareRouting `json:"topologyAwareRouting,omitempty" protobuf:"bytes,8,opt,name=topologyAwareRouting"` }
SeedSettings contains certain settings for this seed cluster.
func (*SeedSettings) DeepCopy ¶
func (in *SeedSettings) DeepCopy() *SeedSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSettings.
func (*SeedSettings) DeepCopyInto ¶
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 ¶
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. // +optional Backup *SeedBackup `json:"backup,omitempty" protobuf:"bytes,1,opt,name=backup"` // DNS contains DNS-relevant information about this seed cluster. DNS SeedDNS `json:"dns" protobuf:"bytes,2,opt,name=dns"` // Networks defines the pod, service and worker network of the Seed cluster. Networks SeedNetworks `json:"networks" protobuf:"bytes,3,opt,name=networks"` // Provider defines the provider type and region for this Seed cluster. Provider SeedProvider `json:"provider" protobuf:"bytes,4,opt,name=provider"` // Taints describes taints on the seed. // +optional Taints []SeedTaint `json:"taints,omitempty" protobuf:"bytes,6,rep,name=taints"` // Volume contains settings for persistentvolumes created in the seed cluster. // +optional Volume *SeedVolume `json:"volume,omitempty" protobuf:"bytes,7,opt,name=volume"` // Settings contains certain settings for this seed cluster. // +optional Settings *SeedSettings `json:"settings,omitempty" protobuf:"bytes,8,opt,name=settings"` // Ingress configures Ingress specific settings of the Seed cluster. This field is immutable. // +optional Ingress *Ingress `json:"ingress,omitempty" protobuf:"bytes,9,opt,name=ingress"` // AccessRestrictions describe a list of access restrictions for this seed cluster. // +optional AccessRestrictions []AccessRestriction `json:"accessRestrictions,omitempty" protobuf:"bytes,10,rep,name=accessRestrictions"` }
SeedSpec is the specification of a Seed.
func (*SeedSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSpec.
func (*SeedSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedStatus ¶
type SeedStatus struct { // Gardener holds information about the Gardener which last acted on the Shoot. // +optional Gardener *Gardener `json:"gardener,omitempty" protobuf:"bytes,1,opt,name=gardener"` // KubernetesVersion is the Kubernetes version of the seed cluster. // +optional KubernetesVersion *string `json:"kubernetesVersion,omitempty" protobuf:"bytes,2,opt,name=kubernetesVersion"` // Conditions represents the latest available observations of a Seed's current state. // +patchMergeKey=type // +patchStrategy=merge // +optional Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,3,rep,name=conditions"` // 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. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,4,opt,name=observedGeneration"` // ClusterIdentity is the identity of the Seed cluster. This field is immutable. // +optional ClusterIdentity *string `json:"clusterIdentity,omitempty" protobuf:"bytes,5,opt,name=clusterIdentity"` // Capacity represents the total resources of a seed. // +optional Capacity corev1.ResourceList `json:"capacity,omitempty" protobuf:"bytes,6,rep,name=capacity"` // Allocatable represents the resources of a seed that are available for scheduling. // Defaults to Capacity. // +optional Allocatable corev1.ResourceList `json:"allocatable,omitempty" protobuf:"bytes,7,rep,name=allocatable"` // ClientCertificateExpirationTimestamp is the timestamp at which gardenlet's client certificate expires. // +optional ClientCertificateExpirationTimestamp *metav1.Time `json:"clientCertificateExpirationTimestamp,omitempty" protobuf:"bytes,8,opt,name=clientCertificateExpirationTimestamp"` // LastOperation holds information about the last operation on the Seed. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty" protobuf:"bytes,9,opt,name=lastOperation"` }
SeedStatus is the status of a Seed.
func (*SeedStatus) DeepCopy ¶
func (in *SeedStatus) DeepCopy() *SeedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedStatus.
func (*SeedStatus) DeepCopyInto ¶
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 ¶
type SeedTaint struct { // Key is the taint key to be applied to a seed. Key string `json:"key" protobuf:"bytes,1,opt,name=key"` // Value is the taint value corresponding to the taint key. // +optional Value *string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` }
SeedTaint describes a taint on a seed.
func (*SeedTaint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedTaint.
func (*SeedTaint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedTemplate ¶
type SeedTemplate struct { // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the desired behavior of the Seed. // +optional Spec SeedSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
SeedTemplate is a template for creating a Seed object.
func (*SeedTemplate) DeepCopy ¶
func (in *SeedTemplate) DeepCopy() *SeedTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedTemplate.
func (*SeedTemplate) DeepCopyInto ¶
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 ¶
type SeedVolume struct { // MinimumSize defines the minimum size that should be used for PVCs in the seed. // +optional MinimumSize *resource.Quantity `json:"minimumSize,omitempty" protobuf:"bytes,1,opt,name=minimumSize"` // Providers is a list of storage class provisioner types for the seed. // +patchMergeKey=name // +patchStrategy=merge // +optional Providers []SeedVolumeProvider `json:"providers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=providers"` }
SeedVolume contains settings for persistentvolumes created in the seed cluster.
func (*SeedVolume) DeepCopy ¶
func (in *SeedVolume) DeepCopy() *SeedVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedVolume.
func (*SeedVolume) DeepCopyInto ¶
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 ¶
type SeedVolumeProvider struct { // Purpose is the purpose of this provider. Purpose string `json:"purpose" protobuf:"bytes,1,opt,name=purpose"` // Name is the name of the storage class provisioner type. Name string `json:"name" protobuf:"bytes,2,opt,name=name"` }
SeedVolumeProvider is a storage class provisioner type.
func (*SeedVolumeProvider) DeepCopy ¶
func (in *SeedVolumeProvider) DeepCopy() *SeedVolumeProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedVolumeProvider.
func (*SeedVolumeProvider) DeepCopyInto ¶
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 ¶
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. // +optional Issuer *string `json:"issuer,omitempty" protobuf:"bytes,1,opt,name=issuer"` // 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. // +optional ExtendTokenExpiration *bool `json:"extendTokenExpiration,omitempty" protobuf:"bytes,3,opt,name=extendTokenExpiration"` // 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]. // +optional MaxTokenExpiration *metav1.Duration `json:"maxTokenExpiration,omitempty" protobuf:"bytes,4,opt,name=maxTokenExpiration"` // 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. // +optional AcceptedIssuers []string `json:"acceptedIssuers,omitempty" protobuf:"bytes,5,opt,name=acceptedIssuers"` }
ServiceAccountConfig is the kube-apiserver configuration for service accounts.
func (*ServiceAccountConfig) DeepCopy ¶
func (in *ServiceAccountConfig) DeepCopy() *ServiceAccountConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountConfig.
func (*ServiceAccountConfig) DeepCopyInto ¶
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 ¶
type ServiceAccountKeyRotation struct { // Phase describes the phase of the service account key credential rotation. Phase CredentialsRotationPhase `json:"phase" protobuf:"bytes,1,opt,name=phase"` // LastCompletionTime is the most recent time when the service account key credential rotation was successfully // completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` // LastInitiationTime is the most recent time when the service account key credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,3,opt,name=lastInitiationTime"` // LastInitiationFinishedTime is the recent time when the service account key credential rotation initiation was // completed. // +optional LastInitiationFinishedTime *metav1.Time `json:"lastInitiationFinishedTime,omitempty" protobuf:"bytes,4,opt,name=lastInitiationFinishedTime"` // LastCompletionTriggeredTime is the recent time when the service account key credential rotation completion was // triggered. // +optional LastCompletionTriggeredTime *metav1.Time `json:"lastCompletionTriggeredTime,omitempty" protobuf:"bytes,5,opt,name=lastCompletionTriggeredTime"` // PendingWorkersRollouts contains the name of a worker pool and the initiation time of their last rollout due to // credentials rotation. // +optional PendingWorkersRollouts []PendingWorkersRollout `json:"pendingWorkersRollouts,omitempty" protobuf:"bytes,6,rep,name=pendingWorkersRollouts"` }
ServiceAccountKeyRotation contains information about the service account key credential rotation.
func (*ServiceAccountKeyRotation) DeepCopy ¶
func (in *ServiceAccountKeyRotation) DeepCopy() *ServiceAccountKeyRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountKeyRotation.
func (*ServiceAccountKeyRotation) DeepCopyInto ¶
func (in *ServiceAccountKeyRotation) DeepCopyInto(out *ServiceAccountKeyRotation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Shoot ¶
type Shoot struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the Shoot cluster. // If the object's deletion timestamp is set, this field is immutable. // +optional Spec ShootSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Most recently observed status of the Shoot cluster. // +optional Status ShootStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
Shoot represents a Shoot cluster created and managed by Gardener.
func (*Shoot) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Shoot.
func (*Shoot) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Shoot) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShootAdvertisedAddress ¶
type ShootAdvertisedAddress struct { // Name of the advertised address. e.g. external Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // The URL of the API Server. e.g. https://api.foo.bar or https://1.2.3.4 URL string `json:"url" protobuf:"bytes,2,opt,name=url"` }
ShootAdvertisedAddress contains information for the shoot's Kube API server.
func (*ShootAdvertisedAddress) DeepCopy ¶
func (in *ShootAdvertisedAddress) DeepCopy() *ShootAdvertisedAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootAdvertisedAddress.
func (*ShootAdvertisedAddress) DeepCopyInto ¶
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 ¶
type ShootCredentials struct { // Rotation contains information about the credential rotations. // +optional Rotation *ShootCredentialsRotation `json:"rotation,omitempty" protobuf:"bytes,1,opt,name=rotation"` }
ShootCredentials contains information about the shoot credentials.
func (*ShootCredentials) DeepCopy ¶
func (in *ShootCredentials) DeepCopy() *ShootCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootCredentials.
func (*ShootCredentials) DeepCopyInto ¶
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 ¶
type ShootCredentialsRotation struct { // CertificateAuthorities contains information about the certificate authority credential rotation. // +optional CertificateAuthorities *CARotation `json:"certificateAuthorities,omitempty" protobuf:"bytes,1,opt,name=certificateAuthorities"` // Kubeconfig contains information about the kubeconfig credential rotation. // +optional Kubeconfig *ShootKubeconfigRotation `json:"kubeconfig,omitempty" protobuf:"bytes,2,opt,name=kubeconfig"` // SSHKeypair contains information about the ssh-keypair credential rotation. // +optional SSHKeypair *ShootSSHKeypairRotation `json:"sshKeypair,omitempty" protobuf:"bytes,3,opt,name=sshKeypair"` // Observability contains information about the observability credential rotation. // +optional Observability *ObservabilityRotation `json:"observability,omitempty" protobuf:"bytes,4,opt,name=observability"` // ServiceAccountKey contains information about the service account key credential rotation. // +optional ServiceAccountKey *ServiceAccountKeyRotation `json:"serviceAccountKey,omitempty" protobuf:"bytes,5,opt,name=serviceAccountKey"` // ETCDEncryptionKey contains information about the ETCD encryption key credential rotation. // +optional ETCDEncryptionKey *ETCDEncryptionKeyRotation `json:"etcdEncryptionKey,omitempty" protobuf:"bytes,6,opt,name=etcdEncryptionKey"` }
ShootCredentialsRotation contains information about the rotation of credentials.
func (*ShootCredentialsRotation) DeepCopy ¶
func (in *ShootCredentialsRotation) DeepCopy() *ShootCredentialsRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootCredentialsRotation.
func (*ShootCredentialsRotation) DeepCopyInto ¶
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 ¶
type ShootKubeconfigRotation struct { // LastInitiationTime is the most recent time when the kubeconfig credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,1,opt,name=lastInitiationTime"` // LastCompletionTime is the most recent time when the kubeconfig credential rotation was successfully completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` }
ShootKubeconfigRotation contains information about the kubeconfig credential rotation.
func (*ShootKubeconfigRotation) DeepCopy ¶
func (in *ShootKubeconfigRotation) DeepCopy() *ShootKubeconfigRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootKubeconfigRotation.
func (*ShootKubeconfigRotation) DeepCopyInto ¶
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 ¶
type ShootList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of Shoots. Items []Shoot `json:"items" protobuf:"bytes,2,rep,name=items"` }
ShootList is a list of Shoot objects.
func (*ShootList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootList.
func (*ShootList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShootList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShootMachineImage ¶
type ShootMachineImage struct { // Name is the name of the image. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // ProviderConfig is the shoot's individual configuration passed to an extension resource. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,2,opt,name=providerConfig"` // 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. // +optional Version *string `json:"version,omitempty" protobuf:"bytes,3,opt,name=version"` }
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 ¶
func (in *ShootMachineImage) DeepCopy() *ShootMachineImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootMachineImage.
func (*ShootMachineImage) DeepCopyInto ¶
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 ¶
type ShootNetworks struct { // Pods is the CIDR of the pod network. // +optional Pods *string `json:"pods,omitempty" protobuf:"bytes,1,opt,name=pods"` // Services is the CIDR of the service network. // +optional Services *string `json:"services,omitempty" protobuf:"bytes,2,opt,name=services"` }
ShootNetworks contains the default networks CIDRs for shoots.
func (*ShootNetworks) DeepCopy ¶
func (in *ShootNetworks) DeepCopy() *ShootNetworks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootNetworks.
func (*ShootNetworks) DeepCopyInto ¶
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 ¶
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 ¶
type ShootSSHKeypairRotation struct { // LastInitiationTime is the most recent time when the ssh-keypair credential rotation was initiated. // +optional LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty" protobuf:"bytes,1,opt,name=lastInitiationTime"` // LastCompletionTime is the most recent time when the ssh-keypair credential rotation was successfully completed. // +optional LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty" protobuf:"bytes,2,opt,name=lastCompletionTime"` }
ShootSSHKeypairRotation contains information about the ssh-keypair credential rotation.
func (*ShootSSHKeypairRotation) DeepCopy ¶
func (in *ShootSSHKeypairRotation) DeepCopy() *ShootSSHKeypairRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootSSHKeypairRotation.
func (*ShootSSHKeypairRotation) DeepCopyInto ¶
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 ¶
type ShootSpec struct { // Addons contains information about enabled/disabled addons and their configuration. // +optional Addons *Addons `json:"addons,omitempty" protobuf:"bytes,1,opt,name=addons"` // CloudProfileName is a name of a CloudProfile object. // Deprecated: This field will be removed in a future version of Gardener. Use `CloudProfile` instead. // Until removed, this field is synced with the `CloudProfile` field. // +optional CloudProfileName *string `json:"cloudProfileName,omitempty" protobuf:"bytes,2,opt,name=cloudProfileName"` // DNS contains information about the DNS settings of the Shoot. // +optional DNS *DNS `json:"dns,omitempty" protobuf:"bytes,3,opt,name=dns"` // Extensions contain type and provider information for Shoot extensions. // +optional Extensions []Extension `json:"extensions,omitempty" protobuf:"bytes,4,rep,name=extensions"` // Hibernation contains information whether the Shoot is suspended or not. // +optional Hibernation *Hibernation `json:"hibernation,omitempty" protobuf:"bytes,5,opt,name=hibernation"` // Kubernetes contains the version and configuration settings of the control plane components. Kubernetes Kubernetes `json:"kubernetes" protobuf:"bytes,6,opt,name=kubernetes"` // Networking contains information about cluster networking such as CNI Plugin type, CIDRs, ...etc. // +optional Networking *Networking `json:"networking,omitempty" protobuf:"bytes,7,opt,name=networking"` // Maintenance contains information about the time window for maintenance operations and which // operations should be performed. // +optional Maintenance *Maintenance `json:"maintenance,omitempty" protobuf:"bytes,8,opt,name=maintenance"` // Monitoring contains information about custom monitoring configurations for the shoot. // +optional Monitoring *Monitoring `json:"monitoring,omitempty" protobuf:"bytes,9,opt,name=monitoring"` // Provider contains all provider-specific and provider-relevant information. Provider Provider `json:"provider" protobuf:"bytes,10,opt,name=provider"` // Purpose is the purpose class for this cluster. // +optional Purpose *ShootPurpose `json:"purpose,omitempty" protobuf:"bytes,11,opt,name=purpose,casttype=ShootPurpose"` // Region is a name of a region. This field is immutable. Region string `json:"region" protobuf:"bytes,12,opt,name=region"` // 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. // +optional SecretBindingName *string `json:"secretBindingName,omitempty" protobuf:"bytes,13,opt,name=secretBindingName"` // SeedName is the name of the seed cluster that runs the control plane of the Shoot. // +optional SeedName *string `json:"seedName,omitempty" protobuf:"bytes,14,opt,name=seedName"` // SeedSelector is an optional selector which must match a seed's labels for the shoot to be scheduled on that seed. // +optional SeedSelector *SeedSelector `json:"seedSelector,omitempty" protobuf:"bytes,15,opt,name=seedSelector"` // Resources holds a list of named resource references that can be referred to in extension configs by their names. // +optional Resources []NamedResourceReference `json:"resources,omitempty" protobuf:"bytes,16,rep,name=resources"` // Tolerations contains the tolerations for taints on seed clusters. // +patchMergeKey=key // +patchStrategy=merge // +optional Tolerations []Toleration `json:"tolerations,omitempty" patchStrategy:"merge" patchMergeKey:"key" protobuf:"bytes,17,rep,name=tolerations"` // ExposureClassName is the optional name of an exposure class to apply a control plane endpoint exposure strategy. // This field is immutable. // +optional ExposureClassName *string `json:"exposureClassName,omitempty" protobuf:"bytes,18,opt,name=exposureClassName"` // SystemComponents contains the settings of system components in the control or data plane of the Shoot cluster. // +optional SystemComponents *SystemComponents `json:"systemComponents,omitempty" protobuf:"bytes,19,opt,name=systemComponents"` // ControlPlane contains general settings for the control plane of the shoot. // +optional ControlPlane *ControlPlane `json:"controlPlane,omitempty" protobuf:"bytes,20,opt,name=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. // +optional SchedulerName *string `json:"schedulerName,omitempty" protobuf:"bytes,21,opt,name=schedulerName"` // CloudProfile contains a reference to a CloudProfile or a NamespacedCloudProfile. // +optional CloudProfile *CloudProfileReference `json:"cloudProfile,omitempty" protobuf:"bytes,22,opt,name=cloudProfile"` // 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. // +optional CredentialsBindingName *string `json:"credentialsBindingName,omitempty" protobuf:"bytes,23,opt,name=credentialsBindingName"` // AccessRestrictions describe a list of access restrictions for this shoot cluster. // +optional AccessRestrictions []AccessRestrictionWithOptions `json:"accessRestrictions,omitempty" protobuf:"bytes,24,rep,name=accessRestrictions"` }
ShootSpec is the specification of a Shoot.
func (*ShootSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootSpec.
func (*ShootSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ShootState ¶
type ShootState struct { metav1.TypeMeta `json:",inline"` // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the ShootState. // +optional Spec ShootStateSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
ShootState contains a snapshot of the Shoot's state required to migrate the Shoot's control plane to a new Seed.
func (*ShootState) DeepCopy ¶
func (in *ShootState) DeepCopy() *ShootState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootState.
func (*ShootState) DeepCopyInto ¶
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 ¶
func (in *ShootState) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShootStateList ¶
type ShootStateList struct { metav1.TypeMeta `json:",inline"` // Standard list object metadata. // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Items is the list of ShootStates. Items []ShootState `json:"items" protobuf:"bytes,2,rep,name=items"` }
ShootStateList is a list of ShootState objects.
func (*ShootStateList) DeepCopy ¶
func (in *ShootStateList) DeepCopy() *ShootStateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStateList.
func (*ShootStateList) DeepCopyInto ¶
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 ¶
func (in *ShootStateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ShootStateSpec ¶
type ShootStateSpec struct { // Gardener holds the data required to generate resources deployed by the gardenlet // +patchMergeKey=name // +patchStrategy=merge // +optional Gardener []GardenerResourceData `json:"gardener,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,rep,name=gardener"` // Extensions holds the state of custom resources reconciled by extension controllers in the seed // +optional Extensions []ExtensionResourceState `json:"extensions,omitempty" protobuf:"bytes,2,rep,name=extensions"` // Resources holds the data of resources referred to by extension controller states // +optional Resources []ResourceData `json:"resources,omitempty" protobuf:"bytes,3,rep,name=resources"` }
ShootStateSpec is the specification of the ShootState.
func (*ShootStateSpec) DeepCopy ¶
func (in *ShootStateSpec) DeepCopy() *ShootStateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStateSpec.
func (*ShootStateSpec) DeepCopyInto ¶
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 ¶
type ShootStatus struct { // Conditions represents the latest available observations of a Shoots's current state. // +patchMergeKey=type // +patchStrategy=merge // +optional Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` // Constraints represents conditions of a Shoot's current state that constraint some operations on it. // +patchMergeKey=type // +patchStrategy=merge // +optional Constraints []Condition `json:"constraints,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=constraints"` // Gardener holds information about the Gardener which last acted on the Shoot. Gardener Gardener `json:"gardener" protobuf:"bytes,3,opt,name=gardener"` // IsHibernated indicates whether the Shoot is currently hibernated. IsHibernated bool `json:"hibernated" protobuf:"varint,4,opt,name=hibernated"` // LastOperation holds information about the last operation on the Shoot. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty" protobuf:"bytes,5,opt,name=lastOperation"` // LastErrors holds information about the last occurred error(s) during an operation. // +optional LastErrors []LastError `json:"lastErrors,omitempty" protobuf:"bytes,6,rep,name=lastErrors"` // 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. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,7,opt,name=observedGeneration"` // RetryCycleStartTime is the start time of the last retry cycle (used to determine how often an operation // must be retried until we give up). // +optional RetryCycleStartTime *metav1.Time `json:"retryCycleStartTime,omitempty" protobuf:"bytes,8,opt,name=retryCycleStartTime"` // 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. // +optional SeedName *string `json:"seedName,omitempty" protobuf:"bytes,9,opt,name=seedName"` // 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 `json:"technicalID" protobuf:"bytes,10,opt,name=technicalID"` // 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 `json:"uid" protobuf:"bytes,11,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"` // ClusterIdentity is the identity of the Shoot cluster. This field is immutable. // +optional ClusterIdentity *string `json:"clusterIdentity,omitempty" protobuf:"bytes,12,opt,name=clusterIdentity"` // List of addresses that are relevant to the shoot. // These include the Kube API server address and also the service account issuer. // +optional // +patchMergeKey=name // +patchStrategy=merge AdvertisedAddresses []ShootAdvertisedAddress `` /* 128-byte string literal not displayed */ // MigrationStartTime is the time when a migration to a different seed was initiated. // +optional MigrationStartTime *metav1.Time `json:"migrationStartTime,omitempty" protobuf:"bytes,14,opt,name=migrationStartTime"` // Credentials contains information about the shoot credentials. // +optional Credentials *ShootCredentials `json:"credentials,omitempty" protobuf:"bytes,15,opt,name=credentials"` // LastHibernationTriggerTime indicates the last time when the hibernation controller // managed to change the hibernation settings of the cluster // +optional LastHibernationTriggerTime *metav1.Time `json:"lastHibernationTriggerTime,omitempty" protobuf:"bytes,16,opt,name=lastHibernationTriggerTime"` // LastMaintenance holds information about the last maintenance operations on the Shoot. // +optional LastMaintenance *LastMaintenance `json:"lastMaintenance,omitempty" protobuf:"bytes,17,opt,name=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. // +optional EncryptedResources []string `json:"encryptedResources,omitempty" protobuf:"bytes,18,rep,name=encryptedResources"` // Networking contains information about cluster networking such as CIDRs. // +optional Networking *NetworkingStatus `json:"networking,omitempty" protobuf:"bytes,19,opt,name=networking"` }
ShootStatus holds the most recently observed status of the Shoot cluster.
func (*ShootStatus) DeepCopy ¶
func (in *ShootStatus) DeepCopy() *ShootStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootStatus.
func (*ShootStatus) DeepCopyInto ¶
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 ¶
type ShootTemplate struct { // Standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the desired behavior of the Shoot. // +optional Spec ShootSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` }
ShootTemplate is a template for creating a Shoot object.
func (*ShootTemplate) DeepCopy ¶
func (in *ShootTemplate) DeepCopy() *ShootTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShootTemplate.
func (*ShootTemplate) DeepCopyInto ¶
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 ¶
type StructuredAuthentication struct { // ConfigMapName is the name of the ConfigMap in the project namespace which contains AuthenticationConfiguration // for the kube-apiserver. ConfigMapName string `json:"configMapName" protobuf:"bytes,1,opt,name=configMapName"` }
StructuredAuthentication contains authentication config for kube-apiserver.
func (*StructuredAuthentication) DeepCopy ¶
func (in *StructuredAuthentication) DeepCopy() *StructuredAuthentication
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredAuthentication.
func (*StructuredAuthentication) DeepCopyInto ¶
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 ¶
type StructuredAuthorization struct { // ConfigMapName is the name of the ConfigMap in the project namespace which contains AuthorizationConfiguration for // the kube-apiserver. ConfigMapName string `json:"configMapName" protobuf:"bytes,1,opt,name=configMapName"` // Kubeconfigs is a list of references for kubeconfigs for the authorization webhooks. Kubeconfigs []AuthorizerKubeconfigReference `json:"kubeconfigs" protobuf:"bytes,2,rep,name=kubeconfigs"` }
StructuredAuthorization contains authorization config for kube-apiserver.
func (*StructuredAuthorization) DeepCopy ¶
func (in *StructuredAuthorization) DeepCopy() *StructuredAuthorization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StructuredAuthorization.
func (*StructuredAuthorization) DeepCopyInto ¶
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 ¶
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 limiting 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 ¶
type SystemComponents struct { // CoreDNS contains the settings of the Core DNS components running in the data plane of the Shoot cluster. // +optional CoreDNS *CoreDNS `json:"coreDNS,omitempty" protobuf:"bytes,1,opt,name=coreDNS"` // NodeLocalDNS contains the settings of the node local DNS components running in the data plane of the Shoot cluster. // +optional NodeLocalDNS *NodeLocalDNS `json:"nodeLocalDNS,omitempty" protobuf:"bytes,2,opt,name=nodeLocalDNS"` }
SystemComponents contains the settings of system components in the control or data plane of the Shoot cluster.
func (*SystemComponents) DeepCopy ¶
func (in *SystemComponents) DeepCopy() *SystemComponents
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemComponents.
func (*SystemComponents) DeepCopyInto ¶
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 ¶
type Toleration struct { // Key is the toleration key to be applied to a project or shoot. Key string `json:"key" protobuf:"bytes,1,opt,name=key"` // Value is the toleration value corresponding to the toleration key. // +optional Value *string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` }
Toleration is a toleration for a seed taint.
func (*Toleration) DeepCopy ¶
func (in *Toleration) DeepCopy() *Toleration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Toleration.
func (*Toleration) DeepCopyInto ¶
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 ¶
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 ¶
type VerticalPodAutoscaler struct { // Enabled specifies whether the Kubernetes VPA shall be enabled for the shoot cluster. Enabled bool `json:"enabled" protobuf:"varint,1,opt,name=enabled"` // 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). // +optional EvictAfterOOMThreshold *metav1.Duration `json:"evictAfterOOMThreshold,omitempty" protobuf:"bytes,2,opt,name=evictAfterOOMThreshold"` // EvictionRateBurst defines the burst of pods that can be evicted (default: 1) // +optional EvictionRateBurst *int32 `json:"evictionRateBurst,omitempty" protobuf:"varint,3,opt,name=evictionRateBurst"` // 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). // +optional EvictionRateLimit *float64 `json:"evictionRateLimit,omitempty" protobuf:"fixed64,4,opt,name=evictionRateLimit"` // 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). // +optional EvictionTolerance *float64 `json:"evictionTolerance,omitempty" protobuf:"fixed64,5,opt,name=evictionTolerance"` // RecommendationMarginFraction is the fraction of usage added as the safety margin to the recommended request // (default: 0.15). // +optional RecommendationMarginFraction *float64 `json:"recommendationMarginFraction,omitempty" protobuf:"fixed64,6,opt,name=recommendationMarginFraction"` // UpdaterInterval is the interval how often the updater should run (default: 1m0s). // +optional UpdaterInterval *metav1.Duration `json:"updaterInterval,omitempty" protobuf:"bytes,7,opt,name=updaterInterval"` // RecommenderInterval is the interval how often metrics should be fetched (default: 1m0s). // +optional RecommenderInterval *metav1.Duration `json:"recommenderInterval,omitempty" protobuf:"bytes,8,opt,name=recommenderInterval"` // 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) // +optional TargetCPUPercentile *float64 `json:"targetCPUPercentile,omitempty" protobuf:"fixed64,9,opt,name=targetCPUPercentile"` // RecommendationLowerBoundCPUPercentile is the usage percentile that will be used for the lower bound on CPU recommendation. // (default: 0.5) // +optional RecommendationLowerBoundCPUPercentile *float64 `json:"recommendationLowerBoundCPUPercentile,omitempty" protobuf:"fixed64,10,opt,name=recommendationLowerBoundCPUPercentile"` // RecommendationUpperBoundCPUPercentile is the usage percentile that will be used for the upper bound on CPU recommendation. // (default: 0.95) // +optional RecommendationUpperBoundCPUPercentile *float64 `json:"recommendationUpperBoundCPUPercentile,omitempty" protobuf:"fixed64,11,opt,name=recommendationUpperBoundCPUPercentile"` // 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) // +optional TargetMemoryPercentile *float64 `json:"targetMemoryPercentile,omitempty" protobuf:"fixed64,12,opt,name=targetMemoryPercentile"` // RecommendationLowerBoundMemoryPercentile is the usage percentile that will be used for the lower bound on memory recommendation. // (default: 0.5) // +optional RecommendationLowerBoundMemoryPercentile *float64 `` /* 129-byte string literal not displayed */ // RecommendationUpperBoundMemoryPercentile is the usage percentile that will be used for the upper bound on memory recommendation. // (default: 0.95) // +optional RecommendationUpperBoundMemoryPercentile *float64 `` /* 129-byte string literal not displayed */ // CPUHistogramDecayHalfLife is the amount of time it takes a historical CPU usage sample to lose half of its weight. // (default: 24h) // +optional CPUHistogramDecayHalfLife *metav1.Duration `json:"cpuHistogramDecayHalfLife,omitempty" protobuf:"bytes,15,opt,name=cpuHistogramDecayHalfLife"` // MemoryHistogramDecayHalfLife is the amount of time it takes a historical memory usage sample to lose half of its weight. // (default: 24h) // +optional MemoryHistogramDecayHalfLife *metav1.Duration `json:"memoryHistogramDecayHalfLife,omitempty" protobuf:"bytes,16,opt,name=memoryHistogramDecayHalfLife"` // MemoryAggregationInterval is the length of a single interval, for which the peak memory usage is computed. // (default: 24h) // +optional MemoryAggregationInterval *metav1.Duration `json:"memoryAggregationInterval,omitempty" protobuf:"bytes,17,opt,name=memoryAggregationInterval"` // MemoryAggregationIntervalCount is the number of consecutive memory-aggregation-intervals which make up the // MemoryAggregationWindowLength which in turn is the period for memory usage aggregation by VPA. In other words, // `MemoryAggregationWindowLength = memory-aggregation-interval * memory-aggregation-interval-count`. // (default: 8) // +optional MemoryAggregationIntervalCount *int64 `json:"memoryAggregationIntervalCount,omitempty" protobuf:"varint,18,opt,name=memoryAggregationIntervalCount"` }
VerticalPodAutoscaler contains the configuration flags for the Kubernetes vertical pod autoscaler.
func (*VerticalPodAutoscaler) DeepCopy ¶
func (in *VerticalPodAutoscaler) DeepCopy() *VerticalPodAutoscaler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VerticalPodAutoscaler.
func (*VerticalPodAutoscaler) DeepCopyInto ¶
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 ¶
type Volume struct { // Name of the volume to make it referenceable. // +optional Name *string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Type is the type of the volume. // +optional Type *string `json:"type,omitempty" protobuf:"bytes,2,opt,name=type"` // VolumeSize is the size of the volume. VolumeSize string `json:"size" protobuf:"bytes,3,opt,name=size"` // Encrypted determines if the volume should be encrypted. // +optional Encrypted *bool `json:"encrypted,omitempty" protobuf:"varint,4,opt,name=encrypted"` }
Volume contains information about the volume type, size, and encryption.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeType ¶
type VolumeType struct { // Class is the class of the volume type. Class string `json:"class" protobuf:"bytes,1,opt,name=class"` // Name is the name of the volume type. Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // Usable defines if the volume type can be used for shoot clusters. // +optional Usable *bool `json:"usable,omitempty" protobuf:"varint,3,opt,name=usable"` // MinSize is the minimal supported storage size. // +optional MinSize *resource.Quantity `json:"minSize,omitempty" protobuf:"bytes,4,opt,name=minSize"` }
VolumeType contains certain properties of a volume type.
func (*VolumeType) DeepCopy ¶
func (in *VolumeType) DeepCopy() *VolumeType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeType.
func (*VolumeType) DeepCopyInto ¶
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 ¶
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/ // +optional Default *int32 `json:"default,omitempty" protobuf:"varint,1,opt,name=default"` // 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/ // +optional Resources []ResourceWatchCacheSize `json:"resources,omitempty" protobuf:"bytes,2,rep,name=resources"` }
WatchCacheSizes contains configuration of the API server's watch cache sizes.
func (*WatchCacheSizes) DeepCopy ¶
func (in *WatchCacheSizes) DeepCopy() *WatchCacheSizes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatchCacheSizes.
func (*WatchCacheSizes) DeepCopyInto ¶
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 ¶
type Worker struct { // Annotations is a map of key/value pairs for annotations for all the `Node` objects in this worker pool. // +optional Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,1,rep,name=annotations"` // CABundle is a certificate bundle which will be installed onto every machine of this worker pool. // +optional CABundle *string `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"` // CRI contains configurations of CRI support of every machine in the worker pool. // Defaults to a CRI with name `containerd`. // +optional CRI *CRI `json:"cri,omitempty" protobuf:"bytes,3,opt,name=cri"` // Kubernetes contains configuration for Kubernetes components related to this worker pool. // +optional Kubernetes *WorkerKubernetes `json:"kubernetes,omitempty" protobuf:"bytes,4,opt,name=kubernetes"` // Labels is a map of key/value pairs for labels for all the `Node` objects in this worker pool. // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,5,rep,name=labels"` // Name is the name of the worker group. Name string `json:"name" protobuf:"bytes,6,opt,name=name"` // Machine contains information about the machine type and image. Machine Machine `json:"machine" protobuf:"bytes,7,opt,name=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 `json:"maximum" protobuf:"varint,8,opt,name=maximum"` // 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 `json:"minimum" protobuf:"varint,9,opt,name=minimum"` // 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. // +optional MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty" protobuf:"bytes,10,opt,name=maxSurge"` // This value is divided by the number of configured zones for a fair distribution. // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,11,opt,name=maxUnavailable"` // ProviderConfig is the provider-specific configuration for this worker pool. // +optional ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty" protobuf:"bytes,12,opt,name=providerConfig"` // Taints is a list of taints for all the `Node` objects in this worker pool. // +optional Taints []corev1.Taint `json:"taints,omitempty" protobuf:"bytes,13,rep,name=taints"` // Volume contains information about the volume type and size. // +optional Volume *Volume `json:"volume,omitempty" protobuf:"bytes,14,opt,name=volume"` // DataVolumes contains a list of additional worker volumes. // +optional DataVolumes []DataVolume `json:"dataVolumes,omitempty" protobuf:"bytes,15,rep,name=dataVolumes"` // KubeletDataVolumeName contains the name of a dataVolume that should be used for storing kubelet state. // +optional KubeletDataVolumeName *string `json:"kubeletDataVolumeName,omitempty" protobuf:"bytes,16,opt,name=kubeletDataVolumeName"` // 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. // +optional Zones []string `json:"zones,omitempty" protobuf:"bytes,17,rep,name=zones"` // SystemComponents contains configuration for system components related to this worker pool // +optional SystemComponents *WorkerSystemComponents `json:"systemComponents,omitempty" protobuf:"bytes,18,opt,name=systemComponents"` // MachineControllerManagerSettings contains configurations for different worker-pools. Eg. MachineDrainTimeout, MachineHealthTimeout. // +optional MachineControllerManagerSettings *MachineControllerManagerSettings `json:"machineControllerManager,omitempty" protobuf:"bytes,19,opt,name=machineControllerManager"` // Sysctls is a map of kernel settings to apply on all machines in this worker pool. // +optional Sysctls map[string]string `json:"sysctls,omitempty" protobuf:"bytes,20,rep,name=sysctls"` // ClusterAutoscaler contains the cluster autoscaler configurations for the worker pool. // +optional ClusterAutoscaler *ClusterAutoscalerOptions `json:"clusterAutoscaler,omitempty" protobuf:"bytes,21,opt,name=clusterAutoscaler"` // Priority (or weight) is the importance by which this worker group will be scaled by cluster autoscaling. // +optional Priority *int32 `json:"priority,omitempty" protobuf:"varint,22,opt,name=priority"` }
Worker is the base definition of a worker group.
func (*Worker) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Worker.
func (*Worker) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkerKubernetes ¶
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). // +optional Kubelet *KubeletConfig `json:"kubelet,omitempty" protobuf:"bytes,1,opt,name=kubelet"` // 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. // +optional Version *string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` }
WorkerKubernetes contains configuration for Kubernetes components related to this worker pool.
func (*WorkerKubernetes) DeepCopy ¶
func (in *WorkerKubernetes) DeepCopy() *WorkerKubernetes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerKubernetes.
func (*WorkerKubernetes) DeepCopyInto ¶
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 ¶
type WorkerSystemComponents struct { // Allow determines whether the pool should be allowed to host system components or not (defaults to true) Allow bool `json:"allow" protobuf:"bytes,1,name=allow"` }
WorkerSystemComponents contains configuration for system components related to this worker pool
func (*WorkerSystemComponents) DeepCopy ¶
func (in *WorkerSystemComponents) DeepCopy() *WorkerSystemComponents
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerSystemComponents.
func (*WorkerSystemComponents) DeepCopyInto ¶
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 ¶
type WorkersSettings struct { // SSHAccess contains settings regarding ssh access to the worker nodes. // +optional SSHAccess *SSHAccess `json:"sshAccess,omitempty" protobuf:"bytes,1,opt,name=sshAccess"` }
WorkersSettings contains settings for all workers.
func (*WorkersSettings) DeepCopy ¶
func (in *WorkersSettings) DeepCopy() *WorkersSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkersSettings.
func (*WorkersSettings) DeepCopyInto ¶
func (in *WorkersSettings) DeepCopyInto(out *WorkersSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- register.go
- types.go
- types_backupbucket.go
- types_backupentry.go
- types_cloudprofile.go
- types_common.go
- types_controllerdeployment.go
- types_controllerinstallation.go
- types_controllerregistration.go
- types_exposureclass.go
- types_internalsecret.go
- types_namespacedcloudprofile.go
- types_project.go
- types_quota.go
- types_secretbinding.go
- types_seed.go
- types_shoot.go
- types_shootstate.go
- types_utils.go
- zz_generated.deepcopy.go