v1alpha1

package
v1.88.1 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 10 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the configuration of the Gardener Operator. +groupName=operator.gardener.cloud

Index

Constants

View Source
const (
	// SecretManagerIdentityOperator is the identity for the secret manager used inside gardener-operator.
	SecretManagerIdentityOperator = "gardener-operator"

	// SecretNameCARuntime is a constant for the name of a secret containing the CA for the garden runtime cluster.
	SecretNameCARuntime = "ca-garden-runtime"
	// SecretNameCAGardener is a constant for the name of a Kubernetes secret object that contains the CA
	// certificate of the Gardener control plane.
	SecretNameCAGardener = "ca-gardener"
)
View Source
const (
	// RuntimeComponentsHealthy is a constant for a condition type indicating the runtime components health.
	RuntimeComponentsHealthy gardencorev1beta1.ConditionType = "RuntimeComponentsHealthy"
	// VirtualComponentsHealthy is a constant for a condition type indicating the virtual garden components health.
	VirtualComponentsHealthy gardencorev1beta1.ConditionType = "VirtualComponentsHealthy"
	// VirtualGardenAPIServerAvailable is a constant for a condition type indicating that the virtual garden's API server is available.
	VirtualGardenAPIServerAvailable gardencorev1beta1.ConditionType = "VirtualGardenAPIServerAvailable"
	// ObservabilityComponentsHealthy is a constant for a condition type indicating the health of observability components.
	ObservabilityComponentsHealthy gardencorev1beta1.ConditionType = "ObservabilityComponentsHealthy"
)
View Source
const FinalizerName = "gardener.cloud/operator"

FinalizerName is the name of the finalizer used by gardener-operator.

Variables

View Source
var (
	// SchemeBuilder is a new Scheme Builder which registers our API.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a reference to the Scheme Builder's AddToScheme function.
	AddToScheme = SchemeBuilder.AddToScheme
)

AvailableOperationAnnotations is the set of available operation annotations for Garden resources.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: operator.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func Kind

func Kind(kind string) schema.GroupKind

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

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AuditWebhook added in v1.68.0

type AuditWebhook struct {
	// BatchMaxSize is the maximum size of a batch.
	// +kubebuilder:default=30
	// +kubebuilder:validation:Minimum=1
	// +optional
	BatchMaxSize *int32 `json:"batchMaxSize,omitempty"`
	// KubeconfigSecretName specifies the name of a secret containing the kubeconfig for this webhook.
	// +kubebuilder:validation:MinLength=1
	KubeconfigSecretName string `json:"kubeconfigSecretName"`
	// Version is the API version to send and expect from the webhook.
	// +kubebuilder:default=audit.k8s.io/v1
	// +kubebuilder:validation:Enum=audit.k8s.io/v1
	// +optional
	Version *string `json:"version,omitempty"`
}

AuditWebhook contains settings related to an audit webhook configuration.

func (*AuditWebhook) DeepCopy added in v1.68.0

func (in *AuditWebhook) DeepCopy() *AuditWebhook

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

func (*AuditWebhook) DeepCopyInto added in v1.68.0

func (in *AuditWebhook) DeepCopyInto(out *AuditWebhook)

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

type Authentication added in v1.68.0

type Authentication struct {
	// Webhook contains settings related to an authentication webhook configuration.
	// +optional
	Webhook *AuthenticationWebhook `json:"webhook,omitempty"`
}

Authentication contains settings related to authentication.

func (*Authentication) DeepCopy added in v1.68.0

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto added in v1.68.0

func (in *Authentication) DeepCopyInto(out *Authentication)

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

type AuthenticationWebhook added in v1.68.0

type AuthenticationWebhook struct {
	// CacheTTL is the duration to cache responses from the webhook authenticator.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +optional
	CacheTTL *metav1.Duration `json:"cacheTTL,omitempty"`
	// KubeconfigSecretName specifies the name of a secret containing the kubeconfig for this webhook.
	// +kubebuilder:validation:MinLength=1
	KubeconfigSecretName string `json:"kubeconfigSecretName"`
	// Version is the API version to send and expect from the webhook.
	// +kubebuilder:default=v1beta1
	// +kubebuilder:validation:Enum=v1alpha1;v1beta1;v1
	// +optional
	Version *string `json:"version,omitempty"`
}

AuthenticationWebhook contains settings related to an authentication webhook configuration.

func (*AuthenticationWebhook) DeepCopy added in v1.68.0

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

func (*AuthenticationWebhook) DeepCopyInto added in v1.68.0

func (in *AuthenticationWebhook) DeepCopyInto(out *AuthenticationWebhook)

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

type Backup added in v1.62.0

type Backup struct {
	// Provider is a provider name. This field is immutable.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Provider is immutable"
	Provider string `json:"provider"`
	// BucketName is the name of the backup bucket.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="BucketName is immutable"
	BucketName string `json:"bucketName"`
	// 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.LocalObjectReference `json:"secretRef"`
}

Backup contains the object store configuration for backups for the virtual garden etcd.

func (*Backup) DeepCopy added in v1.62.0

func (in *Backup) DeepCopy() *Backup

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

func (*Backup) DeepCopyInto added in v1.62.0

func (in *Backup) DeepCopyInto(out *Backup)

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

type ControlPlane added in v1.63.0

type ControlPlane struct {
	// HighAvailability holds the configuration settings for high availability settings.
	// +optional
	HighAvailability *HighAvailability `json:"highAvailability,omitempty"`
}

ControlPlane holds information about the general settings for the control plane of the virtual garden cluster.

func (*ControlPlane) DeepCopy added in v1.63.0

func (in *ControlPlane) DeepCopy() *ControlPlane

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

func (*ControlPlane) DeepCopyInto added in v1.63.0

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

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

type Credentials added in v1.62.0

type Credentials struct {
	// Rotation contains information about the credential rotations.
	// +optional
	Rotation *CredentialsRotation `json:"rotation,omitempty"`
}

Credentials contains information about the virtual garden cluster credentials.

func (*Credentials) DeepCopy added in v1.62.0

func (in *Credentials) DeepCopy() *Credentials

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

func (*Credentials) DeepCopyInto added in v1.62.0

func (in *Credentials) DeepCopyInto(out *Credentials)

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

type CredentialsRotation added in v1.62.0

type CredentialsRotation struct {
	// CertificateAuthorities contains information about the certificate authority credential rotation.
	// +optional
	CertificateAuthorities *gardencorev1beta1.CARotation `json:"certificateAuthorities,omitempty"`
	// ServiceAccountKey contains information about the service account key credential rotation.
	// +optional
	ServiceAccountKey *gardencorev1beta1.ServiceAccountKeyRotation `json:"serviceAccountKey,omitempty"`
	// ETCDEncryptionKey contains information about the ETCD encryption key credential rotation.
	// +optional
	ETCDEncryptionKey *gardencorev1beta1.ETCDEncryptionKeyRotation `json:"etcdEncryptionKey,omitempty"`
	// Observability contains information about the observability credential rotation.
	// +optional
	Observability *gardencorev1beta1.ObservabilityRotation `json:"observability,omitempty"`
}

CredentialsRotation contains information about the rotation of credentials.

func (*CredentialsRotation) DeepCopy added in v1.62.0

func (in *CredentialsRotation) DeepCopy() *CredentialsRotation

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

func (*CredentialsRotation) DeepCopyInto added in v1.62.0

func (in *CredentialsRotation) DeepCopyInto(out *CredentialsRotation)

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

type DNS added in v1.68.0

type DNS struct {
	// Domains are the external domains of the virtual garden cluster.
	// The first given domain in this list is immutable.
	// +kubebuilder:validation:MinItems=1
	// +optional
	Domains []string `json:"domains,omitempty"`
}

DNS holds information about DNS settings.

func (*DNS) DeepCopy added in v1.68.0

func (in *DNS) DeepCopy() *DNS

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

func (*DNS) DeepCopyInto added in v1.68.0

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

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

type ETCD added in v1.62.0

type ETCD struct {
	// Main contains configuration for the main etcd.
	// +optional
	Main *ETCDMain `json:"main,omitempty"`
	// Events contains configuration for the events etcd.
	// +optional
	Events *ETCDEvents `json:"events,omitempty"`
}

ETCD contains configuration for the etcds of the virtual garden cluster.

func (*ETCD) DeepCopy added in v1.62.0

func (in *ETCD) DeepCopy() *ETCD

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

func (*ETCD) DeepCopyInto added in v1.62.0

func (in *ETCD) DeepCopyInto(out *ETCD)

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

type ETCDEvents added in v1.62.0

type ETCDEvents struct {
	// Storage contains storage configuration.
	// +optional
	Storage *Storage `json:"storage,omitempty"`
}

ETCDEvents contains configuration for the events etcd.

func (*ETCDEvents) DeepCopy added in v1.62.0

func (in *ETCDEvents) DeepCopy() *ETCDEvents

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

func (*ETCDEvents) DeepCopyInto added in v1.62.0

func (in *ETCDEvents) DeepCopyInto(out *ETCDEvents)

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

type ETCDMain added in v1.62.0

type ETCDMain struct {
	// Backup contains the object store configuration for backups for the virtual garden etcd.
	// +optional
	Backup *Backup `json:"backup,omitempty"`
	// Storage contains storage configuration.
	// +optional
	Storage *Storage `json:"storage,omitempty"`
}

ETCDMain contains configuration for the main etcd.

func (*ETCDMain) DeepCopy added in v1.62.0

func (in *ETCDMain) DeepCopy() *ETCDMain

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

func (*ETCDMain) DeepCopyInto added in v1.62.0

func (in *ETCDMain) DeepCopyInto(out *ETCDMain)

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

type Garden

type Garden struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec contains the specification of this garden.
	Spec GardenSpec `json:"spec,omitempty"`
	// Status contains the status of this garden.
	Status GardenStatus `json:"status,omitempty"`
}

Garden describes a list of gardens.

func (*Garden) DeepCopy

func (in *Garden) DeepCopy() *Garden

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

func (*Garden) DeepCopyInto

func (in *Garden) DeepCopyInto(out *Garden)

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

func (*Garden) DeepCopyObject

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

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

type GardenList

type GardenList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// Items is the list of Garden.
	Items []Garden `json:"items"`
}

GardenList is a list of Garden resources.

func (*GardenList) DeepCopy

func (in *GardenList) DeepCopy() *GardenList

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

func (*GardenList) DeepCopyInto

func (in *GardenList) DeepCopyInto(out *GardenList)

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

func (*GardenList) DeepCopyObject

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

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

type GardenSpec

type GardenSpec struct {
	// RuntimeCluster contains configuration for the runtime cluster.
	RuntimeCluster RuntimeCluster `json:"runtimeCluster"`
	// VirtualCluster contains configuration for the virtual cluster.
	VirtualCluster VirtualCluster `json:"virtualCluster"`
}

GardenSpec contains the specification of a garden environment.

func (*GardenSpec) DeepCopy

func (in *GardenSpec) DeepCopy() *GardenSpec

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

func (*GardenSpec) DeepCopyInto

func (in *GardenSpec) DeepCopyInto(out *GardenSpec)

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

type GardenStatus

type GardenStatus struct {
	// Gardener holds information about the Gardener which last acted on the Garden.
	// +optional
	Gardener *gardencorev1beta1.Gardener `json:"gardener,omitempty"`
	// Conditions is a list of conditions.
	Conditions []gardencorev1beta1.Condition `json:"conditions,omitempty"`
	// LastOperation holds information about the last operation on the Garden.
	// +optional
	LastOperation *gardencorev1beta1.LastOperation `json:"lastOperation,omitempty"`
	// ObservedGeneration is the most recent generation observed for this resource.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Credentials contains information about the virtual garden cluster credentials.
	// +optional
	Credentials *Credentials `json:"credentials,omitempty"`
	// EncryptedResources is the list of resources which are currently encrypted in the virtual garden by the virtual kube-apiserver.
	// Resources which are encrypted by default will not appear here.
	// See https://github.com/gardener/gardener/blob/master/docs/concepts/operator.md#etcd-encryption-config for more details.
	// +optional
	EncryptedResources []string `json:"encryptedResources,omitempty"`
}

GardenStatus is the status of a garden environment.

func (*GardenStatus) DeepCopy

func (in *GardenStatus) DeepCopy() *GardenStatus

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

func (*GardenStatus) DeepCopyInto

func (in *GardenStatus) DeepCopyInto(out *GardenStatus)

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

type Gardener added in v1.76.0

type Gardener struct {
	// ClusterIdentity is the identity of the garden cluster. This field is immutable.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	ClusterIdentity string `json:"clusterIdentity"`
	// APIServer contains configuration settings for the gardener-apiserver.
	// +optional
	APIServer *GardenerAPIServerConfig `json:"gardenerAPIServer,omitempty"`
	// AdmissionController contains configuration settings for the gardener-admission-controller.
	// +optional
	AdmissionController *GardenerAdmissionControllerConfig `json:"gardenerAdmissionController,omitempty"`
	// ControllerManager contains configuration settings for the gardener-controller-manager.
	// +optional
	ControllerManager *GardenerControllerManagerConfig `json:"gardenerControllerManager,omitempty"`
	// Scheduler contains configuration settings for the gardener-scheduler.
	// +optional
	Scheduler *GardenerSchedulerConfig `json:"gardenerScheduler,omitempty"`
}

Gardener contains the configuration settings for the Gardener components.

func (*Gardener) DeepCopy added in v1.76.0

func (in *Gardener) DeepCopy() *Gardener

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

func (*Gardener) DeepCopyInto added in v1.76.0

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

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

type GardenerAPIServerConfig added in v1.76.0

type GardenerAPIServerConfig struct {
	gardencorev1beta1.KubernetesConfig `json:",inline"`
	// AdmissionPlugins contains the list of user-defined admission plugins (additional to those managed by Gardener),
	// and, if desired, the corresponding configuration.
	// +optional
	AdmissionPlugins []gardencorev1beta1.AdmissionPlugin `json:"admissionPlugins,omitempty"`
	// AuditConfig contains configuration settings for the audit of the kube-apiserver.
	// +optional
	AuditConfig *gardencorev1beta1.AuditConfig `json:"auditConfig,omitempty"`
	// AuditWebhook contains settings related to an audit webhook configuration.
	// +optional
	AuditWebhook *AuditWebhook `json:"auditWebhook,omitempty"`
	// Logging contains configuration for the log level and HTTP access logs.
	// +optional
	Logging *gardencorev1beta1.APIServerLogging `json:"logging,omitempty"`
	// Requests contains configuration for request-specific settings for the kube-apiserver.
	// +optional
	Requests *gardencorev1beta1.APIServerRequests `json:"requests,omitempty"`
	// WatchCacheSizes contains configuration of the API server's watch cache sizes.
	// Configuring these flags might be useful for large-scale Garden 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 *gardencorev1beta1.WatchCacheSizes `json:"watchCacheSizes,omitempty"`
	// EncryptionConfig contains customizable encryption configuration of the Gardener API server.
	// +optional
	EncryptionConfig *gardencorev1beta1.EncryptionConfig `json:"encryptionConfig,omitempty"`
}

GardenerAPIServerConfig contains configuration settings for the gardener-apiserver.

func (*GardenerAPIServerConfig) DeepCopy added in v1.76.0

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

func (*GardenerAPIServerConfig) DeepCopyInto added in v1.76.0

func (in *GardenerAPIServerConfig) DeepCopyInto(out *GardenerAPIServerConfig)

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

type GardenerAdmissionControllerConfig added in v1.77.0

type GardenerAdmissionControllerConfig struct {
	// LogLevel is the configured log level for the gardener-admission-controller. Must be one of [info,debug,error].
	// Defaults to info.
	// +kubebuilder:validation:Enum=info;debug;error
	// +kubebuilder:default=info
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// ResourceAdmissionConfiguration is the configuration for resource size restrictions for arbitrary Group-Version-Kinds.
	// +optional
	ResourceAdmissionConfiguration *ResourceAdmissionConfiguration `json:"resourceAdmissionConfiguration,omitempty"`
}

GardenerAdmissionControllerConfig contains configuration settings for the gardener-admission-controller.

func (*GardenerAdmissionControllerConfig) DeepCopy added in v1.77.0

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

func (*GardenerAdmissionControllerConfig) DeepCopyInto added in v1.77.0

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

type GardenerControllerManagerConfig added in v1.76.0

type GardenerControllerManagerConfig struct {
	gardencorev1beta1.KubernetesConfig `json:",inline"`
	// DefaultProjectQuotas is the default configuration matching projects are set up with if a quota is not already
	// specified.
	// +optional
	DefaultProjectQuotas []ProjectQuotaConfiguration `json:"defaultProjectQuotas,omitempty"`
	// LogLevel is the configured log level for the gardener-controller-manager. Must be one of [info,debug,error].
	// Defaults to info.
	// +kubebuilder:validation:Enum=info;debug;error
	// +kubebuilder:default=info
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
}

GardenerControllerManagerConfig contains configuration settings for the gardener-controller-manager.

func (*GardenerControllerManagerConfig) DeepCopy added in v1.76.0

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

func (*GardenerControllerManagerConfig) DeepCopyInto added in v1.76.0

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

type GardenerSchedulerConfig added in v1.76.0

type GardenerSchedulerConfig struct {
	gardencorev1beta1.KubernetesConfig `json:",inline"`
	// LogLevel is the configured log level for the gardener-scheduler. Must be one of [info,debug,error].
	// Defaults to info.
	// +kubebuilder:validation:Enum=info;debug;error
	// +kubebuilder:default=info
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
}

GardenerSchedulerConfig contains configuration settings for the gardener-scheduler.

func (*GardenerSchedulerConfig) DeepCopy added in v1.76.0

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

func (*GardenerSchedulerConfig) DeepCopyInto added in v1.76.0

func (in *GardenerSchedulerConfig) DeepCopyInto(out *GardenerSchedulerConfig)

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

type GroupResource added in v1.68.0

type GroupResource struct {
	// Group is the API group name.
	// +kubebuilder:validation:MinLength=1
	Group string `json:"group"`
	// Resource is the resource name.
	// +kubebuilder:validation:MinLength=1
	Resource string `json:"resource"`
}

GroupResource contains a list of resources which should be stored in etcd-events instead of etcd-main.

func (*GroupResource) DeepCopy added in v1.68.0

func (in *GroupResource) DeepCopy() *GroupResource

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

func (*GroupResource) DeepCopyInto added in v1.68.0

func (in *GroupResource) DeepCopyInto(out *GroupResource)

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

type HighAvailability added in v1.63.0

type HighAvailability struct{}

HighAvailability specifies the configuration settings for high availability for a resource.

func (*HighAvailability) DeepCopy added in v1.63.0

func (in *HighAvailability) DeepCopy() *HighAvailability

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

func (*HighAvailability) DeepCopyInto added in v1.63.0

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

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

type KubeAPIServerConfig added in v1.68.0

type KubeAPIServerConfig struct {
	// KubeAPIServerConfig contains all configuration values not specific to the virtual garden cluster.
	// +optional
	*gardencorev1beta1.KubeAPIServerConfig `json:",inline"`
	// AuditWebhook contains settings related to an audit webhook configuration.
	// +optional
	AuditWebhook *AuditWebhook `json:"auditWebhook,omitempty"`
	// Authentication contains settings related to authentication.
	// +optional
	Authentication *Authentication `json:"authentication,omitempty"`
	// ResourcesToStoreInETCDEvents contains a list of resources which should be stored in etcd-events instead of
	// etcd-main. The 'events' resource is always stored in etcd-events. Note that adding or removing resources from
	// this list will not migrate them automatically from the etcd-main to etcd-events or vice versa.
	// +optional
	ResourcesToStoreInETCDEvents []GroupResource `json:"resourcesToStoreInETCDEvents,omitempty"`
	// SNI contains configuration options for the TLS SNI settings.
	// +optional
	SNI *SNI `json:"sni,omitempty"`
}

KubeAPIServerConfig contains configuration settings for the kube-apiserver.

func (*KubeAPIServerConfig) DeepCopy added in v1.68.0

func (in *KubeAPIServerConfig) DeepCopy() *KubeAPIServerConfig

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

func (*KubeAPIServerConfig) DeepCopyInto added in v1.68.0

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

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

type KubeControllerManagerConfig added in v1.71.0

type KubeControllerManagerConfig struct {
	// KubeControllerManagerConfig contains all configuration values not specific to the virtual garden cluster.
	// +optional
	*gardencorev1beta1.KubeControllerManagerConfig `json:",inline"`
	// CertificateSigningDuration is the maximum length of duration signed certificates will be given. Individual CSRs
	// may request shorter certs by setting `spec.expirationSeconds`.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +kubebuilder:default=`48h`
	// +optional
	CertificateSigningDuration *metav1.Duration `json:"certificateSigningDuration,omitempty"`
}

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

func (*KubeControllerManagerConfig) DeepCopy added in v1.71.0

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

func (*KubeControllerManagerConfig) DeepCopyInto added in v1.71.0

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

type Kubernetes added in v1.68.0

type Kubernetes struct {
	// KubeAPIServer contains configuration settings for the kube-apiserver.
	// +optional
	KubeAPIServer *KubeAPIServerConfig `json:"kubeAPIServer,omitempty"`
	// KubeControllerManager contains configuration settings for the kube-controller-manager.
	// +optional
	KubeControllerManager *KubeControllerManagerConfig `json:"kubeControllerManager,omitempty"`
	// Version is the semantic Kubernetes version to use for the virtual garden cluster.
	// +kubebuilder:validation:MinLength=1
	Version string `json:"version"`
}

Kubernetes contains the version and configuration options for the Kubernetes components of the virtual garden cluster.

func (*Kubernetes) DeepCopy added in v1.68.0

func (in *Kubernetes) DeepCopy() *Kubernetes

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

func (*Kubernetes) DeepCopyInto added in v1.68.0

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

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

type Maintenance added in v1.62.0

type Maintenance struct {
	// TimeWindow contains information about the time window for maintenance operations.
	TimeWindow gardencorev1beta1.MaintenanceTimeWindow `json:"timeWindow"`
}

Maintenance contains information about the time window for maintenance operations.

func (*Maintenance) DeepCopy added in v1.62.0

func (in *Maintenance) DeepCopy() *Maintenance

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

func (*Maintenance) DeepCopyInto added in v1.62.0

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

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

type Networking added in v1.68.0

type Networking struct {
	// Services is the CIDR of the service network. This field is immutable.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Services string `json:"services"`
}

Networking defines networking parameters for the virtual garden cluster.

func (*Networking) DeepCopy added in v1.68.0

func (in *Networking) DeepCopy() *Networking

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

func (*Networking) DeepCopyInto added in v1.68.0

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

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

type ProjectQuotaConfiguration added in v1.76.0

type ProjectQuotaConfiguration struct {
	// Config is the quota specification used for the project set-up.
	// Only v1.ResourceQuota resources are supported.
	Config runtime.RawExtension `json:"config"`
	// ProjectSelector is an optional setting to select the projects considered for quotas.
	// Defaults to empty LabelSelector, which matches all projects.
	// +optional
	ProjectSelector *metav1.LabelSelector `json:"projectSelector,omitempty"`
}

ProjectQuotaConfiguration defines quota configurations.

func (*ProjectQuotaConfiguration) DeepCopy added in v1.76.0

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

func (*ProjectQuotaConfiguration) DeepCopyInto added in v1.76.0

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

type Provider

type Provider struct {
	// Zones is the list of availability zones the cluster is deployed to.
	// +optional
	Zones []string `json:"zones,omitempty"`
}

Provider defines the provider-specific information for this cluster.

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

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

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

type ResourceAdmissionConfiguration added in v1.77.0

type ResourceAdmissionConfiguration struct {
	// Limits contains configuration for resources which are subjected to size limitations.
	Limits []ResourceLimit `json:"limits"`
	// UnrestrictedSubjects contains references to users, groups, or service accounts which aren't subjected to any resource size limit.
	// +optional
	UnrestrictedSubjects []rbacv1.Subject `json:"unrestrictedSubjects,omitempty"`
	// OperationMode specifies the mode the webhooks operates in. Allowed values are "block" and "log". Defaults to "block".
	// +optional
	OperationMode *ResourceAdmissionWebhookMode `json:"operationMode,omitempty"`
}

ResourceAdmissionConfiguration contains settings about arbitrary kinds and the size each resource should have at most.

func (*ResourceAdmissionConfiguration) DeepCopy added in v1.77.0

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

func (*ResourceAdmissionConfiguration) DeepCopyInto added in v1.77.0

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

type ResourceAdmissionWebhookMode added in v1.77.0

type ResourceAdmissionWebhookMode string

ResourceAdmissionWebhookMode is an alias type for the resource admission webhook mode.

type ResourceLimit added in v1.77.0

type ResourceLimit struct {
	// APIGroups is the name of the APIGroup that contains the limited resource. WildcardAll represents all groups.
	// +optional
	APIGroups []string `json:"apiGroups,omitempty"`
	// APIVersions is the version of the resource. WildcardAll represents all versions.
	// +optional
	APIVersions []string `json:"apiVersions,omitempty"`
	// Resources is the name of the resource this rule applies to. WildcardAll represents all resources.
	Resources []string `json:"resources"`
	// Size specifies the imposed limit.
	Size resource.Quantity `json:"size"`
}

ResourceLimit contains settings about a kind and the size each resource should have at most.

func (*ResourceLimit) DeepCopy added in v1.77.0

func (in *ResourceLimit) DeepCopy() *ResourceLimit

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

func (*ResourceLimit) DeepCopyInto added in v1.77.0

func (in *ResourceLimit) DeepCopyInto(out *ResourceLimit)

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

type RuntimeCluster

type RuntimeCluster struct {
	// Ingress configures Ingress specific settings for the Garden cluster. This field is immutable.
	Ingress gardencorev1beta1.Ingress `json:"ingress"`
	// Networking defines the networking configuration of the runtime cluster.
	Networking RuntimeNetworking `json:"networking"`
	// Provider defines the provider-specific information for this cluster.
	Provider Provider `json:"provider"`
	// Settings contains certain settings for this cluster.
	// +optional
	Settings *Settings `json:"settings,omitempty"`
}

RuntimeCluster contains configuration for the runtime cluster.

func (*RuntimeCluster) DeepCopy

func (in *RuntimeCluster) DeepCopy() *RuntimeCluster

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

func (*RuntimeCluster) DeepCopyInto

func (in *RuntimeCluster) DeepCopyInto(out *RuntimeCluster)

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

type RuntimeNetworking added in v1.71.0

type RuntimeNetworking struct {
	// Nodes is the CIDR of the node network. This field is immutable.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +optional
	Nodes *string `json:"nodes,omitempty"`
	// Pods is the CIDR of the pod network. This field is immutable.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Pods string `json:"pods"`
	// Services is the CIDR of the service network. This field is immutable.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	Services string `json:"services"`
	// BlockCIDRs is a list of network addresses that should be blocked.
	// +optional
	BlockCIDRs []string `json:"blockCIDRs,omitempty"`
}

RuntimeNetworking defines the networking configuration of the runtime cluster.

func (*RuntimeNetworking) DeepCopy added in v1.71.0

func (in *RuntimeNetworking) DeepCopy() *RuntimeNetworking

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

func (*RuntimeNetworking) DeepCopyInto added in v1.71.0

func (in *RuntimeNetworking) DeepCopyInto(out *RuntimeNetworking)

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

type SNI added in v1.68.0

type SNI struct {
	// SecretName is the name of a secret containing the TLS certificate and private key.
	// +kubebuilder:validation:MinLength=1
	SecretName string `json:"secretName"`
	// DomainPatterns is a list of fully qualified domain names, possibly with prefixed wildcard segments. The domain
	// patterns also allow IP addresses, but IPs should only be used if the apiserver has visibility to the IP address
	// requested by a client. If no domain patterns are provided, the names of the certificate are extracted.
	// Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names.
	// +optional
	DomainPatterns []string `json:"domainPatterns,omitempty"`
}

SNI contains configuration options for the TLS SNI settings.

func (*SNI) DeepCopy added in v1.68.0

func (in *SNI) DeepCopy() *SNI

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

func (*SNI) DeepCopyInto added in v1.68.0

func (in *SNI) DeepCopyInto(out *SNI)

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

type SettingLoadBalancerServices added in v1.63.0

type SettingLoadBalancerServices 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"`
}

SettingLoadBalancerServices controls certain settings for services of type load balancer that are created in the runtime cluster.

func (*SettingLoadBalancerServices) DeepCopy added in v1.63.0

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

func (*SettingLoadBalancerServices) DeepCopyInto added in v1.63.0

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

type SettingTopologyAwareRouting added in v1.68.0

type SettingTopologyAwareRouting struct {
	// Enabled controls whether certain Services deployed in the cluster should be topology-aware.
	// These Services are virtual-garden-etcd-main-client, virtual-garden-etcd-events-client and virtual-garden-kube-apiserver.
	// Additionally, other components that are deployed to the runtime cluster via other means can read this field and
	// according to its value enable/disable topology-aware routing for their Services.
	Enabled bool `json:"enabled"`
}

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

func (*SettingTopologyAwareRouting) DeepCopy added in v1.68.0

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

func (*SettingTopologyAwareRouting) DeepCopyInto added in v1.68.0

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

type SettingVerticalPodAutoscaler

type SettingVerticalPodAutoscaler struct {
	// Enabled controls whether the VPA components shall be deployed into this cluster. It is true by default because
	// the operator (and Gardener) heavily rely on a VPA being deployed. You should only disable this if your runtime
	// cluster already has another, manually/custom managed VPA deployment. If this is not the case, but you still
	// disable it, then reconciliation will fail.
	// +kubebuilder:default=true
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
}

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

func (*SettingVerticalPodAutoscaler) DeepCopy

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

func (*SettingVerticalPodAutoscaler) DeepCopyInto

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

type Settings

type Settings struct {
	// LoadBalancerServices controls certain settings for services of type load balancer that are created in the runtime
	// cluster.
	// +optional
	LoadBalancerServices *SettingLoadBalancerServices `json:"loadBalancerServices,omitempty"`
	// VerticalPodAutoscaler controls certain settings for the vertical pod autoscaler components deployed in the
	// cluster.
	// +optional
	VerticalPodAutoscaler *SettingVerticalPodAutoscaler `json:"verticalPodAutoscaler,omitempty"`
	// TopologyAwareRouting controls certain settings for topology-aware traffic routing in the cluster.
	// See https://github.com/gardener/gardener/blob/master/docs/operations/topology_aware_routing.md.
	// +optional
	TopologyAwareRouting *SettingTopologyAwareRouting `json:"topologyAwareRouting,omitempty"`
}

Settings contains certain settings for this cluster.

func (*Settings) DeepCopy

func (in *Settings) DeepCopy() *Settings

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

func (*Settings) DeepCopyInto

func (in *Settings) DeepCopyInto(out *Settings)

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

type Storage added in v1.62.0

type Storage struct {
	// Capacity is the storage capacity for the volumes.
	// +kubebuilder:default=`10Gi`
	// +optional
	Capacity *resource.Quantity `json:"capacity,omitempty"`
	// ClassName is the name of a storage class.
	// +optional
	ClassName *string `json:"className,omitempty"`
}

Storage contains storage configuration.

func (*Storage) DeepCopy added in v1.62.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v1.62.0

func (in *Storage) DeepCopyInto(out *Storage)

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

type VirtualCluster added in v1.62.0

type VirtualCluster struct {
	// ControlPlane holds information about the general settings for the control plane of the virtual cluster.
	// +optional
	ControlPlane *ControlPlane `json:"controlPlane,omitempty"`
	// DNS holds information about DNS settings.
	DNS DNS `json:"dns"`
	// ETCD contains configuration for the etcds of the virtual garden cluster.
	// +optional
	ETCD *ETCD `json:"etcd,omitempty"`
	// Gardener contains the configuration options for the Gardener control plane components.
	Gardener Gardener `json:"gardener"`
	// Kubernetes contains the version and configuration options for the Kubernetes components of the virtual garden
	// cluster.
	Kubernetes Kubernetes `json:"kubernetes"`
	// Maintenance contains information about the time window for maintenance operations.
	Maintenance Maintenance `json:"maintenance"`
	// Networking contains information about cluster networking such as CIDRs, etc.
	Networking Networking `json:"networking"`
}

VirtualCluster contains configuration for the virtual cluster.

func (*VirtualCluster) DeepCopy added in v1.62.0

func (in *VirtualCluster) DeepCopy() *VirtualCluster

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

func (*VirtualCluster) DeepCopyInto added in v1.62.0

func (in *VirtualCluster) DeepCopyInto(out *VirtualCluster)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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