Documentation ¶
Index ¶
- Constants
- Variables
- type APIServerAdmissionConfiguration
- type APIServerAdmissionWebhookCredentials
- type APIServerAdmissionWebhookCredentialsTokenProjection
- type APIServerAuditCommonBackendConfiguration
- type APIServerAuditConfiguration
- type APIServerAuditLogBackend
- type APIServerAuditWebhookBackend
- type APIServerComponentConfiguration
- type APIServerDeploymentConfiguration
- type APIServerEtcdConfiguration
- type APIServerRequests
- type APIServerWatchCacheConfiguration
- type AdmissionControllerComponentConfiguration
- type Alerting
- type CA
- type CertificateRotation
- type CommonDeploymentConfiguration
- type ControllerManagerComponentConfiguration
- type ControllerManagerDeploymentConfiguration
- type DNS
- type GardenerAPIServer
- type GardenerAdmissionController
- type GardenerControllerManager
- type GardenerScheduler
- type HVPAConfiguration
- type HVPAConfigurationHPA
- type HVPAConfigurationVPA
- type Imports
- type Rbac
- type SchedulerComponentConfiguration
- type SeedAuthorizer
- type SeedRestriction
- type TLSServer
- type VirtualGarden
- type WatchCacheSizeResource
Constants ¶
const GroupName = "controlplane.gardener.landscaper.gardener.cloud"
GroupName is the group name use in this package
Variables ¶
var ( // SchemeBuilder used to register the Shoot resource. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a pointer to SchemeBuilder.AddToScheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
This section is empty.
Types ¶
type APIServerAdmissionConfiguration ¶
type APIServerAdmissionConfiguration struct { // EnableAdmissionPlugins is a list of names of admission plugins to be enabled in addition to default enabled ones EnableAdmissionPlugins []string // DisableAdmissionPlugins are a list of names of admission plugins that should be disabled although they are // in the default enabled plugins list. DisableAdmissionPlugins []string // Plugins contains the name and configuration of admission plugins of the Gardener API server // Mutating and Validating admission plugins must not be added. // For more information, see here: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#authenticate-apiservers Plugins []apiserverv1.AdmissionPluginConfiguration // ValidatingWebhook configures client-credentials to authenticate against validating webhooks ValidatingWebhook *APIServerAdmissionWebhookCredentials // MutatingWebhook configures client-credentials to authenticate against mutating webhooks MutatingWebhook *APIServerAdmissionWebhookCredentials }
APIServerAdmissionConfiguration contains admission configuration for the Gardener API server
func (*APIServerAdmissionConfiguration) DeepCopy ¶
func (in *APIServerAdmissionConfiguration) DeepCopy() *APIServerAdmissionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAdmissionConfiguration.
func (*APIServerAdmissionConfiguration) DeepCopyInto ¶
func (in *APIServerAdmissionConfiguration) DeepCopyInto(out *APIServerAdmissionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAdmissionWebhookCredentials ¶
type APIServerAdmissionWebhookCredentials struct { // Kubeconfig contains the kubeconfig with credentials to authenticate to an admission webhook. // Either use static credentials basic auth, x509 client-certificate, static token file // or use Service Account Volume Projection to automatically create and rotate the token // configured in the kubeconfig file. // If token projection is enabled, and this kubeconfig is not set, will default to a kubeconfig // with name '*' and path of the projected service account token. Kubeconfig *landscaperv1alpha1.Target // TokenProjection enables a projected volume with a service account for the admission webhook credentials. // Requires Service Account Volume Projection to be configured in the runtime cluster. // For more information, see here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection // if configured, the kubeconfig must contain a 'tokenFile' with the path of the projected // service account token. The projected volume will be mounted at '/var/run/secrets/admission-tokens' with relative path of // either 'mutating-webhook-token' or 'validating-webhook-token'. TokenProjection *APIServerAdmissionWebhookCredentialsTokenProjection }
APIServerAdmissionWebhookCredentials is required if your admission webhooks require authentication. Contains client-credentials that can be used by the Gardener API server to authenticate to registered Webhooks. Enable this if you want to configure non-Gardener Webhooks. Not required for Gardener to work, as the in-cluster communication with the Gardener Admission Controller does not require client authentication. Also see https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#authenticate-apiservers
func (*APIServerAdmissionWebhookCredentials) DeepCopy ¶
func (in *APIServerAdmissionWebhookCredentials) DeepCopy() *APIServerAdmissionWebhookCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAdmissionWebhookCredentials.
func (*APIServerAdmissionWebhookCredentials) DeepCopyInto ¶
func (in *APIServerAdmissionWebhookCredentials) DeepCopyInto(out *APIServerAdmissionWebhookCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAdmissionWebhookCredentialsTokenProjection ¶
type APIServerAdmissionWebhookCredentialsTokenProjection struct { // Enabled configures if Service Account Volume Projection is used Enabled bool // Audience contains the intended audience of the token. // A recipient of the token must identify itself with an identifier specified in the audience of the token, // and otherwise should reject the token. // Defaults to 'validating-webhook' / 'mutating-webhook' Audience *string // ExpirationSeconds is the expected duration of validity of the service account token // Defaults to 3600 ExpirationSeconds *int32 }
APIServerAdmissionWebhookCredentialsTokenProjection configures Service Account Volume Projection to be used for the APIServer Admission Webhook credentials
func (*APIServerAdmissionWebhookCredentialsTokenProjection) DeepCopy ¶
func (in *APIServerAdmissionWebhookCredentialsTokenProjection) DeepCopy() *APIServerAdmissionWebhookCredentialsTokenProjection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAdmissionWebhookCredentialsTokenProjection.
func (*APIServerAdmissionWebhookCredentialsTokenProjection) DeepCopyInto ¶
func (in *APIServerAdmissionWebhookCredentialsTokenProjection) DeepCopyInto(out *APIServerAdmissionWebhookCredentialsTokenProjection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAuditCommonBackendConfiguration ¶
type APIServerAuditCommonBackendConfiguration struct { // BatchBufferSize is the size of the buffer to store events before batching and writing. // Only used in batch mode. BatchBufferSize *int32 // BatchMaxSize is the maximum size of a batch. // Only used in batch mode. BatchMaxSize *int32 // BatchMaxWait is the amount of time to wait before force writing the batch that hadn't reached the max size. // Only used in batch mode. BatchMaxWait *metav1.Duration // BatchThrottleBurst is the maximum number of requests sent at the same moment // if ThrottleQPS was not utilized before. // Only used in batch mode. BatchThrottleBurst *int32 // BatchThrottleEnable defines whether batching throttling is enabled. // Only used in batch mode. // Default: true BatchThrottleEnable *bool // BatchThrottleQPS is the maximum average number of batches per second. // Only used in batch mode. BatchThrottleQPS *float32 // Mode is the strategy for sending audit events. Blocking indicates sending // events should block server responses. Batch causes the backend to buffer and write events asynchronously. // Known modes are batch,blocking,blocking-strict. Mode *string // TruncateEnabled configures whether event and batch truncating is enabled. TruncateEnabled *bool // TruncateMaxBatchSize is the maximum size of the batch sent to the underlying backend. // If a batch exceeds this limit, it is split into several batches of smaller size. // Actual serialized size can be several hundreds of bytes greater. // Only used in batch mode. TruncateMaxBatchSize *int32 // TruncateMaxEventSize is the maximum size of the audit event sent to the underlying backend. // If the size of an event is greater than this number, first request and response are removed, and if this doesn't reduce the size enough, // event is discarded. TruncateMaxEventSize *int32 // Version is the API group and version used for serializing audit events written to log. Version *string }
APIServerAuditCommonBackendConfiguration contains audit configuration applicable for several audit log backends (log, webhook)
func (*APIServerAuditCommonBackendConfiguration) DeepCopy ¶
func (in *APIServerAuditCommonBackendConfiguration) DeepCopy() *APIServerAuditCommonBackendConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAuditCommonBackendConfiguration.
func (*APIServerAuditCommonBackendConfiguration) DeepCopyInto ¶
func (in *APIServerAuditCommonBackendConfiguration) DeepCopyInto(out *APIServerAuditCommonBackendConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAuditConfiguration ¶
type APIServerAuditConfiguration struct { // DynamicConfiguration is used to enable dynamic auditing before v1.19 via API server flag --audit-dynamic-configuration. // This feature also requires the DynamicAuditing feature flag to be set. DynamicConfiguration *bool // Policy contains the audit policy for the Gardener API Server. // For more information, please see here: https://kubernetes.io/docs/reference/config-api/apiserver-audit.v1/#audit-k8s-io-v1-Policy Policy *auditv1.Policy // Log configures the Log backend for audit events // This is enabled with a default policy logging to the local filesystem // For more information, please see here: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#log-backend Log *APIServerAuditLogBackend // Webhook contains configuration for the webhook audit backend for the Gardener API server // For more information, please see: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#webhook-backend Webhook *APIServerAuditWebhookBackend }
APIServerAuditConfiguration contains audit logging configuration For more information, please see: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/
func (*APIServerAuditConfiguration) DeepCopy ¶
func (in *APIServerAuditConfiguration) DeepCopy() *APIServerAuditConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAuditConfiguration.
func (*APIServerAuditConfiguration) DeepCopyInto ¶
func (in *APIServerAuditConfiguration) DeepCopyInto(out *APIServerAuditConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAuditLogBackend ¶
type APIServerAuditLogBackend struct { APIServerAuditCommonBackendConfiguration // Format of saved audits. // "legacy" indicates 1-line text format for each event. // "json" indicates structured json format. Format *string // MaxAge is the maximum number of days to retain old audit log files based on the timestamp encoded in their filename. MaxAge *int32 // MaxBackup is the maximum number of old audit log files to retain. // Default: 5 MaxBackup *int32 // MaxSize is the maximum size in megabytes of the audit log file before it gets rotated. // Default: 100 MaxSize *int32 // Path is the path that if set, contains the audit logs of all requests coming to the API server. // '-' means standard out. // Default: /var/lib/audit.log Path *string }
APIServerAuditLogBackend are various audit-related settings for the Gardener API server.
func (*APIServerAuditLogBackend) DeepCopy ¶
func (in *APIServerAuditLogBackend) DeepCopy() *APIServerAuditLogBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAuditLogBackend.
func (*APIServerAuditLogBackend) DeepCopyInto ¶
func (in *APIServerAuditLogBackend) DeepCopyInto(out *APIServerAuditLogBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerAuditWebhookBackend ¶
type APIServerAuditWebhookBackend struct { APIServerAuditCommonBackendConfiguration // Kubeconfig is the kubeconfig for the external audit log backend Kubeconfig landscaperv1alpha1.Target // InitialBackoff specifies the amount of time to wait after the first failed request before retrying. // Subsequent requests are retried with exponential backoff. InitialBackoff *metav1.Duration }
APIServerAuditWebhookBackend contains configuration for the webhook audit backend for the Gardener API server. The webhook audit backend sends audit events to a remote web API, which is assumed to be a form of the Kubernetes API, including means of authentication. For more information, please see here: https://kubernetes.io/docs/tasks/debug-application-cluster/audit/#webhook-backend
func (*APIServerAuditWebhookBackend) DeepCopy ¶
func (in *APIServerAuditWebhookBackend) DeepCopy() *APIServerAuditWebhookBackend
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerAuditWebhookBackend.
func (*APIServerAuditWebhookBackend) DeepCopyInto ¶
func (in *APIServerAuditWebhookBackend) DeepCopyInto(out *APIServerAuditWebhookBackend)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerComponentConfiguration ¶
type APIServerComponentConfiguration struct { // Encryption configures an optional encryption configuration // Defaults: // - resources (secrets, controllerregistrations.core.gardener.cloud, controllerdeployments.core.gardener.cloud, shootstates.core.gardener.cloud) // providers: // - aescbc with a randomly generated key // - identity: {} Encryption *apiserverconfigv1.EncryptionConfiguration // Etcd contains configuration for the etcd of the Gardener API server Etcd APIServerEtcdConfiguration // CA is a PEM encoded CA bundle which will be used by the Kubernetes API server // (either the RuntimeCluster or the VirtualGarden cluster) // to validate the Gardener Extension API server's TLS serving certificate. // It is put into the APIService resources for the Gardener resource groups // The TLS serving certificate of the Gardener Extension API server // has to be signed by this CA. // For more information, please see: // https://kubernetes.io/docs/tasks/extend-kubernetes/configure-aggregation-layer/#contacting-the-extension-apiserver // If the TLS serving certificate of the Gardener Extension API server is not provided, then must contain the private key // of the CA to generate missing TLS serving certificate. // If left empty, generates a new CA or reuses the CA of an existing APIService registration. CA *CA // TLS contains the TLS serving certificate & key of the Gardener Extension API server // If left empty, generates certificates signed by the provided CA bundle. TLS *TLSServer // FeatureGates are optional feature gates that shall be activated on the Gardener API server FeatureGates map[string]bool // Admission contains admission configuration for the Gardener API server Admission *APIServerAdmissionConfiguration // GoAwayChance sets the fraction of requests that will be sent a GOAWAY. // Clusters with single apiservers, or which don't use a load balancer, // should NOT enable this. // Min is 0 (off), Max is .02 (1/50 requests); .001 (1/1000) is a recommended starting point. GoAwayChance *float32 // Http2MaxStreamsPerConnection is the limit that the server gives to clients for the maximum number of streams // in an HTTP/2 connection. Zero means to use golang's default Http2MaxStreamsPerConnection *int32 // ShutdownDelayDuration is the time to delay the termination. During that time the server keeps serving requests normally. // The endpoints /healthz and /livez will return success, but /readyz immediately returns failure. // Graceful termination starts after this delay has elapsed. // This can be used to allow load balancer to stop sending traffic to this server. ShutdownDelayDuration *metav1.Duration // Requests are optional request related configuration of the Gardener API Server Requests *APIServerRequests // WatchCacheSize optionally configures the watch cache size for resources watched by the Gardener API Server WatchCacheSize *APIServerWatchCacheConfiguration // Audit contains optional audit logging configuration. // Can be used to override the Gardener default audit logging policy or disable audit logging altogether. Audit *APIServerAuditConfiguration }
APIServerComponentConfiguration contains configurations for the Gardener Extension API server
func (*APIServerComponentConfiguration) DeepCopy ¶
func (in *APIServerComponentConfiguration) DeepCopy() *APIServerComponentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerComponentConfiguration.
func (*APIServerComponentConfiguration) DeepCopyInto ¶
func (in *APIServerComponentConfiguration) DeepCopyInto(out *APIServerComponentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerDeploymentConfiguration ¶
type APIServerDeploymentConfiguration struct { // CommonDeploymentConfiguration contains common deployment configurations // Defaults: // Resources: Requests (CPU: 100m, memory 100Mi), Limits (CPU: 300m, memory: 256Mi) CommonDeploymentConfiguration // LivenessProbe allows to overwrite the default liveness probe // Defaults: // initialDelaySeconds: 15 // periodSeconds: 10 // successThreshold: 1 // failureThreshold: 3 // timeoutSeconds: 15 LivenessProbe *corev1.Probe // LivenessProbe allows to overwrite the default readiness probe // Defaults: // initialDelaySeconds: 15 // periodSeconds: 10 // successThreshold: 1 // failureThreshold: 3 // timeoutSeconds: 15 ReadinessProbe *corev1.Probe // MinReadySeconds allows to overwrite the default minReadySeconds field // Defaults to 30 MinReadySeconds *int32 // Hvpa contains configurations for the HVPA of the Gardener Extension API server // Please note that VPA has to be disabled in order to use HVPA Hvpa *HVPAConfiguration }
APIServerDeploymentConfiguration contains certain configurations for the deployment of the Gardener Extension API server
func (*APIServerDeploymentConfiguration) DeepCopy ¶
func (in *APIServerDeploymentConfiguration) DeepCopy() *APIServerDeploymentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerDeploymentConfiguration.
func (*APIServerDeploymentConfiguration) DeepCopyInto ¶
func (in *APIServerDeploymentConfiguration) DeepCopyInto(out *APIServerDeploymentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerEtcdConfiguration ¶
type APIServerEtcdConfiguration struct { // Url is the 'url:port' of the etcd of the Gardener API server // If the etcd is deployed in-cluster, should be of the form 'k8s-service-name:port' // if the etcd serves TLS (configurable via flag --cert-file on etcd), this URL can use the HTTPS schema. Url string // CABundle is a PEM encoded CA bundle which will be used by the Gardener API server // to verify that the TLS serving certificate presented by etcd is signed by this CA // configures the flag --etcd-cafile on the Gardener API server // Optional. if not set, the Gardener API server will not validate etcd's TLS serving certificate CABundle *string // ClientCert contains a client certificate which will be used by the Gardener API server // to communicate with etcd via TLS. // Configures the flags --etcd-certfile on the Gardener API server. // On the etcd make sure that // - client authentication is enabled via the flag --client-cert-auth // - the client credentials have been signed by the CA provided to etcd via the flag --trusted-ca-file // Optional. Etcd does not have to enforce client authentication. ClientCert *string // ClientKey is the key matching the configured client certificate. // Configures the flags --etcd-keyfile on the Gardener API server. // Optional. Etcd does not have to enforce client authentication. ClientKey *string // SecretRef is an optional reference to a secret in the runtime cluster that contains etcd's CABundle, client certificate and client key // Expects the following keys // - ca.crt: CABundle // - tls.crt: ClientCert // - tls.key: ClientKey SecretRef *corev1.SecretReference }
APIServerEtcdConfiguration contains configuration for the etcd of the Gardener API server etcd is a required as a prerequisite
func (*APIServerEtcdConfiguration) DeepCopy ¶
func (in *APIServerEtcdConfiguration) DeepCopy() *APIServerEtcdConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerEtcdConfiguration.
func (*APIServerEtcdConfiguration) DeepCopyInto ¶
func (in *APIServerEtcdConfiguration) DeepCopyInto(out *APIServerEtcdConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerRequests ¶
type APIServerRequests struct { // MaxNonMutatingInflight is the maximum number of non-mutating requests in flight at a given time. // When the server exceeds this, it rejects requests. Zero for no limit. MaxNonMutatingInflight *int // MaxMutatingInflight is the maximum number of mutating requests in flight at a given time. // When the server exceeds this, it rejects requests. Zero for no limit. MaxMutatingInflight *int // MinTimeout is an optional field indicating the minimum number of seconds // a handler must keep a request open before timing it out. // Currently only honored by the watch request handler, which picks a randomized // value above this number as the connection timeout, to spread out load. MinTimeout *metav1.Duration // Timeout is an optional field indicating the duration a handler must keep a request open before timing it out. // This is the default request timeout for requests but may be overridden by MinTimeout for the watch request handler. Timeout *metav1.Duration }
APIServerRequests are request related configuration of the Gardener API Server
func (*APIServerRequests) DeepCopy ¶
func (in *APIServerRequests) DeepCopy() *APIServerRequests
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerRequests.
func (*APIServerRequests) DeepCopyInto ¶
func (in *APIServerRequests) DeepCopyInto(out *APIServerRequests)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerWatchCacheConfiguration ¶
type APIServerWatchCacheConfiguration struct { // DefaultSize is the default watch cache size DefaultSize *int32 // Resources contains a list of configurations of the watch cache sizes Resources []WatchCacheSizeResource }
APIServerWatchCacheConfiguration fine tunes the watch cache size for different resources watched by the Gardener API Server. These are mostly, but not limited to, resources from Gardener resource groups e.g core.gardener.cloud. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to 'defaultSize'.
func (*APIServerWatchCacheConfiguration) DeepCopy ¶
func (in *APIServerWatchCacheConfiguration) DeepCopy() *APIServerWatchCacheConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerWatchCacheConfiguration.
func (*APIServerWatchCacheConfiguration) DeepCopyInto ¶
func (in *APIServerWatchCacheConfiguration) DeepCopyInto(out *APIServerWatchCacheConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdmissionControllerComponentConfiguration ¶
type AdmissionControllerComponentConfiguration struct { // CA is a PEM encoded X509 CA which will be used by the Gardener API server // to validate the TLS serving certificate of the Gardener Admission Webhook server served // by the Gardener Admission Controller. // It is put into the MutatingWebhookConfiguration and ValidatingWebhookConfiguration // resources when registering the Webhooks. // If left empty, generates a new CA or reuses the CA of an existing Admission controller deployment. CA *CA // TLS configures the TLS serving certificate of the Gardener Admission Controller webhooks. // The certificate has to be signed by the provided CA bundle. // If left empty, generates certificates signed by the provided CA bundle. TLS *TLSServer // Config specifies values for the Gardener Admission Controller component configuration // Please see example/20-componentconfig-gardener-admission-controller.yaml for what // can be configured here Config runtime.Object }
AdmissionControllerComponentConfiguration contains the component configuration of the Gardener Admission Controller
func (*AdmissionControllerComponentConfiguration) DeepCopy ¶
func (in *AdmissionControllerComponentConfiguration) DeepCopy() *AdmissionControllerComponentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionControllerComponentConfiguration.
func (*AdmissionControllerComponentConfiguration) DeepCopyInto ¶
func (in *AdmissionControllerComponentConfiguration) DeepCopyInto(out *AdmissionControllerComponentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Alerting ¶
type Alerting struct { // AuthType is the authentication type to use // allowed values: smtp, none, basic, certificate AuthType string // Url is the URL to post alerts to // only required for authentication types none, basic and certificate Url *string // SMTP Auth // ToEmailAddress is the email address to send alerts to ToEmailAddress *string // FromEmailAddress is the email address to send alerts from FromEmailAddress *string // Smarthost is the smtp host used for sending Smarthost *string // AuthUsername is the username used for authentication when using SMTP AuthUsername *string // AuthUsername is the identity used for authentication when using SMTP AuthIdentity *string // AuthUsername is the password used for authentication when using SMTP AuthPassword *string // Basic Auth // Username is the username to use for basic authentication with the external (non-Gardener managed) alert manager Username *string // Password is the password to use for basic authentication with the external (non-Gardener managed) alert manager Password *string // Certificate Auth // CaCert is the CA certificate the TLS certificate presented at the url endpoint // of the external (non-Gardener managed) alert manager needs to be signed with CaCert *string // TlsCert is the TLS certificate to use for authentication with the external (non-Gardener managed) alert manager TlsCert *string // TlsCert is the TLS key to use for authentication with the external (non-Gardener managed) alert manager TlsKey *string }
Alerting configures the Gardener installation with alerting please see the docs for more details: https://github.com/gardener/gardener/blob/master/docs/monitoring/alerting.md#alerting-for-operators
func (*Alerting) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alerting.
func (*Alerting) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CA ¶ added in v1.36.0
type CA struct { // SecretRef is an optional reference to a secret in the runtime cluster that contains the CA certificate and key // Expects the following optional keys // - ca.crt: Crt // - ca.key: Key SecretRef *corev1.SecretReference // Crt is the public part of the X509 CA certificate Crt *string // Crt is the private part of the X509 CA certificate // The private key is required for signing Key *string // Validity specifies the lifetime of a generated CA certificates (ignored for existing certificates) Validity *metav1.Duration }
CA contains the x509 CA public cert and optionally a private key
func (*CA) DeepCopy ¶ added in v1.36.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CA.
func (*CA) DeepCopyInto ¶ added in v1.36.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CertificateRotation ¶ added in v1.36.0
type CertificateRotation struct { // Rotate defines that all certificates (except from the etcd certificates) should be rotated // This includes the CA of the Gardener API Server, the CA of the Gardener Admission Controller as well as all the TLS serving certificates of the Gardener Control Plane. // Please note: certificates are automatically rotated after 80% of their lifetime. // This is just a manual flag to force regeneration. Rotate bool }
CertificateRotation contains settings related to certificate rotation Also, see here: https://github.com/gardener/gardener/issues/4856
func (*CertificateRotation) DeepCopy ¶ added in v1.36.0
func (in *CertificateRotation) DeepCopy() *CertificateRotation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertificateRotation.
func (*CertificateRotation) DeepCopyInto ¶ added in v1.36.0
func (in *CertificateRotation) DeepCopyInto(out *CertificateRotation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CommonDeploymentConfiguration ¶
type CommonDeploymentConfiguration struct { // ReplicaCount is the number of replicas. // Default: 1. ReplicaCount *int32 // ServiceAccountName is the name of the ServiceAccount to create and mount into the pod. ServiceAccountName *string // Resources are compute resources required by the container. Resources *corev1.ResourceRequirements // PodLabels are additional labels on the pods. PodLabels map[string]string // PodAnnotations are additional annotations on the pods. PodAnnotations map[string]string // VPA specifies whether to enable VPA for the deployment. // Default: false. VPA *bool }
CommonDeploymentConfiguration contains common deployment configurations for multiple Gardener components
func (*CommonDeploymentConfiguration) DeepCopy ¶
func (in *CommonDeploymentConfiguration) DeepCopy() *CommonDeploymentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonDeploymentConfiguration.
func (*CommonDeploymentConfiguration) DeepCopyInto ¶
func (in *CommonDeploymentConfiguration) DeepCopyInto(out *CommonDeploymentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerComponentConfiguration ¶
type ControllerManagerComponentConfiguration struct { // TLS configures the HTTPS server of the Gardener Controller Manager // uses http for /healthz endpoint, optionally serves HTTPS for metrics. // If left empty, generates a certificate signed by the CA that also signs the TLS serving certificates of the Gardener API server. TLS *TLSServer // Config specifies values for the Gardener Controller Manager component configuration // Please see example/20-componentconfig-gardener-controller-manager.yaml for what // can be configured here Config runtime.Object }
ControllerManagerComponentConfiguration contains the component configuration for the Gardener controller manager
func (*ControllerManagerComponentConfiguration) DeepCopy ¶
func (in *ControllerManagerComponentConfiguration) DeepCopy() *ControllerManagerComponentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerComponentConfiguration.
func (*ControllerManagerComponentConfiguration) DeepCopyInto ¶
func (in *ControllerManagerComponentConfiguration) DeepCopyInto(out *ControllerManagerComponentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerManagerDeploymentConfiguration ¶
type ControllerManagerDeploymentConfiguration struct { // CommonDeploymentConfiguration contains common deployment configurations // Defaults: // Resources: Requests (CPU: 100m, memory 100Mi), Limits (CPU: 750m, memory: 512Mi) *CommonDeploymentConfiguration // AdditionalVolumes is the list of additional volumes that should be mounted. AdditionalVolumes []corev1.Volume // AdditionalVolumeMounts is the list of additional pod volumes to mount into the Gardener Controller Manager container's filesystem. AdditionalVolumeMounts []corev1.VolumeMount // Env is the list of environment variables to set in the Gardener Controller Manager. Env []corev1.EnvVar }
ControllerManagerDeploymentConfiguration contains certain configurations for the deployment of the Gardener Controller Manager
func (*ControllerManagerDeploymentConfiguration) DeepCopy ¶
func (in *ControllerManagerDeploymentConfiguration) DeepCopy() *ControllerManagerDeploymentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerManagerDeploymentConfiguration.
func (*ControllerManagerDeploymentConfiguration) DeepCopyInto ¶
func (in *ControllerManagerDeploymentConfiguration) DeepCopyInto(out *ControllerManagerDeploymentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DNS ¶
type DNS struct { // Domain is the DNS domain Domain string // Provider is the DNS provider name of the given domain's zone // depends on the DNS extension of your choice // For instance, when using Gardener External-dns-management as the DNS extension, you can find // all the supported providers in the controller registration // at https://github.com/gardener/external-dns-management/blob/master/examples/controller-registration.yaml Provider string // Zone is the applicable cloud provider zone Zone *string // Credentials contains the credentials for the dns provider // Expected format of the credentials depends on the the provider Credentials json.RawMessage }
DNS contains the configuration for Domains used by the gardener installation for more information, please see: https://github.com/gardener/gardener/blob/master/docs/extensions/dns.md
func (*DNS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.
func (*DNS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GardenerAPIServer ¶
type GardenerAPIServer struct { // DeploymentConfiguration contains optional configurations for // the deployment of the Gardener API server DeploymentConfiguration *APIServerDeploymentConfiguration // ComponentConfiguration contains optional configurations for // the Gardener Extension API server ComponentConfiguration APIServerComponentConfiguration }
GardenerAPIServer contains the configuration of the Gardener Aggregated API Server
func (*GardenerAPIServer) DeepCopy ¶
func (in *GardenerAPIServer) DeepCopy() *GardenerAPIServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerAPIServer.
func (*GardenerAPIServer) DeepCopyInto ¶
func (in *GardenerAPIServer) DeepCopyInto(out *GardenerAPIServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GardenerAdmissionController ¶
type GardenerAdmissionController struct { // Enabled configures whether the Gardener Admission Controller should be deployed Enabled bool // SeedRestriction configures the SeedRestriction admission plugin SeedRestriction *SeedRestriction // DeploymentConfiguration contains optional configurations for // the deployment of the Gardener Admission Controller DeploymentConfiguration *CommonDeploymentConfiguration // ComponentConfiguration contains the component configuration of the Gardener API Server ComponentConfiguration *AdmissionControllerComponentConfiguration }
GardenerAdmissionController contains the configuration of the Gardener Admission Controller
func (*GardenerAdmissionController) DeepCopy ¶
func (in *GardenerAdmissionController) DeepCopy() *GardenerAdmissionController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerAdmissionController.
func (*GardenerAdmissionController) DeepCopyInto ¶
func (in *GardenerAdmissionController) DeepCopyInto(out *GardenerAdmissionController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GardenerControllerManager ¶
type GardenerControllerManager struct { // DeploymentConfiguration contains optional configurations for // the deployment of the Gardener Controller Manager DeploymentConfiguration *ControllerManagerDeploymentConfiguration // ComponentConfiguration contains the component configuration for the Gardener Controller Manager ComponentConfiguration *ControllerManagerComponentConfiguration }
GardenerControllerManager contains configurations of the Gardener Controller Manager
func (*GardenerControllerManager) DeepCopy ¶
func (in *GardenerControllerManager) DeepCopy() *GardenerControllerManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerControllerManager.
func (*GardenerControllerManager) DeepCopyInto ¶
func (in *GardenerControllerManager) DeepCopyInto(out *GardenerControllerManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GardenerScheduler ¶
type GardenerScheduler struct { // DeploymentConfiguration contains optional configurations for // the deployment of the Gardener Scheduler DeploymentConfiguration *CommonDeploymentConfiguration // ComponentConfiguration contains the component configuration for the Gardener Scheduler ComponentConfiguration *SchedulerComponentConfiguration }
GardenerScheduler contains the configuration of the Gardener Scheduler
func (*GardenerScheduler) DeepCopy ¶
func (in *GardenerScheduler) DeepCopy() *GardenerScheduler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GardenerScheduler.
func (*GardenerScheduler) DeepCopyInto ¶
func (in *GardenerScheduler) DeepCopyInto(out *GardenerScheduler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HVPAConfiguration ¶
type HVPAConfiguration struct { // Enabled configures whether to setup hvpa for the Gardener Extension API server or not // Default: false Enabled *bool // MaintenanceWindow defines the time window when HVPA is allowed to act MaintenanceTimeWindow *hvpav1alpha1.MaintenanceTimeWindow // HVPAConfigurationHPA contains the HPA specific configuration for HVPA HVPAConfigurationHPA *HVPAConfigurationHPA // HVPAConfigurationVPA contains the VPA specific configuration for HVPA HVPAConfigurationVPA *HVPAConfigurationVPA }
HVPAConfiguration contains configurations for the HVPA of the Gardener Extension API server For more information on HVPA, please see here: https://github.com/gardener/hvpa-controller
func (*HVPAConfiguration) DeepCopy ¶
func (in *HVPAConfiguration) DeepCopy() *HVPAConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HVPAConfiguration.
func (*HVPAConfiguration) DeepCopyInto ¶
func (in *HVPAConfiguration) DeepCopyInto(out *HVPAConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HVPAConfigurationHPA ¶
type HVPAConfigurationHPA struct { // MinReplicas is the minimum number of replicas. // Defaults to 1. MinReplicas *int32 // MaxReplicas is the maximum number of replicas. // Defaults to 4. MaxReplicas *int32 // TargetAverageUtilizationCpu is the average CPU utilization targeted by the HPA component of // the HVPA // Defaults to: 80 TargetAverageUtilizationCpu *int32 // TargetAverageUtilizationMemory is the average memory utilization targeted by the HPA component of // the HVPA // Defaults to: 80 TargetAverageUtilizationMemory *int32 }
HVPAConfigurationHPA contains HPA related configuration for the HVPA of the Gardener Extension API server
func (*HVPAConfigurationHPA) DeepCopy ¶
func (in *HVPAConfigurationHPA) DeepCopy() *HVPAConfigurationHPA
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HVPAConfigurationHPA.
func (*HVPAConfigurationHPA) DeepCopyInto ¶
func (in *HVPAConfigurationHPA) DeepCopyInto(out *HVPAConfigurationHPA)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HVPAConfigurationVPA ¶
type HVPAConfigurationVPA struct { // ScaleUpMode controls when the VPA component of HVPA scales up // Possible values: "Auto", "Off", "MaintenanceWindow" // Defaults to: "Auto" ScaleUpMode *string // ScaleDownMode controls when the VPA component of HVPA scales down // Possible values: "Auto", "Off", "MaintenanceWindow" // Defaults to: "Auto" ScaleDownMode *string // ScaleUpStabilization defines parameters for the VPA component of HVPA for scale up // Defaults: // stabilizationDuration: "3m" // minChange: // cpu: // value: 300m // percentage: 80 // memory: // value: 200M // percentage: 80 ScaleUpStabilization *hvpav1alpha1.ScaleType // ScaleDownStabilization defines parameters for the VPA component of HVPA for scale down // Defaults: // stabilizationDuration: "15m" // minChange: // cpu: // value: 600m // percentage: 80 // memory: // value: 600M // percentage: 80 ScaleDownStabilization *hvpav1alpha1.ScaleType // LimitsRequestsGapScaleParams is the scaling thresholds for limits // Defaults: // cpu: // value: "1" // percentage: 70 // memory: // value: "1G" // percentage: 70 LimitsRequestsGapScaleParams *hvpav1alpha1.ScaleParams }
HVPAConfigurationVPA contains VPA related configuration for the HVPA of the Gardener Extension API server
func (*HVPAConfigurationVPA) DeepCopy ¶
func (in *HVPAConfigurationVPA) DeepCopy() *HVPAConfigurationVPA
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HVPAConfigurationVPA.
func (*HVPAConfigurationVPA) DeepCopyInto ¶
func (in *HVPAConfigurationVPA) DeepCopyInto(out *HVPAConfigurationVPA)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Imports ¶
type Imports struct { metav1.TypeMeta // Identity is the id that uniquely identifies this Gardener installation. // If not set, uses the existing identity of the installation or generates a default identity ("landscape-"). Identity *string // RuntimeCluster contains the kubeconfig for the cluster where the Gardener // control plane pods will run. // if you do NOT configure a "virtual Garden" installation, the API server of this cluster will // be aggregated by the Gardener Extension API server and in turn serves the Gardener API. // Using the "virtual Garden" installation, this cluster is solely used to run the Gardener control plane pods // as well as the Kubernetes API server pods of the "virtual Garden". RuntimeCluster landscaperv1alpha1.Target // VirtualGarden contains configuration for the "Virtual Garden" setup option of Gardener VirtualGarden *VirtualGarden // InternalDomain contains the internal domain configuration for the Gardener installation InternalDomain DNS // DefaultDomains contains optional default domain configurations to use for the Shoot clusters of the Gardener installation DefaultDomains []DNS // Alerting optionally configures the Gardener installation with alerting Alerting []Alerting // OpenVPNDiffieHellmanKey is the Diffie-Hellman key used for OpenVPN. // The VPN bridge from a Shoot's control plane running in the Seed cluster to the worker nodes of the Shoots is based // on OpenVPN. It requires a Diffie Hellman key. // If no such key is explicitly provided as secret in the garden namespace // then will generate a new one. // If a secret is specified its key will be used for all Shoots. // Can be generated by `openssl dhparam -out dh2048.pem 2048` OpenVPNDiffieHellmanKey *string // GardenerAPIServer contains the configuration for the Gardener API Server GardenerAPIServer GardenerAPIServer // GardenerControllerManager contains the configuration for the Gardener Controller Manager GardenerControllerManager *GardenerControllerManager // GardenerScheduler contains the configuration for the Gardener Scheduler GardenerScheduler *GardenerScheduler // GardenerAdmissionController contains the configuration for the Gardener Admission Controller GardenerAdmissionController *GardenerAdmissionController // Rbac configures common RBAC configuration Rbac *Rbac // CertificateRotation determines whether to regenerate the certificates that are missing in the import configuration. // Per default, missing configuration is taken from an existing Gardener installation. CertificateRotation *CertificateRotation }
Imports defines the import for the Gardener landscaper control plane component.
func (*Imports) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Imports.
func (*Imports) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Imports) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Rbac ¶
type Rbac struct { // SeedAuthorizer configures RBAC for the SeedAuthorizer SeedAuthorizer *SeedAuthorizer }
Rbac configures common RBAC configuration
func (*Rbac) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Rbac.
func (*Rbac) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerComponentConfiguration ¶
type SchedulerComponentConfiguration struct { // Config specifies values for the Gardener Scheduler component configuration // Please see example/20-componentconfig-gardener-scheduler.yaml for what // can be configured here Config runtime.Object }
SchedulerComponentConfiguration contains the component configuration of the Gardener Scheduler
func (*SchedulerComponentConfiguration) DeepCopy ¶
func (in *SchedulerComponentConfiguration) DeepCopy() *SchedulerComponentConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulerComponentConfiguration.
func (*SchedulerComponentConfiguration) DeepCopyInto ¶
func (in *SchedulerComponentConfiguration) DeepCopyInto(out *SchedulerComponentConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedAuthorizer ¶
type SeedAuthorizer struct { // Enabled configures whether the Seed Authorizer is enabled // The Seed Authorizer must be configured on the to-be extendet API server (runtime cluster or virtual-garden) // This configuration removes the Gardenlet's ClusterAdmin RBAC cluster role and binding and instead // uses the SeedAuthorizer authorisation webhook served by the Gardener Admission Controller seed restriction webhook // For more information, please see: https://kubernetes.io/docs/reference/access-authn-authz/webhook/ // +optional Enabled *bool }
SeedAuthorizer configures RBAC for the SeedAuthorizer
func (*SeedAuthorizer) DeepCopy ¶
func (in *SeedAuthorizer) DeepCopy() *SeedAuthorizer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedAuthorizer.
func (*SeedAuthorizer) DeepCopyInto ¶
func (in *SeedAuthorizer) DeepCopyInto(out *SeedAuthorizer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedRestriction ¶
type SeedRestriction struct { // Enabled configures whether the SeedRestriction admission plugin should be used. // Sets up the ValidatingWebhookConfiguration pointing to the webhook server in the Gardener Admission Controller // serving the SeedRestriction webhook // Must be enabled when the Seed Authorizer option is enabled (field .rbac.seedAuthorizer). // Default: false // +optional Enabled bool }
SeedRestriction configures the SeedRestriction admission plugin
func (*SeedRestriction) DeepCopy ¶
func (in *SeedRestriction) DeepCopy() *SeedRestriction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedRestriction.
func (*SeedRestriction) DeepCopyInto ¶
func (in *SeedRestriction) DeepCopyInto(out *SeedRestriction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TLSServer ¶
type TLSServer struct { // SecretRef is an optional reference to a secret in the runtime cluster that contains the TLS certificate and key // Expects the following keys // - tls.crt: Crt // - tls.key: Key SecretRef *corev1.SecretReference // Cert is a certificate used by the component to serve TLS endpoints. // If specified, the certificate must be signed by the configured CA. Crt *string // Key is the key for the configured TLS certificate. Key *string // Validity specifies the lifetime of a generated TLS certificate (ignored for existing certificates) Validity *metav1.Duration }
TLSServer configures the TLS serving endpoints of a component
func (*TLSServer) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSServer.
func (*TLSServer) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VirtualGarden ¶
type VirtualGarden struct { // Enabled configures whether to setup Gardener with the "Virtual Garden" setup option of Gardener // Please note that as a prerequisite, the API server pods of the "Virtual Garden" already need to be deployed to // the runtime cluster (this should be done automatically by a preceding component when using the standard installation via the landscaper) // and must be able to communicate with the Gardener Extension API server pod that will // be deployed to the Garden namespace Enabled bool // Kubeconfig is the landscaper target containing the kubeconfig to an existing "Virtual Garden" API server // deployed in the runtime cluster. // This is the kubeconfig of the Cluster // - that will be aggregated by the Gardener Extension API server with Gardener resource groups // - where the Gardener configuration is created (garden namespace, default & internal domain secrets, Gardener webhooks) // - essentially, this helm chart will be applied: charts/gardener/controlplane/charts/application // // The Gardener control plane (Gardener Controller Manager, Gardener Scheduler, ...) // will in turn run in the runtime cluster, but use kubeconfigs with credentials to this API server. Kubeconfig *landscaperv1alpha1.Target // ClusterIP is an arbitrary private ipV4 IP that is used to enable the virtual Garden API server // running as a pod in the runtime cluster to talk to the Gardener Extension API server pod also running // as a pod in the runtime cluster // This IP // - In the Virtual Garden cluster: is written into the endpoints resource of the "gardener-apiserver" service. // This service is used by the APIService resources to register Gardener resource groups. // - In the runtime cluster: is the ClusterIP of the "gardener-apiserver" service selecting the Gardener Extension // API server pods. // // Exposed to accommodate existing Gardener installation // defaults to 10.0.1.0 ClusterIP *string }
VirtualGarden contains configuration for the "Virtual Garden" setup option of Gardener
func (*VirtualGarden) DeepCopy ¶
func (in *VirtualGarden) DeepCopy() *VirtualGarden
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualGarden.
func (*VirtualGarden) DeepCopyInto ¶
func (in *VirtualGarden) DeepCopyInto(out *VirtualGarden)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WatchCacheSizeResource ¶
type WatchCacheSizeResource struct { // ApiGroup is the API Group of the resource (e.g core.gardener.cloud) ApiGroup string // Resource is the name of the resource (e.g shoots) Resource string // Size is the size of the watch cache (how many resources are cached) Size int32 }
WatchCacheSizeResource configures the watch cache of one resource
func (*WatchCacheSizeResource) DeepCopy ¶
func (in *WatchCacheSizeResource) DeepCopy() *WatchCacheSizeResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WatchCacheSizeResource.
func (*WatchCacheSizeResource) DeepCopyInto ¶
func (in *WatchCacheSizeResource) DeepCopyInto(out *WatchCacheSizeResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.