Documentation ¶
Index ¶
- type AdmissionWebhookConfig
- type AdmissionWebhookTokenConfig
- type AuditWebhookConfig
- type ClusterSettings
- type Credentials
- type ETCD
- type ETCDBackup
- type EncryptionConfig
- type Exports
- type GardenerControlplane
- type ImageRefs
- type Imports
- type InfrastructureProviderType
- type KubeAPIServer
- type OidcWebhookAuthenticator
- type SNI
- type SeedAuthorizer
- type VirtualGarden
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdmissionWebhookConfig ¶
type AdmissionWebhookConfig struct { Kubeconfig string `json:"kubeconfig,omitempty" yaml:"kubeconfig,omitempty"` Token AdmissionWebhookTokenConfig `json:"token,omitempty" yaml:"token,omitempty"` }
type AuditWebhookConfig ¶
type AuditWebhookConfig struct {
Config string `json:"config,omitempty" yaml:"config,omitempty"`
}
AuditWebhookConfig contains configuration for the audit webhook.
type ClusterSettings ¶ added in v0.3.0
type ClusterSettings struct { // Namespace is a namespace in the hosting cluster into which the virtual garden shall be installed. Namespace string `json:"namespace" yaml:"namespace"` // InfrastructureProvider is the provider type of the underlying infrastructure of the hosting cluster. InfrastructureProvider InfrastructureProviderType `json:"infrastructureProvider" yaml:"infrastructureProvider"` }
ClusterSettings contains settings for the hosting cluster that runs the virtual garden.
type Credentials ¶
type Credentials struct { // Data contains key-value pairs with the credentials information. The keys are specific for the credentials type. Data map[string]string `json:"data" yaml:"data"` }
Credentials contains key-value pairs for credentials for a certain endpoint type.
type ETCD ¶
type ETCD struct { // StorageClassName allows to overwrite the default storage class name for etcd. // +optional StorageClassName *string `json:"storageClassName,omitempty" yaml:"storageClassName,omitempty"` // Backup contains configuration for the backup of the main etcd for the virtual garden. // +optional Backup *ETCDBackup `json:"backup,omitempty" yaml:"backup,omitempty"` // HandleETCDPersistentVolumes defines whether the PV(C)s that are getting automatically created by the etcd // statefulset shall be handled or not (false by default). If true then they will be deleted when the virtual // garden is deleted. Otherwise, they will remain in the system for manual cleanup (to prevent data loss). HandleETCDPersistentVolumes bool `json:"handleETCDPersistentVolumes,omitempty" yaml:"handleETCDPersistentVolumes,omitempty"` }
ETCD contains configuration for the etcd that is used by the virtual garden kube-apiserver.
type ETCDBackup ¶
type ETCDBackup struct { // InfrastructureProvider is the provider type of the underlying infrastructure for the blob storage bucket. InfrastructureProvider InfrastructureProviderType `json:"infrastructureProvider" yaml:"infrastructureProvider"` // Region is the name of the region in which the blob storage bucket shall be created. Region string `json:"region" yaml:"region"` // BucketName is the name of the blob storage bucket. BucketName string `json:"bucketName" yaml:"bucketName"` // Credentials contain the credentials that shall be used for the creation of the blob storage // bucket. Credentials *Credentials `json:"credentials" yaml:"credentials"` // DeleteBackupBucketOnDeletion controls whether the backup bucket for the etcd should be deleted // when the virtual garden is uninstalled. The default value is false. DeleteBackupBucketOnDeletion bool `json:"deleteBackupBucketOnDeletion" yaml:"deleteBackupBucketOnDeletion"` }
ETCDBackup contains configuration for the backup of the main etcd for the virtual garden.
type EncryptionConfig ¶ added in v0.8.0
type EncryptionConfig struct {
Resources []string `json:"resources" yaml:"resources"`
}
EncryptionConfig configures the kubernetes EncryptionConfiguration used by the Kube API server.
type Exports ¶
type Exports struct { VirtualGardenApiserverCaPem string `json:"virtualGardenApiserverCaPem,omitempty" yaml:"virtualGardenApiserverCaPem,omitempty"` ServiceAccountKeyPem string `json:"serviceAccountKeyPem,omitempty" yaml:"serviceAccountKeyPem,omitempty"` EtcdCaPem string `json:"etcdCaPem,omitempty" yaml:"etcdCaPem,omitempty"` EtcdClientTlsPem string `json:"etcdClientTlsPem,omitempty" yaml:"etcdClientTlsPem,omitempty"` EtcdClientTlsKeyPem string `json:"etcdClientTlsKeyPem,omitempty" yaml:"etcdClientTlsKeyPem,omitempty"` EtcdUrl string `json:"etcdUrl,omitempty" yaml:"etcdUrl,omitempty"` KubeconfigYaml string `json:"kubeconfigYaml,omitempty" yaml:"kubeconfigYaml,omitempty"` VirtualGardenEndpoint string `json:"virtualGardenEndpoint,omitempty" yaml:"virtualGardenEndpoint,omitempty"` }
Exports defines the structure for the exported data which might be consumed by other components.
type GardenerControlplane ¶
type GardenerControlplane struct { ValidatingWebhook AdmissionWebhookConfig `json:"validatingWebhook,omitempty" yaml:"validatingWebhook,omitempty"` MutatingWebhook AdmissionWebhookConfig `json:"mutatingWebhook,omitempty" yaml:"mutatingWebhook,omitempty"` }
GardenerControlplane contains the activation info for webhooks
type ImageRefs ¶
type ImageRefs struct { ETCDImage string ETCDBackupRestoreImage string KubeControllerManagerImage string KubeAPIServerImage string }
ImageRefs defines the structure for the used images.
func NewImageRefsFromComponentDescriptor ¶
func NewImageRefsFromComponentDescriptor(cd *cdv2.ComponentDescriptor) (*ImageRefs, error)
NewImageRefsFromComponentDescriptor extracts the relevant images from the component descriptor.
type Imports ¶
type Imports struct { // RuntimeCluster is the kubeconfig of the cluster into which the virtual garden shall be installed. RuntimeCluster lsv1alpha1.Target `json:"runtimeCluster" yaml:"runtimeCluster"` // RuntimeClusterSettings contains settings for the hosting cluster that runs the virtual garden. RuntimeClusterSettings ClusterSettings `json:"runtimeClusterSettings" yaml:"runtimeClusterSettings"` // VirtualGarden contains configuration for the virtual garden cluster. VirtualGarden VirtualGarden `json:"virtualGarden" yaml:"virtualGarden"` }
Imports defines the structure for the required configuration values from other components.
type InfrastructureProviderType ¶
type InfrastructureProviderType string
InfrastructureProviderType is a string alias.
const ( // InfrastructureProviderAlicloud is a constant for the Alicloud infrastructure provider. InfrastructureProviderAlicloud InfrastructureProviderType = "alicloud" // InfrastructureProviderAWS is a constant for the AWS infrastructure provider. InfrastructureProviderAWS InfrastructureProviderType = "aws" // InfrastructureProviderGCP is a constant for the GCP infrastructure provider. InfrastructureProviderGCP InfrastructureProviderType = "gcp" // InfrastructureProviderFake is a constant for fake infrastructure provider. InfrastructureProviderFake InfrastructureProviderType = "fake" )
type KubeAPIServer ¶
type KubeAPIServer struct { Replicas int `json:"replicas,omitempty" yaml:"replicas,omitempty"` // SNI contains configuration for SNI settings for the virtual garden. // +optional SNI *SNI `json:"sni,omitempty" yaml:"sni,omitempty"` DnsAccessDomain string `json:"dnsAccessDomain,omitempty" yaml:"dnsAccessDomain,omitempty"` GardenerControlplane GardenerControlplane `json:"gardenerControlplane,omitempty" yaml:"gardenerControlplane,omitempty"` // Service account key. If not provided, a new one will be generated. // +optional ServiceAccountKeyPem *string `json:"serviceAccountKeyPem,omitempty" yaml:"serviceAccountKeyPem,omitempty"` AuditWebhookConfig AuditWebhookConfig `json:"auditWebhookConfig,omitempty" yaml:"auditWebhookConfig,omitempty"` AuditWebhookBatchMaxSize string `json:"auditWebhookBatchMaxSize,omitempty" yaml:"auditWebhookBatchMaxSize,omitempty"` SeedAuthorizer SeedAuthorizer `json:"seedAuthorizer,omitempty" yaml:"seedAuthorizer,omitempty"` OidcWebhookAuthenticator OidcWebhookAuthenticator `json:"oidcWebhookAuthenticator,omitempty" yaml:"oidcWebhookAuthenticator,omitempty"` EventTTL *string `json:"eventTTL,omitempty" yaml:"eventTTL,omitempty"` OidcIssuerURL *string `json:"oidcIssuerURL,omitempty" yaml:"oidcIssuerURL,omitempty"` AdditionalVolumeMounts []corev1.VolumeMount `json:"additionalVolumeMounts,omitempty" yaml:"additionalVolumeMounts,omitempty"` AdditionalVolumes []corev1.Volume `json:"additionalVolumes,omitempty" yaml:"additionalVolumes,omitempty"` MaxRequestsInflight *int `json:"maxRequestsInflight,omitempty" yaml:"maxRequestsInflight,omitempty"` MaxMutatingRequestsInflight *int `json:"maxMutatingRequestsInflight,omitempty" yaml:"maxMutatingRequestsInflight,omitempty"` Profiling bool `json:"profiling,omitempty" yaml:"profiling,omitempty"` EncryptionConfig EncryptionConfig `json:"encryptionConfig,omitempty" yaml:"encryptionConfig,omitempty"` }
KubeAPIServer contains configuration for the virtual garden kube-apiserver.
func (*KubeAPIServer) GetMaxMutatingRequestsInflight ¶
func (r *KubeAPIServer) GetMaxMutatingRequestsInflight(defaultValue int) int
func (*KubeAPIServer) GetMaxRequestsInflight ¶
func (r *KubeAPIServer) GetMaxRequestsInflight(defaultValue int) int
type OidcWebhookAuthenticator ¶
type OidcWebhookAuthenticator struct { Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` CertificateAuthorityData string `json:"certificateAuthorityData,omitempty" yaml:"certificateAuthorityData,omitempty"` }
OidcWebhookAuthenticator contains configuration for the OIDC webhook authenticator.
type SNI ¶
type SNI struct { // Hostname is the hostname for the virtual garden kube-apiserver. It is used to create DNS entries // pointing to it. Hostname string `json:"hostname,omitempty" yaml:"hostname,omitempty"` // DNSClass is the DNS class that shall be used to create the DNS entries for the given hostnames. // +optional DNSClass *string `json:"dnsClass,omitempty" yaml:"dnsClass,omitempty"` // TTL is the time-to-live for the DNS entries created for the given hostnames. // +optional TTL *int32 `json:"ttl,omitempty" yaml:"ttl,omitempty"` // SecretName // +optional SecretName string `json:"secretName,omitempty" yaml:"secretName,omitempty"` }
SNI contains configuration for SNI settings for the virtual garden.
type SeedAuthorizer ¶
type SeedAuthorizer struct { Enabled bool `json:"enabled,omitempty" yaml:"enabled,omitempty"` CertificateAuthorityData string `json:"certificateAuthorityData,omitempty" yaml:"certificateAuthorityData,omitempty"` }
SeedAuthorizer contains credentials for the seed authorizer.
type VirtualGarden ¶
type VirtualGarden struct { // ETCD contains configuration for the etcd that is used by the virtual garden kube-apiserver. // +optional ETCD *ETCD `json:"etcd,omitempty" yaml:"etcd,omitempty"` // KubeAPIServer contains configuration for the virtual garden kube-apiserver. // +optional KubeAPIServer *KubeAPIServer `json:"kubeAPIServer,omitempty" yaml:"kubeAPIServer,omitempty"` // DeleteNamespace controls if the namespace should be deleted DeleteNamespace bool `json:"deleteNamespace,omitempty" yaml:"deleteNamespace,omitempty"` PriorityClassName string `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty"` }
VirtualGarden contains configuration for the virtual garden cluster.