v1alpha1

package
v1.105.2 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2024 License: Apache-2.0 Imports: 12 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"
	// SecretNameWorkloadIdentityKey is a constant for the name of a Kubernetes secret object that contains a
	// PEM-encoded private RSA or ECDSA key used by the Gardener API Server to sign workload identity tokens.
	SecretNameWorkloadIdentityKey = "gardener-apiserver-workload-identity-signing-key"

	// LabelKeyGardenletAutoUpdates is a key for a label on seedmanagement.gardener.cloud/v1alpha1.Gardenlet resources.
	// If set to true, gardener-operator will automatically update the `.spec.deployment.helm.ociRepository.ref` field
	// to its own version after a successful operator.gardener.cloud/v1alpha1.Garden reconciliation.
	LabelKeyGardenletAutoUpdates = "operator.gardener.cloud/auto-update-gardenlet-helm-chart-ref"

	// OperationRotateWorkloadIdentityKeyStart is a constant for an annotation on a Garden indicating that the
	// rotation of the workload identity signing key shall be started.
	OperationRotateWorkloadIdentityKeyStart = "rotate-workload-identity-key-start"
	// OperationRotateWorkloadIdentityKeyComplete is a constant for an annotation on a Shoot indicating that the
	// rotation of the workload identity signing key shall be completed.
	OperationRotateWorkloadIdentityKeyComplete = "rotate-workload-identity-key-complete"
)
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 = v1beta1constants.ObservabilityComponentsHealthy
)
View Source
const (
	// ExtensionInstalled is a condition type for indicating whether the extension has been installed.
	ExtensionInstalled gardencorev1beta1.ConditionType = "Installed"
)
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 ACMEIssuer added in v1.99.0

type ACMEIssuer struct {
	// Email is the e-mail for the ACME user.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_\-\.]+\.[a-zA-Z0-9_\-]+$`
	Email string `json:"email"`
	// Server is the ACME server endpoint.
	// +kubebuilder:validation:MinLength=1
	Server string `json:"server"`
	// SecretRef is a reference to a secret containing a private key of the issuer (data key 'privateKey').
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`
	// PrecheckNameservers overwrites the default precheck nameservers used for checking DNS propagation.
	// Format `host` or `host:port`, e.g. "8.8.8.8" same as "8.8.8.8:53" or "google-public-dns-a.google.com:53".
	// +optional
	PrecheckNameservers []string `json:"precheckNameservers,omitempty"`
}

ACMEIssuer specifies an issuer using an ACME server.

func (*ACMEIssuer) DeepCopy added in v1.99.0

func (in *ACMEIssuer) DeepCopy() *ACMEIssuer

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

func (*ACMEIssuer) DeepCopyInto added in v1.99.0

func (in *ACMEIssuer) DeepCopyInto(out *ACMEIssuer)

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

type AdmissionDeploymentSpec added in v1.98.0

type AdmissionDeploymentSpec struct {
	// RuntimeCluster is the deployment configuration for the admission in the runtime cluster. The runtime deployment
	// is responsible for creating the admission controller in the runtime cluster.
	// +optional
	RuntimeCluster *DeploymentSpec `json:"runtimeCluster,omitempty"`
	// VirtualCluster is the deployment configuration for the admission deployment in the garden cluster. The garden deployment
	// installs necessary resources in the virtual garden cluster e.g. RBAC that are necessary for the admission controller.
	// +optional
	VirtualCluster *DeploymentSpec `json:"virtualCluster,omitempty"`
	// Values are the deployment values. The values will be applied to both admission deployments.
	// +optional
	Values *apiextensionsv1.JSON `json:"values,omitempty"`
}

AdmissionDeploymentSpec contains the deployment specification for the admission controller of an extension.

func (*AdmissionDeploymentSpec) DeepCopy added in v1.98.0

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

func (*AdmissionDeploymentSpec) DeepCopyInto added in v1.98.0

func (in *AdmissionDeploymentSpec) DeepCopyInto(out *AdmissionDeploymentSpec)

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

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

type CAIssuer struct {
	// SecretRef is a reference to a TLS secret containing the CA for signing certificates.
	SecretRef corev1.LocalObjectReference `json:"secretRef"`
}

CAIssuer specifies an issuer using a root or intermediate CA to be used for signing.

func (*CAIssuer) DeepCopy added in v1.99.0

func (in *CAIssuer) DeepCopy() *CAIssuer

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

func (*CAIssuer) DeepCopyInto added in v1.99.0

func (in *CAIssuer) DeepCopyInto(out *CAIssuer)

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

type CertManagement added in v1.99.0

type CertManagement struct {
	// Config contains configuration for deploying the cert-controller-manager.
	// +optional
	Config *CertManagementConfig `json:"config,omitempty"`
	// DefaultIssuer is the default issuer used for requesting TLS certificates.
	DefaultIssuer DefaultIssuer `json:"defaultIssuer"`
}

CertManagement configures the cert-management component for issuing TLS certificates from an ACME server.

func (*CertManagement) DeepCopy added in v1.99.0

func (in *CertManagement) DeepCopy() *CertManagement

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

func (*CertManagement) DeepCopyInto added in v1.99.0

func (in *CertManagement) DeepCopyInto(out *CertManagement)

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

type CertManagementConfig added in v1.99.0

type CertManagementConfig struct {
	// CACertificatesSecretRef are additional root certificates to access ACME servers with private TLS certificates.
	// The certificates are expected at key 'bundle.crt'.
	// +optional
	CACertificatesSecretRef *corev1.LocalObjectReference `json:"caCertificatesSecretRef,omitempty"`
}

CertManagementConfig contains information for deploying the cert-controller-manager.

func (*CertManagementConfig) DeepCopy added in v1.99.0

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

func (*CertManagementConfig) DeepCopyInto added in v1.99.0

func (in *CertManagementConfig) DeepCopyInto(out *CertManagementConfig)

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"`
	// WorkloadIdentityKey contains information about the workload identity key credential rotation.
	// +optional
	WorkloadIdentityKey *WorkloadIdentityKeyRotation `json:"workloadIdentityKey,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 DashboardGitHub added in v1.94.0

type DashboardGitHub struct {
	// APIURL is the URL to the GitHub API.
	// +kubebuilder:default=`https://api.github.com`
	// +kubebuilder:validation:MinLength=1
	APIURL string `json:"apiURL"`
	// Organisation is the name of the GitHub organisation.
	// +kubebuilder:validation:MinLength=1
	Organisation string `json:"organisation"`
	// Repository is the name of the GitHub repository.
	// +kubebuilder:validation:MinLength=1
	Repository string `json:"repository"`
	// SecretRef is the reference to a secret in the garden namespace containing the GitHub credentials.
	SecretRef corev1.LocalObjectReference `json:"secretRef"`
	// PollInterval is the interval of how often the GitHub API is polled for issue updates. This field is used as a
	// fallback mechanism to ensure state synchronization, even when there is a GitHub webhook configuration. If a
	// webhook event is missed or not successfully delivered, the polling will help catch up on any missed updates.
	// If this field is not provided and there is no 'webhookSecret' key in the referenced secret, it will be
	// implicitly defaulted to `15m`.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +optional
	PollInterval *metav1.Duration `json:"pollInterval,omitempty"`
}

DashboardGitHub contains configuration for the GitHub ticketing feature.

func (*DashboardGitHub) DeepCopy added in v1.94.0

func (in *DashboardGitHub) DeepCopy() *DashboardGitHub

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

func (*DashboardGitHub) DeepCopyInto added in v1.94.0

func (in *DashboardGitHub) DeepCopyInto(out *DashboardGitHub)

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

type DashboardOIDC added in v1.94.0

type DashboardOIDC struct {
	// SessionLifetime is the maximum duration of a session.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$"
	// +optional
	SessionLifetime *metav1.Duration `json:"sessionLifetime,omitempty"`
	// AdditionalScopes is the list of additional OIDC scopes.
	// +optional
	AdditionalScopes []string `json:"additionalScopes,omitempty"`
	// SecretRef is the reference to a secret in the garden namespace containing the OIDC client ID and secret for the dashboard.
	SecretRef corev1.LocalObjectReference `json:"secretRef"`
}

DashboardOIDC contains configuration for the OIDC settings.

func (*DashboardOIDC) DeepCopy added in v1.94.0

func (in *DashboardOIDC) DeepCopy() *DashboardOIDC

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

func (*DashboardOIDC) DeepCopyInto added in v1.94.0

func (in *DashboardOIDC) DeepCopyInto(out *DashboardOIDC)

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

type DashboardTerminal added in v1.94.0

type DashboardTerminal struct {
	// Container contains configuration for the dashboard terminal container.
	Container DashboardTerminalContainer `json:"container"`
	// AllowedHosts should consist of permitted hostnames (without the scheme) for terminal connections.
	// It is important to consider that the usage of wildcards follows the rules defined by the content security policy.
	// '*.seed.local.gardener.cloud', or '*.other-seeds.local.gardener.cloud'. For more information, see
	// https://github.com/gardener/dashboard/blob/master/docs/operations/webterminals.md#allowlist-for-hosts.
	// +optional
	AllowedHosts []string `json:"allowedHosts,omitempty"`
}

DashboardTerminal contains configuration for the terminal settings.

func (*DashboardTerminal) DeepCopy added in v1.94.0

func (in *DashboardTerminal) DeepCopy() *DashboardTerminal

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

func (*DashboardTerminal) DeepCopyInto added in v1.94.0

func (in *DashboardTerminal) DeepCopyInto(out *DashboardTerminal)

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

type DashboardTerminalContainer added in v1.94.0

type DashboardTerminalContainer struct {
	// Image is the container image for the dashboard terminal container.
	Image string `json:"image"`
	// Description is a description for the dashboard terminal container with hints for the user.
	// +optional
	Description *string `json:"description,omitempty"`
}

DashboardTerminalContainer contains configuration for the dashboard terminal container.

func (*DashboardTerminalContainer) DeepCopy added in v1.94.0

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

func (*DashboardTerminalContainer) DeepCopyInto added in v1.94.0

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

type DefaultIssuer added in v1.99.0

type DefaultIssuer struct {
	// ACME is the ACME protocol specific spec. Either ACME or CA must be specified.
	// +optional
	ACME *ACMEIssuer `json:"acme,omitempty"`
	// CA is the CA specific spec. Either ACME or CA must be specified.
	// +optional
	CA *CAIssuer `json:"ca,omitempty"`
}

DefaultIssuer specifies an issuer to be created on the cluster.

func (*DefaultIssuer) DeepCopy added in v1.99.0

func (in *DefaultIssuer) DeepCopy() *DefaultIssuer

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

func (*DefaultIssuer) DeepCopyInto added in v1.99.0

func (in *DefaultIssuer) DeepCopyInto(out *DefaultIssuer)

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

type Deployment added in v1.98.0

type Deployment struct {
	// ExtensionDeployment contains the deployment configuration an extension.
	// +optional
	ExtensionDeployment *ExtensionDeploymentSpec `json:"extension,omitempty"`
	// AdmissionDeployment contains the deployment configuration for an admission controller.
	// +optional
	AdmissionDeployment *AdmissionDeploymentSpec `json:"admission,omitempty"`
}

Deployment specifies how an extension can be installed for a Gardener landscape. It includes the specification for installing an extension and/or an admission controller.

func (*Deployment) DeepCopy added in v1.98.0

func (in *Deployment) DeepCopy() *Deployment

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

func (*Deployment) DeepCopyInto added in v1.98.0

func (in *Deployment) DeepCopyInto(out *Deployment)

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

type DeploymentSpec added in v1.98.0

type DeploymentSpec struct {
	// Helm contains the specification for a Helm deployment.
	Helm *ExtensionHelm `json:"helm,omitempty"`
}

DeploymentSpec is the specification for the deployment of a component.

func (*DeploymentSpec) DeepCopy added in v1.98.0

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto added in v1.98.0

func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)

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

type Extension struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec contains the specification of this extension.
	Spec ExtensionSpec `json:"spec,omitempty"`
	// Status contains the status of this extension.
	Status ExtensionStatus `json:"status,omitempty"`
}

Extension describes a Gardener extension.

func (*Extension) DeepCopy added in v1.98.0

func (in *Extension) DeepCopy() *Extension

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

func (*Extension) DeepCopyInto added in v1.98.0

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

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

func (*Extension) DeepCopyObject added in v1.98.0

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

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

type ExtensionDeploymentSpec added in v1.98.0

type ExtensionDeploymentSpec struct {
	// DeploymentSpec is the deployment configuration for the extension.
	// +optional
	DeploymentSpec `json:",inline"`
	// Values are the deployment values used in the creation of the ControllerDeployment in the virtual garden cluster.
	// +optional
	Values *apiextensionsv1.JSON `json:"values,omitempty"`
	// RuntimeClusterValues are the deployment values for the extension deployment running in the runtime garden cluster.
	// If no values are specified, a runtime deployment is considered deactivated.
	// +optional
	RuntimeClusterValues *apiextensionsv1.JSON `json:"runtimeClusterValues,omitempty"`
	// Policy controls how the controller is deployed. It defaults to 'OnDemand'.
	// +optional
	Policy *gardencorev1beta1.ControllerDeploymentPolicy `json:"policy,omitempty"`
	// 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"`
}

ExtensionDeploymentSpec specifies how to install the extension in a gardener landscape. The installation is split into two parts: - installing the extension in the virtual garden cluster by creating the ControllerRegistration and ControllerDeployment - installing the extension in the runtime cluster (if necessary).

func (*ExtensionDeploymentSpec) DeepCopy added in v1.98.0

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

func (*ExtensionDeploymentSpec) DeepCopyInto added in v1.98.0

func (in *ExtensionDeploymentSpec) DeepCopyInto(out *ExtensionDeploymentSpec)

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

type ExtensionHelm added in v1.98.0

type ExtensionHelm struct {
	// OCIRepository defines where to pull the chart from.
	// +optional
	OCIRepository *gardencorev1.OCIRepository `json:"ociRepository,omitempty"`
}

ExtensionHelm is the configuration for a helm deployment.

func (*ExtensionHelm) DeepCopy added in v1.98.0

func (in *ExtensionHelm) DeepCopy() *ExtensionHelm

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

func (*ExtensionHelm) DeepCopyInto added in v1.98.0

func (in *ExtensionHelm) DeepCopyInto(out *ExtensionHelm)

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

type ExtensionList added in v1.98.0

type ExtensionList struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is the list of Extension.
	Items []Extension `json:"items"`
}

ExtensionList is a list of Extension resources.

func (*ExtensionList) DeepCopy added in v1.98.0

func (in *ExtensionList) DeepCopy() *ExtensionList

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

func (*ExtensionList) DeepCopyInto added in v1.98.0

func (in *ExtensionList) DeepCopyInto(out *ExtensionList)

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

func (*ExtensionList) DeepCopyObject added in v1.98.0

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

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

type ExtensionSpec added in v1.98.0

type ExtensionSpec struct {
	// Resources is a list of combinations of kinds (DNSRecord, Backupbucket, ...) and their actual types
	// (aws-route53, gcp).
	// +optional
	Resources []gardencorev1beta1.ControllerResource `json:"resources,omitempty"`
	// Deployment contains deployment configuration for an extension and it's admission controller.
	// +optional
	Deployment *Deployment `json:"deployment,omitempty"`
}

ExtensionSpec contains the specification of a Gardener extension.

func (*ExtensionSpec) DeepCopy added in v1.98.0

func (in *ExtensionSpec) DeepCopy() *ExtensionSpec

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

func (*ExtensionSpec) DeepCopyInto added in v1.98.0

func (in *ExtensionSpec) DeepCopyInto(out *ExtensionSpec)

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

type ExtensionStatus added in v1.98.0

type ExtensionStatus struct {
	// ObservedGeneration is the most recent generation observed for this resource.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Conditions represents the latest available observations of an Extension's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +optional
	Conditions []gardencorev1beta1.Condition `json:"conditions,omitempty"`
	// ProviderStatus contains type-specific status.
	// +optional
	ProviderStatus *runtime.RawExtension `json:"providerStatus,omitempty"`
}

ExtensionStatus is the status of a Gardener extension.

func (*ExtensionStatus) DeepCopy added in v1.98.0

func (in *ExtensionStatus) DeepCopy() *ExtensionStatus

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

func (*ExtensionStatus) DeepCopyInto added in v1.98.0

func (in *ExtensionStatus) DeepCopyInto(out *ExtensionStatus)

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"`
	// Dashboard contains configuration settings for the gardener-dashboard.
	// +optional
	Dashboard *GardenerDashboardConfig `json:"gardenerDashboard,omitempty"`
	// DiscoveryServer contains configuration settings for the gardener-discovery-server.
	// +optional
	DiscoveryServer *GardenerDiscoveryServerConfig `json:"gardenerDiscoveryServer,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 GardenerDashboardConfig added in v1.94.0

type GardenerDashboardConfig struct {
	// EnableTokenLogin specifies whether it is possible to log into the dashboard with a JWT token. If disabled, OIDC
	// must be configured.
	// +kubebuilder:default=true
	// +optional
	EnableTokenLogin *bool `json:"enableTokenLogin,omitempty"`
	// FrontendConfigMapRef is the reference to a ConfigMap in the garden namespace containing the frontend
	// configuration.
	// +optional
	FrontendConfigMapRef *corev1.LocalObjectReference `json:"frontendConfigMapRef,omitempty"`
	// AssetsConfigMapRef is the reference to a ConfigMap in the garden namespace containing the assets (logos/icons).
	// +optional
	AssetsConfigMapRef *corev1.LocalObjectReference `json:"assetsConfigMapRef,omitempty"`
	// GitHub contains configuration for the GitHub ticketing feature.
	// +optional
	GitHub *DashboardGitHub `json:"gitHub,omitempty"`
	// LogLevel is the configured log level. Must be one of [trace,debug,info,warn,error].
	// Defaults to info.
	// +kubebuilder:validation:Enum=trace;debug;info;warn;error
	// +kubebuilder:default=info
	// +optional
	LogLevel *string `json:"logLevel,omitempty"`
	// OIDC contains configuration for the OIDC provider. This field must be provided when EnableTokenLogin is false.
	// +optional
	OIDC *DashboardOIDC `json:"oidcConfig,omitempty"`
	// Terminal contains configuration for the terminal settings.
	// +optional
	Terminal *DashboardTerminal `json:"terminal,omitempty"`
}

GardenerDashboardConfig contains configuration settings for the gardener-dashboard.

func (*GardenerDashboardConfig) DeepCopy added in v1.94.0

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

func (*GardenerDashboardConfig) DeepCopyInto added in v1.94.0

func (in *GardenerDashboardConfig) DeepCopyInto(out *GardenerDashboardConfig)

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

type GardenerDiscoveryServerConfig added in v1.96.0

type GardenerDiscoveryServerConfig struct{}

GardenerDiscoveryServerConfig contains configuration settings for the gardener-discovery-server.

func (*GardenerDiscoveryServerConfig) DeepCopy added in v1.96.0

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

func (*GardenerDiscoveryServerConfig) DeepCopyInto added in v1.96.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 Ingress added in v1.89.0

type Ingress struct {
	// Domains specify the ingress domains of the cluster pointing to the ingress controller endpoint. They will be used
	// to construct ingress URLs for system applications running in runtime cluster.
	// +kubebuilder:validation:MinItems=1
	// +optional
	Domains []string `json:"domains,omitempty"`
	// Controller configures a Gardener managed Ingress Controller listening on the ingressDomain.
	Controller gardencorev1beta1.IngressController `json:"controller"`
}

Ingress configures the Ingress specific settings of the runtime cluster.

func (*Ingress) DeepCopy added in v1.89.0

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto added in v1.89.0

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

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

type 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.
	Ingress 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"`
	// Volume contains settings for persistent volumes created in the runtime cluster.
	// +optional
	Volume *Volume `json:"volume,omitempty"`
	// CertManagement configures the cert-management component for issuing TLS certificates
	// from an ACME server.
	// +optional
	CertManagement *CertManagement `json:"certManagement,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.

type Volume added in v1.91.0

type Volume struct {
	// MinimumSize defines the minimum size that should be used for PVCs in the runtime cluster.
	// +optional
	MinimumSize *resource.Quantity `json:"minimumSize,omitempty"`
}

Volume contains settings for persistent volumes created in the runtime cluster.

func (*Volume) DeepCopy added in v1.91.0

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto added in v1.91.0

func (in *Volume) DeepCopyInto(out *Volume)

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

type WorkloadIdentityKeyRotation added in v1.103.0

type WorkloadIdentityKeyRotation struct {
	// Phase describes the phase of the workload identity key credential rotation.
	Phase gardencorev1beta1.CredentialsRotationPhase `json:"phase"`
	// LastCompletionTime is the most recent time when the workload identity key credential rotation was successfully
	// completed.
	// +optional
	LastCompletionTime *metav1.Time `json:"lastCompletionTime,omitempty"`
	// LastInitiationTime is the most recent time when the workload identity key credential rotation was initiated.
	// +optional
	LastInitiationTime *metav1.Time `json:"lastInitiationTime,omitempty"`
	// LastInitiationFinishedTime is the recent time when the workload identity key credential rotation initiation was
	// completed.
	// +optional
	LastInitiationFinishedTime *metav1.Time `json:"lastInitiationFinishedTime,omitempty"`
	// LastCompletionTriggeredTime is the recent time when the workload identity key credential rotation completion was
	// triggered.
	// +optional
	LastCompletionTriggeredTime *metav1.Time `json:"lastCompletionTriggeredTime,omitempty"`
}

WorkloadIdentityKeyRotation contains information about the workload identity key credential rotation.

func (*WorkloadIdentityKeyRotation) DeepCopy added in v1.103.0

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

func (*WorkloadIdentityKeyRotation) DeepCopyInto added in v1.103.0

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