Documentation ¶
Overview ¶
+groupName=kubermatic.k8c.io +versionName=v1 +kubebuilder:object:generate=true
Index ¶
- Constants
- Variables
- func IsProviderSupported(name string) bool
- func Resource(resource string) schema.GroupResource
- type AKS
- type APIServerSettings
- type AWS
- type AWSCloudSpec
- type Addon
- type AddonCondition
- type AddonConditionType
- type AddonConfig
- type AddonConfigList
- type AddonConfigSpec
- type AddonFormControl
- type AddonList
- type AddonSpec
- type AddonStatus
- type AdmissionPlugin
- type AdmissionPluginList
- type AdmissionPluginSpec
- type Alertmanager
- type AlertmanagerConfigurationStatus
- type AlertmanagerList
- type AlertmanagerSpec
- type AlertmanagerStatus
- type Alibaba
- type AlibabaCloudSpec
- type AllowedRegistry
- type AllowedRegistryList
- type AllowedRegistrySpec
- type Anexia
- type AnexiaCloudSpec
- type AntiAffinityType
- type ApplicationSettings
- type AuditLoggingSettings
- type AuditPolicyPreset
- type AuditSidecarConfiguration
- type AuditSidecarSettings
- type Azure
- type AzureCloudSpec
- type BackupConfig
- type BackupDestination
- type BackupStatus
- type BackupStatusPhase
- type BringYourOwnCloudSpec
- type Bytes
- type CIDR
- type CNIPluginSettings
- type CNIPluginType
- type CleanupOptions
- type CloudSpec
- type Cluster
- func (in *Cluster) DeepCopy() *Cluster
- func (in *Cluster) DeepCopyInto(out *Cluster)
- func (in *Cluster) DeepCopyObject() runtime.Object
- func (cluster *Cluster) GetSecretName() string
- func (cluster *Cluster) GetUserClusterMLAResourceRequirements() map[string]*corev1.ResourceRequirements
- func (cluster *Cluster) GetUserClusterOPAResourceRequirements() map[string]*corev1.ResourceRequirements
- func (c *Cluster) IsDualStack() bool
- func (cluster *Cluster) IsEncryptionActive() bool
- func (cluster *Cluster) IsEncryptionEnabled() bool
- func (c *Cluster) IsIPv4Only() bool
- func (c *Cluster) IsIPv6Only() bool
- type ClusterAddress
- type ClusterBackupStorageLocation
- type ClusterBackupStorageLocationList
- type ClusterCondition
- type ClusterConditionType
- type ClusterEncryptionPhase
- type ClusterEncryptionStatus
- type ClusterList
- type ClusterNetworkingConfig
- type ClusterPhase
- type ClusterSpec
- func (in *ClusterSpec) DeepCopy() *ClusterSpec
- func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
- func (c ClusterSpec) IsClusterBackupEnabled() bool
- func (c ClusterSpec) IsKubeLBEnabled() bool
- func (c ClusterSpec) IsKubernetesDashboardEnabled() bool
- func (c ClusterSpec) IsOperatingSystemManagerEnabled() bool
- type ClusterStatus
- type ClusterStatusError
- type ClusterTemplate
- type ClusterTemplateInstance
- type ClusterTemplateInstanceList
- type ClusterTemplateInstanceSpec
- type ClusterTemplateList
- type ClusterTemplateSSHKey
- type ClusterVersionsStatus
- type ComponentSettings
- type ConditionType
- type Constraint
- type ConstraintList
- type ConstraintSelector
- type ConstraintSpec
- type ConstraintTemplate
- type ConstraintTemplateList
- type ConstraintTemplateSelector
- type ConstraintTemplateSpec
- type ContainerRuntimeContainerd
- type ContainerdRegistry
- type ControllerSettings
- type CustomLink
- type CustomLinks
- type CustomNetworkPolicy
- type Datacenter
- type DatacenterSpec
- type DatacenterSpecAWS
- type DatacenterSpecAlibaba
- type DatacenterSpecAnexia
- type DatacenterSpecAzure
- type DatacenterSpecBringYourOwn
- type DatacenterSpecDigitalocean
- type DatacenterSpecEdge
- type DatacenterSpecFake
- type DatacenterSpecGCP
- type DatacenterSpecHetzner
- type DatacenterSpecKubevirt
- type DatacenterSpecNutanix
- type DatacenterSpecOpenstack
- type DatacenterSpecPacket
- type DatacenterSpecVMwareCloudDirector
- type DatacenterSpecVSphere
- type DefaultProjectResourceQuota
- type DeploymentSettings
- type Digitalocean
- type DigitaloceanCloudSpec
- type EKS
- type EdgeCloudSpec
- type EncryptionConfiguration
- type EnvoyLoadBalancerService
- type EtcdBackupConfig
- type EtcdBackupConfigCondition
- type EtcdBackupConfigConditionType
- type EtcdBackupConfigList
- type EtcdBackupConfigSpec
- type EtcdBackupConfigStatus
- type EtcdBackupRestore
- type EtcdRestore
- type EtcdRestoreList
- type EtcdRestorePhase
- type EtcdRestoreSpec
- type EtcdRestoreStatus
- type EtcdStatefulSetSettings
- type EventRateLimitConfig
- type EventRateLimitConfigItem
- type ExposeStrategiesSet
- type ExposeStrategy
- type ExtendedClusterHealth
- func (h *ExtendedClusterHealth) AllHealthy() bool
- func (h *ExtendedClusterHealth) ApplicationControllerHealthy() bool
- func (h *ExtendedClusterHealth) ControlPlaneHealthy() bool
- func (in *ExtendedClusterHealth) DeepCopy() *ExtendedClusterHealth
- func (in *ExtendedClusterHealth) DeepCopyInto(out *ExtendedClusterHealth)
- type ExternalCluster
- func (in *ExternalCluster) DeepCopy() *ExternalCluster
- func (in *ExternalCluster) DeepCopyInto(out *ExternalCluster)
- func (in *ExternalCluster) DeepCopyObject() runtime.Object
- func (i *ExternalCluster) GetCredentialsSecretName() string
- func (i *ExternalCluster) GetKubeOneCredentialsSecretName() string
- func (i *ExternalCluster) GetKubeOneManifestSecretName() string
- func (i *ExternalCluster) GetKubeOneNamespaceName() string
- func (i *ExternalCluster) GetKubeOneSSHSecretName() string
- func (i *ExternalCluster) GetKubeconfigSecretName() string
- type ExternalClusterAKSCloudSpec
- type ExternalClusterBringYourOwnCloudSpec
- type ExternalClusterCloudSpec
- type ExternalClusterCondition
- type ExternalClusterEKSCloudSpec
- type ExternalClusterGKECloudSpec
- type ExternalClusterKubeOneCloudSpec
- type ExternalClusterList
- type ExternalClusterNetworkRanges
- type ExternalClusterNetworkingConfig
- type ExternalClusterPhase
- type ExternalClusterProvider
- type ExternalClusterProviderType
- type ExternalClusterProviderVersioningConfiguration
- type ExternalClusterSpec
- type ExternalClusterStatus
- type Fake
- type FakeCloudSpec
- type GCP
- type GCPCloudSpec
- type GKE
- type GroupProjectBinding
- type GroupProjectBindingList
- type GroupProjectBindingSpec
- type GroupVersionKind
- type HealthStatus
- type Hetzner
- type HetznerCloudSpec
- type IPAMAllocation
- type IPAMAllocationList
- type IPAMAllocationSpec
- type IPAMPool
- type IPAMPoolAllocationType
- type IPAMPoolDatacenterSettings
- type IPAMPoolList
- type IPAMPoolSpec
- type IPFamily
- type IPVSConfiguration
- type ImageList
- type ImageListWithVersions
- type Incompatibility
- type Kind
- type KonnectivityProxySettings
- type KubeLB
- type KubeLBDatacenterSettings
- type KubeLBSettings
- type KubeVirtHTTPSource
- type KubeVirtImageSources
- type KubeVirtInfraStorageClass
- type KubermaticAPIConfiguration
- type KubermaticAddonsConfiguration
- type KubermaticAuthConfiguration
- type KubermaticConfiguration
- type KubermaticConfigurationList
- type KubermaticConfigurationSpec
- type KubermaticConfigurationStatus
- type KubermaticIngressConfiguration
- type KubermaticMasterControllerConfiguration
- type KubermaticProjectsMigratorConfiguration
- type KubermaticProxyConfiguration
- type KubermaticSeedControllerConfiguration
- type KubermaticSetting
- type KubermaticSettingList
- type KubermaticUIConfiguration
- type KubermaticUserClusterConfiguration
- type KubermaticUserClusterMonitoringConfiguration
- type KubermaticVPAComponent
- type KubermaticVPAConfiguration
- type KubermaticVersioningConfiguration
- type KubermaticWebhookConfiguration
- type KubernetesDashboard
- type Kubevirt
- type KubevirtCloudSpec
- type LBSKU
- type LeaderElectionSettings
- type LoggingRateLimitSettings
- type MLAAdminSetting
- type MLAAdminSettingList
- type MLAAdminSettingSpec
- type MLASettings
- type MachineControllerConfiguration
- type MachineDeploymentOptions
- type MachineFlavorFilter
- type MachineNetworkingConfig
- type Match
- type MeteringConfiguration
- type MeteringReportConfiguration
- type MlaOptions
- type MonitoringRateLimitSettings
- type NetworkRanges
- func (in *NetworkRanges) DeepCopy() *NetworkRanges
- func (in *NetworkRanges) DeepCopyInto(out *NetworkRanges)
- func (r *NetworkRanges) GetIPv4CIDR() string
- func (r *NetworkRanges) GetIPv4CIDRs() (res []string)
- func (r *NetworkRanges) GetIPv6CIDR() string
- func (r *NetworkRanges) GetIPv6CIDRs() (res []string)
- func (r *NetworkRanges) HasIPv4CIDR() bool
- func (r *NetworkRanges) HasIPv6CIDR() bool
- func (r *NetworkRanges) Validate() error
- type NodePortProxyComponentEnvoy
- type NodeSettings
- type NodeportProxyComponent
- type NodeportProxyConfig
- type NotificationsOptions
- type Nutanix
- type NutanixCSIConfig
- type NutanixCloudSpec
- type OIDCProviderConfiguration
- type OIDCSettings
- type OPAIntegrationSettings
- type OSVersions
- type OpaOptions
- type OpenStack
- type Openstack
- type OpenstackCloudSpec
- type OpenstackNodeSizeRequirements
- type OperatingSystemManager
- type OperatingSystemProfileList
- type OperationType
- type Packet
- type PacketCloudSpec
- type Parameters
- type PreAllocatedDataVolume
- type Preset
- type PresetInvalidationReason
- type PresetList
- type PresetSpec
- type Project
- type ProjectGroup
- type ProjectList
- type ProjectPhase
- type ProjectSpec
- type ProjectStatus
- type ProviderConfiguration
- type ProviderPreset
- type ProviderType
- type ProxySettings
- type ProxyValue
- type ResourceDetails
- type ResourceQuota
- type ResourceQuotaList
- type ResourceQuotaSpec
- type ResourceQuotaStatus
- type RuleGroup
- type RuleGroupList
- type RuleGroupSpec
- type RuleGroupType
- type SSHKeySpec
- type SecretboxEncryptionConfiguration
- type SecretboxKey
- type Seed
- func (in *Seed) DeepCopy() *Seed
- func (in *Seed) DeepCopyInto(out *Seed)
- func (in *Seed) DeepCopyObject() runtime.Object
- func (s *Seed) GetEtcdBackupDestination(destinationName string) *BackupDestination
- func (s *Seed) IsDefaultEtcdAutomaticBackupEnabled() bool
- func (s *Seed) IsEtcdAutomaticBackupEnabled() bool
- func (s *Seed) IsUpToDate(masterVersions kubermatic.Versions) bool
- func (s *Seed) SetDefaults()
- func (s *Seed) SetKubermaticVersion(masterVersions kubermatic.Versions)
- type SeedCondition
- type SeedConditionType
- type SeedList
- type SeedMLASettings
- type SeedPhase
- type SeedSpec
- type SeedStatus
- type SeedVersionsStatus
- type ServiceAccountSettings
- type SettingSpec
- type StatefulSetSettings
- type Subject
- type SubnetCIDR
- type SystemApplicationsConfiguration
- type Update
- type UpdateWindow
- type User
- type UserList
- type UserProjectBinding
- type UserProjectBindingList
- type UserProjectBindingSpec
- type UserSSHKey
- func (sk *UserSSHKey) AddToCluster(clustername string)
- func (in *UserSSHKey) DeepCopy() *UserSSHKey
- func (in *UserSSHKey) DeepCopyInto(out *UserSSHKey)
- func (in *UserSSHKey) DeepCopyObject() runtime.Object
- func (sk *UserSSHKey) IsUsedByCluster(clustername string) bool
- func (sk *UserSSHKey) RemoveFromCluster(clustername string)
- type UserSSHKeyList
- type UserSettings
- type UserSpec
- type UserStatus
- type VMwareCloudDirector
- type VMwareCloudDirectorCSIConfig
- type VMwareCloudDirectorCloudSpec
- type VMwareCloudDirectorSettings
- type VSphere
- type VSphereCloudSpec
- type VSphereCredentials
- type VSphereTag
Constants ¶
const ( // AddonResourceName represents "Resource" defined in Kubernetes. AddonResourceName = "addons" // AddonKindName represents "Kind" defined in Kubernetes. AddonKindName = "Addon" AddonResourcesCreated AddonConditionType = "AddonResourcesCreatedSuccessfully" )
const ( // AlertmanagerResourceName represents "Resource" defined in Kubernetes. AlertmanagerResourceName = "alertmanagers" // AlertmanagerKindName represents "Kind" defined in Kubernetes. AlertmanagerKindName = "Alertmanager" )
const ( // AllowedRegistryResourceName represents "Resource" defined in Kubernetes. AllowedRegistryResourceName = "allowedregistry" // AllowedRegistryKindName represents "Kind" defined in Kubernetes. AllowedRegistryKindName = "AllowedRegistry" )
const ( // ClusterResourceName represents "Resource" defined in Kubernetes. ClusterResourceName = "clusters" // ClusterKindName represents "Kind" defined in Kubernetes. ClusterKindName = "Cluster" // CredentialPrefix is the prefix used for the secrets containing cloud provider crednentials. CredentialPrefix = "credential" // ForceRestartAnnotation is key of the annotation used to restart machine deployments. ForceRestartAnnotation = "forceRestart" // PresetNameAnnotation is key of the annotation used to hold preset name if was used for the cluster creation. PresetNameAnnotation = "presetName" // PresetInvalidatedAnnotation is key of the annotation used to indicate why the preset was invalidated. PresetInvalidatedAnnotation = "presetInvalidated" )
const ( CCMMigrationNeededAnnotation = "ccm-migration.k8c.io/migration-needed" CSIMigrationNeededAnnotation = "csi-migration.k8c.io/migration-needed" )
const ( WorkerNameLabelKey = "worker-name" ProjectIDLabelKey = "project-id" ExternalClusterIDLabelKey = "external-cluster-id" UpdatedByVPALabelKey = "updated-by-vpa" IsCredentialPresetLabelKey = "is-credential-preset" DefaultEtcdClusterSize = 3 MinEtcdClusterSize = 3 MaxEtcdClusterSize = 9 DefaultKonnectivityKeepaliveTime = "1m" )
const ( AzureStandardLBSKU = LBSKU("standard") AzureBasicLBSKU = LBSKU("basic") )
const ( PresetDeleted = PresetInvalidationReason("deleted") PresetChanged = PresetInvalidationReason("changed") )
const ( // ClusterFeatureExternalCloudProvider describes the external cloud provider feature. It is // only supported on a limited set of providers for a specific set of Kube versions. It must // not be set if its not supported. ClusterFeatureExternalCloudProvider = "externalCloudProvider" // ClusterFeatureCCMClusterName sets the cluster-name flag on the external CCM deployment. // The cluster-name flag is often used for naming cloud resources, such as load balancers. ClusterFeatureCCMClusterName = "ccmClusterName" // ClusterFeatureVsphereCSIClusterID sets the cluster-id in the vSphere CSI config to // the name of the user cluster. Originally, we have been setting cluster-id to the // vSphere Compute Cluster name (provided via the Datacenter object), however, // this is supposed to identify the Kubernetes cluster, therefore it must be unique. // This feature flag is enabled by default for new vSphere clusters, while existing // vSphere clusters must be migrated manually (preferably by following advice here: // https://kb.vmware.com/s/article/84446). ClusterFeatureVsphereCSIClusterID = "vsphereCSIClusterID" // ClusterFeatureEtcdLauncher enables features related to the experimental etcd-launcher. This includes user-cluster // etcd scaling, automatic volume recovery and new backup/restore controllers. ClusterFeatureEtcdLauncher = "etcdLauncher" // ApiserverNetworkPolicy enables the deployment of network policies that // restrict the egress traffic from Apiserver pods. ApiserverNetworkPolicy = "apiserverNetworkPolicy" // KubeSystemNetworkPolicies enables the deployment of network policies to kube-system namespace that // restrict traffic from all pods in the namespace. KubeSystemNetworkPolicies = "kubeSystemNetworkPolicies" // ClusterFeatureEncryptionAtRest enables the experimental "encryption-at-rest" feature, which allows encrypting // Kubernetes data in etcd with a user-provided encryption key or KMS service. ClusterFeatureEncryptionAtRest = "encryptionAtRest" )
const ( AntiAffinityTypePreferred = "preferred" AntiAffinityTypeRequired = "required" )
const ( HealthStatusDown = HealthStatus("HealthStatusDown") HealthStatusUp = HealthStatus("HealthStatusUp") HealthStatusProvisioning = HealthStatus("HealthStatusProvisioning") )
const ( // ClusterTemplateInstanceResourceName represents "Resource" defined in Kubernetes. ClusterTemplateInstanceResourceName = "clustertemplateinstances" // ClusterTemplateInstanceKindName represents "Kind" defined in Kubernetes. ClusterTemplateInstanceKindName = "ClusterTemplateInstance" )
const ( UserClusterTemplateScope = "user" ProjectClusterTemplateScope = "project" GlobalClusterTemplateScope = "global" SeedTemplateScope = "seed" )
const ( ClusterTemplateLabelKey = "template-id" ClusterTemplateInstanceLabelKey = "template-instance-id" ClusterTemplateScopeLabelKey = "scope" ClusterTemplateUserAnnotationKey = "user" ClusterTemplateProjectLabelKey = "project-id" ClusterTemplateHumanReadableNameLabelKey = "name" )
const ( // ClusterTemplateResourceName represents "Resource" defined in Kubernetes. ClusterTemplateResourceName = "clustertemplates" // ClusterTemplateKindName represents "Kind" defined in Kubernetes. ClusterTemplateKindName = "ClusterTemplate" )
const ( // NodeDeletionFinalizer indicates that the nodes still need cleanup. NodeDeletionFinalizer = "kubermatic.k8c.io/delete-nodes" // NamespaceCleanupFinalizer indicates that the cluster namespace still exists and the owning Cluster object // must not yet be deleted. NamespaceCleanupFinalizer = "kubermatic.k8c.io/cleanup-namespace" // InClusterPVCleanupFinalizer indicates that the PVs still need cleanup. InClusterPVCleanupFinalizer = "kubermatic.k8c.io/cleanup-in-cluster-pv" // InClusterLBCleanupFinalizer indicates that the LBs still need cleanup. InClusterLBCleanupFinalizer = "kubermatic.k8c.io/cleanup-in-cluster-lb" // CredentialsSecretsCleanupFinalizer indicates that secrets for credentials still need cleanup. CredentialsSecretsCleanupFinalizer = "kubermatic.k8c.io/cleanup-credentials-secrets" // ExternalClusterKubeOneNamespaceCleanupFinalizer indicates that kubeone cluster namespace still need cleanup. ExternalClusterKubeOneNamespaceCleanupFinalizer = "kubermatic.k8c.io/cleanup-kubeone-namespace" // ExternalClusterKubeconfigCleanupFinalizer indicates that secrets for kubeconfig still need cleanup. ExternalClusterKubeconfigCleanupFinalizer = "kubermatic.k8c.io/cleanup-kubeconfig-secret" // ExternalClusterKubeOneCleanupFinalizer indicates that secrets for kubeone cluster still need cleanup. ExternalClusterKubeOneSecretsCleanupFinalizer = "kubermatic.k8c.io/cleanup-kubeone-secret" // EtcdBackConfigCleanupFinalizer indicates that EtcdBackupConfigs for the cluster still need cleanup. EtcdBackupConfigCleanupFinalizer = "kubermatic.k8c.io/cleanup-etcdbackupconfigs" // GatekeeperConstraintCleanupFinalizer indicates that gatkeeper constraints on the user cluster need cleanup. GatekeeperConstraintCleanupFinalizer = "kubermatic.k8c.io/cleanup-gatekeeper-constraints" // KubermaticConstraintCleanupFinalizer indicates that Kubermatic constraints for the cluster need cleanup. KubermaticConstraintCleanupFinalizer = "kubermatic.k8c.io/cleanup-kubermatic-constraints" )
const ( InitialMachineDeploymentRequestAnnotation = "kubermatic.io/initial-machinedeployment-request" InitialApplicationInstallationsRequestAnnotation = "kubermatic.io/initial-application-installations-request" InitialCNIValuesRequestAnnotation = "kubermatic.io/initial-cni-values-request" )
const ( // ConstraintResourceName represents "Resource" defined in Kubernetes. ConstraintResourceName = "constraints" // ConstraintKind represents "Kind" defined in Kubernetes. ConstraintKind = "Constraint" )
const ( // ConstraintTemplateResourceName represents "Resource" defined in Kubernetes. ConstraintTemplateResourceName = "constrainttemplates" // ConstraintTemplateKind represents "Kind" defined in Kubernetes. ConstraintTemplateKind = "ConstraintTemplate" )
const ( // EtcdBackupConfigResourceName represents "Resource" defined in Kubernetes. EtcdBackupConfigResourceName = "etcdbackupconfigs" // EtcdBackupConfigKindName represents "Kind" defined in Kubernetes. EtcdBackupConfigKindName = "EtcdBackupConfig" DefaultKeptBackupsCount = 20 MaxKeptBackupsCount = 50 // BackupStatusPhase value indicating that the corresponding job has started. BackupStatusPhaseRunning = "Running" // BackupStatusPhase value indicating that the corresponding job has completed successfully. BackupStatusPhaseCompleted = "Completed" // BackupStatusPhase value indicating that the corresponding job has completed with an error. BackupStatusPhaseFailed = "Failed" )
const ( // ExternalClusterResourceName represents "Resource" defined in Kubernetes. ExternalClusterResourceName = "externalclusters" // ExternalClusterKind represents "Kind" defined in Kubernetes. ExternalClusterKind = "ExternalCluster" // ExternalCluster Kubeconfig secret prefix. ExternalClusterKubeconfigPrefix = "kubeconfig-external-cluster" // KubeOneNamespacePrefix is the kubeone namespace prefix. KubeOneNamespacePrefix = "kubeone" // don't change this as these prefixes are used for rbac generation. // KubeOne ssh secret prefixes. KubeOneSSHSecretPrefix = "ssh-kubeone-external-cluster" // KubeOne manifest secret prefixes. KubeOneManifestSecretPrefix = "manifest-kubeone-external-cluster" )
const ( // GroupProjectBindingResourceName represents "Resource" defined in Kubernetes. GroupProjectBindingResourceName = "groupprojectbindings" // GroupProjectBindingKind represents "Kind" defined in Kubernetes. GroupProjectBindingKind = "GroupProjectBinding" // AuthZRoleLabel is the label used by rbac-controller and group-rbac-controller to identify the KKP role a ClusterRole or Role were created for. AuthZRoleLabel = "authz.k8c.io/role" // AuthZGroupProjectBindingLabel references the GroupProjectBinding resource that a ClusterRole/Role was created for. AuthZGroupProjectBindingLabel = "authz.k8c.io/group-project-binding" )
const ( // IPAMAllocationResourceName represents "Resource" defined in Kubernetes. IPAMAllocationResourceName = "ipamallocation" // IPAMAllocationKindName represents "Kind" defined in Kubernetes. IPAMAllocationKindName = "IPAMAllocation" )
const ( // IPAMPoolResourceName represents "Resource" defined in Kubernetes. IPAMPoolResourceName = "ipampool" // IPAMPoolKindName represents "Kind" defined in Kubernetes. IPAMPoolKindName = "IPAMPool" )
const ( // MLAAdminSettingResourceName represents "Resource" defined in Kubernetes. MLAAdminSettingResourceName = "mlaadminsettings" // MLAAdminSettingKindName represents "Kind" defined in Kubernetes. MLAAdminSettingKindName = "MLAAdminSetting" )
const ( // ProjectResourceName represents "Resource" defined in Kubernetes. ProjectResourceName = "projects" // ProjectKindName represents "Kind" defined in Kubernetes. ProjectKindName = "Project" )
const ( // ResourceQuotaKindName represents "Kind" defined in Kubernetes. ResourceQuotaKindName = "ResourceQuota" ResourceQuotaSubjectNameLabelKey = "subject-name" ResourceQuotaSubjectKindLabelKey = "subject-kind" ProjectSubjectKind = "project" )
const ( // RuleGroupResourceName represents "Resource" defined in Kubernetes. RuleGroupResourceName = "rulegroups" // RuleGroupKindName represents "Kind" defined in Kubernetes. RuleGroupKindName = "RuleGroup" )
const ( // SSHKeyResourceName represents "Resource" defined in Kubernetes. SSHKeyResourceName = "usersshkeys" // SSHKeyKind represents "Kind" defined in Kubernetes. SSHKeyKind = "UserSSHKey" )
const ( // UserResourceName represents "Resource" defined in Kubernetes. UserResourceName = "users" // UserKindName represents "Kind" defined in Kubernetes. UserKindName = "User" // ServiceAccountInitialGroupLabel is the name of the label on a KKP User object // that contains the initial group for a ServiceAccount. If a User is // a ServiceAccount, the the serviceaccount-projectbinding-controller will // create a matching ProjectBinding for the User. ServiceAccountInitialGroupLabel = "initialGroup" )
const ( // UserProjectBindingResourceName represents "Resource" defined in Kubernetes. UserProjectBindingResourceName = "userprojectbindings" // UserProjectBindingKind represents "Kind" defined in Kubernetes. UserProjectBindingKind = "UserProjectBinding" )
const ClusterTemplateInstanceOwnerAnnotationKey = "owner"
ClusterTemplateInstanceOwnerAnnotationKey represents the user cluster owner.
const DefaultNodeAccessNetwork = "10.254.0.0/16"
DefaultNodeAccessNetwork is the default CIDR used for the VPNs transit network through which we route the ControlPlane -> Node/Pod traffic.
const GlobalSettingsName = "globalsettings"
const GroupName = "kubermatic.k8c.io"
GroupName is the group name use in this package.
const GroupVersion = "v1"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var AllClusterConditionTypes = []ClusterConditionType{ ClusterConditionSeedResourcesUpToDate, ClusterConditionClusterControllerReconcilingSuccess, ClusterConditionAddonControllerReconcilingSuccess, ClusterConditionCloudControllerReconcilingSuccess, ClusterConditionUpdateControllerReconcilingSuccess, ClusterConditionMonitoringControllerReconcilingSuccess, }
var AllExposeStrategies = NewExposeStrategiesSet(ExposeStrategyNodePort, ExposeStrategyLoadBalancer, ExposeStrategyTunneling)
AllExposeStrategies is a set containing all the ExposeStrategy.
var AllSeedConditionTypes = []SeedConditionType{ SeedConditionResourcesReconciled, }
var ProtectedClusterLabels = sets.New(WorkerNameLabelKey, ProjectIDLabelKey, IsCredentialPresetLabelKey)
ProtectedClusterLabels is a set of labels that must not be set by users on clusters, as they are security relevant.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is group version used to register these objects.
var ( SupportedKubeVirtOS = map[providerconfig.OperatingSystem]*struct{}{ providerconfig.OperatingSystemCentOS: nil, providerconfig.OperatingSystemUbuntu: nil, providerconfig.OperatingSystemRHEL: nil, providerconfig.OperatingSystemFlatcar: nil, providerconfig.OperatingSystemRockyLinux: nil, } )
var ( SupportedProviders = []ProviderType{ AKSCloudProvider, AlibabaCloudProvider, AnexiaCloudProvider, AWSCloudProvider, AzureCloudProvider, BringYourOwnCloudProvider, DigitaloceanCloudProvider, EdgeCloudProvider, EKSCloudProvider, FakeCloudProvider, GCPCloudProvider, GKECloudProvider, HetznerCloudProvider, KubevirtCloudProvider, NutanixCloudProvider, OpenstackCloudProvider, PacketCloudProvider, VMwareCloudDirectorCloudProvider, VSphereCloudProvider, } )
Functions ¶
func IsProviderSupported ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource.
Types ¶
type AKS ¶
type AKS struct { ProviderPreset `json:",inline"` // The Azure Active Directory Tenant used for the user cluster. TenantID string `json:"tenantID"` // The Azure Subscription used for the user cluster. SubscriptionID string `json:"subscriptionID"` // The service principal used to access Azure. ClientID string `json:"clientID"` // The client secret corresponding to the given service principal. ClientSecret string `json:"clientSecret"` }
func (*AKS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AKS.
func (*AKS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServerSettings ¶
type APIServerSettings struct { DeploymentSettings `json:",inline"` EndpointReconcilingDisabled *bool `json:"endpointReconcilingDisabled,omitempty"` NodePortRange string `json:"nodePortRange,omitempty"` }
func (*APIServerSettings) DeepCopy ¶
func (in *APIServerSettings) DeepCopy() *APIServerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServerSettings.
func (*APIServerSettings) DeepCopyInto ¶
func (in *APIServerSettings) DeepCopyInto(out *APIServerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWS ¶
type AWS struct { ProviderPreset `json:",inline"` // The Access key ID used to authenticate against AWS. AccessKeyID string `json:"accessKeyID"` // The Secret Access Key used to authenticate against AWS. SecretAccessKey string `json:"secretAccessKey"` // Defines the ARN for an IAM role that should be assumed when handling resources on AWS. It will be used // to acquire temporary security credentials using an STS AssumeRole API operation whenever creating an AWS session. // +optional AssumeRoleARN string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle // An arbitrary string that may be needed when calling the STS AssumeRole API operation. // Using an external ID can help to prevent the "confused deputy problem". // +optional AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"` // AWS VPC to use. Must be configured. VPCID string `json:"vpcID,omitempty"` // Route table to use. This can be configured, but if left empty will be // automatically filled in during reconciliation. RouteTableID string `json:"routeTableID,omitempty"` // Instance profile to use. This can be configured, but if left empty will be // automatically filled in during reconciliation. InstanceProfileName string `json:"instanceProfileName,omitempty"` // Security group to use. This can be configured, but if left empty will be // automatically filled in during reconciliation. SecurityGroupID string `json:"securityGroupID,omitempty"` // ARN to use. This can be configured, but if left empty will be // automatically filled in during reconciliation. ControlPlaneRoleARN string `json:"roleARN,omitempty"` //nolint:tagliatelle }
func (*AWS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWS.
func (*AWS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSCloudSpec ¶
type AWSCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The Access key ID used to authenticate against AWS. AccessKeyID string `json:"accessKeyID,omitempty"` // The Secret Access Key used to authenticate against AWS. SecretAccessKey string `json:"secretAccessKey,omitempty"` // Defines the ARN for an IAM role that should be assumed when handling resources on AWS. It will be used // to acquire temporary security credentials using an STS AssumeRole API operation whenever creating an AWS session. // +optional AssumeRoleARN string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle // An arbitrary string that may be needed when calling the STS AssumeRole API operation. // Using an external ID can help to prevent the "confused deputy problem". // +optional AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"` VPCID string `json:"vpcID"` // The IAM role, the control plane will use. The control plane will perform an assume-role ControlPlaneRoleARN string `json:"roleARN"` //nolint:tagliatelle RouteTableID string `json:"routeTableID"` InstanceProfileName string `json:"instanceProfileName"` SecurityGroupID string `json:"securityGroupID"` // A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"` // Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRanges *NetworkRanges `json:"nodePortsAllowedIPRanges,omitempty"` // DisableIAMReconciling is used to disable reconciliation for IAM related configuration. This is useful in air-gapped // setups where access to IAM service is not possible. DisableIAMReconciling bool `json:"disableIAMReconciling,omitempty"` //nolint:tagliatelle }
AWSCloudSpec specifies access data to Amazon Web Services.
func (*AWSCloudSpec) DeepCopy ¶
func (in *AWSCloudSpec) DeepCopy() *AWSCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSCloudSpec.
func (*AWSCloudSpec) DeepCopyInto ¶
func (in *AWSCloudSpec) DeepCopyInto(out *AWSCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Addon ¶
type Addon struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired addon state. Spec AddonSpec `json:"spec,omitempty"` // Status contains information about the reconciliation status. Status AddonStatus `json:"status,omitempty"` }
Addon specifies a cluster addon. Addons can be installed into user clusters to provide additional manifests for CNIs, CSIs or other applications, which makes addons a necessary component to create functioning user clusters. Addon objects must be created inside cluster namespaces.
func (*Addon) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addon.
func (*Addon) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Addon) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonCondition ¶
type AddonCondition struct { // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` }
func (*AddonCondition) DeepCopy ¶
func (in *AddonCondition) DeepCopy() *AddonCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonCondition.
func (*AddonCondition) DeepCopyInto ¶
func (in *AddonCondition) DeepCopyInto(out *AddonCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonConditionType ¶
type AddonConditionType string
type AddonConfig ¶
type AddonConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the configuration of an addon. Spec AddonConfigSpec `json:"spec,omitempty"` }
AddonConfig specifies addon configuration. Addons can be installed without a matching AddonConfig, but they will be missing a logo, description and the potentially necessary form fields in the KKP dashboard to make the addon comfortable to use.
func (*AddonConfig) DeepCopy ¶
func (in *AddonConfig) DeepCopy() *AddonConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonConfig.
func (*AddonConfig) DeepCopyInto ¶
func (in *AddonConfig) DeepCopyInto(out *AddonConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonConfig) DeepCopyObject ¶
func (in *AddonConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonConfigList ¶
type AddonConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of AddonConfig objects. Items []AddonConfig `json:"items"` }
AddonConfigList is a list of addon configs.
func (*AddonConfigList) DeepCopy ¶
func (in *AddonConfigList) DeepCopy() *AddonConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonConfigList.
func (*AddonConfigList) DeepCopyInto ¶
func (in *AddonConfigList) DeepCopyInto(out *AddonConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonConfigList) DeepCopyObject ¶
func (in *AddonConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonConfigSpec ¶
type AddonConfigSpec struct { // ShortDescription of the configured addon that contains more detailed information about the addon, // it will be displayed in the addon details view in the UI ShortDescription string `json:"shortDescription,omitempty"` // Description of the configured addon, it will be displayed in the addon overview in the UI Description string `json:"description,omitempty"` // Logo of the configured addon, encoded in base64 Logo string `json:"logo,omitempty"` // LogoFormat contains logo format of the configured addon, i.e. svg+xml LogoFormat string `json:"logoFormat,omitempty"` // Controls that can be set for configured addon Controls []AddonFormControl `json:"formSpec,omitempty"` }
AddonConfigSpec specifies configuration of addon.
func (*AddonConfigSpec) DeepCopy ¶
func (in *AddonConfigSpec) DeepCopy() *AddonConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonConfigSpec.
func (*AddonConfigSpec) DeepCopyInto ¶
func (in *AddonConfigSpec) DeepCopyInto(out *AddonConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonFormControl ¶
type AddonFormControl struct { // DisplayName is visible in the UI DisplayName string `json:"displayName,omitempty"` // InternalName is used internally to save in the addon object InternalName string `json:"internalName,omitempty"` // HelpText is visible in the UI next to the control HelpText string `json:"helpText,omitempty"` // Required indicates if the control has to be set Required bool `json:"required,omitempty"` // Type of displayed control Type string `json:"type,omitempty"` }
AddonFormControl specifies addon form control.
func (*AddonFormControl) DeepCopy ¶
func (in *AddonFormControl) DeepCopy() *AddonFormControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonFormControl.
func (*AddonFormControl) DeepCopyInto ¶
func (in *AddonFormControl) DeepCopyInto(out *AddonFormControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonList ¶
type AddonList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of the cluster addons. Items []Addon `json:"items"` }
AddonList is a list of addons.
func (*AddonList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonList.
func (*AddonList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonSpec ¶
type AddonSpec struct { // Name defines the name of the addon to install Name string `json:"name"` // Cluster is the reference to the cluster the addon should be installed in Cluster corev1.ObjectReference `json:"cluster"` // Variables is free form data to use for parsing the manifest templates // +kubebuilder:pruning:PreserveUnknownFields Variables *runtime.RawExtension `json:"variables,omitempty"` // RequiredResourceTypes allows to indicate that this addon needs some resource type before it // can be installed. This can be used to indicate that a specific CRD and/or extension // apiserver must be installed before this addon can be installed. The addon will not // be installed until that resource is served. RequiredResourceTypes []GroupVersionKind `json:"requiredResourceTypes,omitempty"` // IsDefault indicates whether the addon is installed because it was configured in // the default addon section in the KubermaticConfiguration. User-installed addons // must not set this field to true, as extra default Addon objects (that are not in // the KubermaticConfiguration) will be garbage-collected. IsDefault bool `json:"isDefault,omitempty"` }
AddonSpec specifies details of an addon.
func (*AddonSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonSpec.
func (*AddonSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonStatus ¶
type AddonStatus struct {
Conditions map[AddonConditionType]AddonCondition `json:"conditions,omitempty"`
}
AddonStatus contains information about the reconciliation status.
func (*AddonStatus) DeepCopy ¶
func (in *AddonStatus) DeepCopy() *AddonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonStatus.
func (*AddonStatus) DeepCopyInto ¶
func (in *AddonStatus) DeepCopyInto(out *AddonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AdmissionPlugin ¶
type AdmissionPlugin struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes an admission plugin name and in which k8s version it is supported. Spec AdmissionPluginSpec `json:"spec,omitempty"` }
AdmissionPlugin is the type representing a AdmissionPlugin.
func (*AdmissionPlugin) DeepCopy ¶
func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPlugin.
func (*AdmissionPlugin) DeepCopyInto ¶
func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdmissionPlugin) DeepCopyObject ¶
func (in *AdmissionPlugin) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AdmissionPluginList ¶
type AdmissionPluginList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of Admission Plugins Items []AdmissionPlugin `json:"items"` }
AdmissionPluginList is the type representing a AdmissionPluginList.
func (*AdmissionPluginList) DeepCopy ¶
func (in *AdmissionPluginList) DeepCopy() *AdmissionPluginList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginList.
func (*AdmissionPluginList) DeepCopyInto ¶
func (in *AdmissionPluginList) DeepCopyInto(out *AdmissionPluginList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AdmissionPluginList) DeepCopyObject ¶
func (in *AdmissionPluginList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AdmissionPluginSpec ¶
type AdmissionPluginSpec struct { PluginName string `json:"pluginName"` // FromVersion flag can be empty. It means the plugin fit to all k8s versions FromVersion *semver.Semver `json:"fromVersion,omitempty"` }
AdmissionPluginSpec specifies admission plugin name and from which k8s version is supported.
func (*AdmissionPluginSpec) DeepCopy ¶
func (in *AdmissionPluginSpec) DeepCopy() *AdmissionPluginSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdmissionPluginSpec.
func (*AdmissionPluginSpec) DeepCopyInto ¶
func (in *AdmissionPluginSpec) DeepCopyInto(out *AdmissionPluginSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Alertmanager ¶
type Alertmanager struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the configuration of the Alertmanager. Spec AlertmanagerSpec `json:"spec,omitempty"` // Status stores status information about the Alertmanager. Status AlertmanagerStatus `json:"status,omitempty"` }
func (*Alertmanager) DeepCopy ¶
func (in *Alertmanager) DeepCopy() *Alertmanager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alertmanager.
func (*Alertmanager) DeepCopyInto ¶
func (in *Alertmanager) DeepCopyInto(out *Alertmanager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Alertmanager) DeepCopyObject ¶
func (in *Alertmanager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AlertmanagerConfigurationStatus ¶
type AlertmanagerConfigurationStatus struct { // LastUpdated stores the last successful time when the configuration was successfully applied LastUpdated metav1.Time `json:"lastUpdated,omitempty"` // Status of whether the configuration was applied, one of True, False Status corev1.ConditionStatus `json:"status"` // ErrorMessage contains a default error message in case the configuration could not be applied. // Will be reset if the error was resolved and condition becomes True ErrorMessage string `json:"errorMessage,omitempty"` }
AlertmanagerConfigurationStatus stores status information about the AlertManager configuration.
func (*AlertmanagerConfigurationStatus) DeepCopy ¶
func (in *AlertmanagerConfigurationStatus) DeepCopy() *AlertmanagerConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerConfigurationStatus.
func (*AlertmanagerConfigurationStatus) DeepCopyInto ¶
func (in *AlertmanagerConfigurationStatus) DeepCopyInto(out *AlertmanagerConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlertmanagerList ¶
type AlertmanagerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of Alertmanager objects. Items []Alertmanager `json:"items"` }
func (*AlertmanagerList) DeepCopy ¶
func (in *AlertmanagerList) DeepCopy() *AlertmanagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerList.
func (*AlertmanagerList) DeepCopyInto ¶
func (in *AlertmanagerList) DeepCopyInto(out *AlertmanagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AlertmanagerList) DeepCopyObject ¶
func (in *AlertmanagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AlertmanagerSpec ¶
type AlertmanagerSpec struct { // ConfigSecret refers to the Secret in the same namespace as the Alertmanager object, // which contains configuration for this Alertmanager. ConfigSecret corev1.LocalObjectReference `json:"configSecret"` }
AlertmanagerSpec describes the configuration of the Alertmanager.
func (*AlertmanagerSpec) DeepCopy ¶
func (in *AlertmanagerSpec) DeepCopy() *AlertmanagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerSpec.
func (*AlertmanagerSpec) DeepCopyInto ¶
func (in *AlertmanagerSpec) DeepCopyInto(out *AlertmanagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlertmanagerStatus ¶
type AlertmanagerStatus struct { // ConfigStatus stores status information about the AlertManager configuration. ConfigStatus AlertmanagerConfigurationStatus `json:"configStatus,omitempty"` }
AlertmanagerStatus stores status information about the AlertManager.
func (*AlertmanagerStatus) DeepCopy ¶
func (in *AlertmanagerStatus) DeepCopy() *AlertmanagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlertmanagerStatus.
func (*AlertmanagerStatus) DeepCopyInto ¶
func (in *AlertmanagerStatus) DeepCopyInto(out *AlertmanagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Alibaba ¶
type Alibaba struct { ProviderPreset `json:",inline"` // The Access Key ID used to authenticate against Alibaba. AccessKeyID string `json:"accessKeyID"` // The Access Key Secret used to authenticate against Alibaba. AccessKeySecret string `json:"accessKeySecret"` }
func (*Alibaba) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Alibaba.
func (*Alibaba) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AlibabaCloudSpec ¶
type AlibabaCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The Access Key ID used to authenticate against Alibaba. AccessKeyID string `json:"accessKeyID,omitempty"` // The Access Key Secret used to authenticate against Alibaba. AccessKeySecret string `json:"accessKeySecret,omitempty"` }
AlibabaCloudSpec specifies the access data to Alibaba.
func (*AlibabaCloudSpec) DeepCopy ¶
func (in *AlibabaCloudSpec) DeepCopy() *AlibabaCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlibabaCloudSpec.
func (*AlibabaCloudSpec) DeepCopyInto ¶
func (in *AlibabaCloudSpec) DeepCopyInto(out *AlibabaCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllowedRegistry ¶
type AllowedRegistry struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired state for an allowed registry. Spec AllowedRegistrySpec `json:"spec,omitempty"` }
AllowedRegistry is the object representing an allowed registry.
func (*AllowedRegistry) DeepCopy ¶
func (in *AllowedRegistry) DeepCopy() *AllowedRegistry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRegistry.
func (*AllowedRegistry) DeepCopyInto ¶
func (in *AllowedRegistry) DeepCopyInto(out *AllowedRegistry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AllowedRegistry) DeepCopyObject ¶
func (in *AllowedRegistry) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AllowedRegistryList ¶
type AllowedRegistryList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of the allowed registries. Items []AllowedRegistry `json:"items"` }
AllowedRegistryList specifies a list of allowed registries.
func (*AllowedRegistryList) DeepCopy ¶
func (in *AllowedRegistryList) DeepCopy() *AllowedRegistryList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRegistryList.
func (*AllowedRegistryList) DeepCopyInto ¶
func (in *AllowedRegistryList) DeepCopyInto(out *AllowedRegistryList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AllowedRegistryList) DeepCopyObject ¶
func (in *AllowedRegistryList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AllowedRegistrySpec ¶
type AllowedRegistrySpec struct { // RegistryPrefix contains the prefix of the registry which will be allowed. User clusters will be able to deploy // only images which are prefixed with one of the allowed image registry prefixes. RegistryPrefix string `json:"registryPrefix"` }
AllowedRegistrySpec specifies the data for allowed registry spec.
func (*AllowedRegistrySpec) DeepCopy ¶
func (in *AllowedRegistrySpec) DeepCopy() *AllowedRegistrySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllowedRegistrySpec.
func (*AllowedRegistrySpec) DeepCopyInto ¶
func (in *AllowedRegistrySpec) DeepCopyInto(out *AllowedRegistrySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Anexia ¶
type Anexia struct { ProviderPreset `json:",inline"` // Token is used to authenticate with the Anexia API. Token string `json:"token"` }
func (*Anexia) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Anexia.
func (*Anexia) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnexiaCloudSpec ¶
type AnexiaCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // Token is used to authenticate with the Anexia API. Token string `json:"token,omitempty"` }
AnexiaCloudSpec specifies the access data to Anexia.
func (*AnexiaCloudSpec) DeepCopy ¶
func (in *AnexiaCloudSpec) DeepCopy() *AnexiaCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnexiaCloudSpec.
func (*AnexiaCloudSpec) DeepCopyInto ¶
func (in *AnexiaCloudSpec) DeepCopyInto(out *AnexiaCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AntiAffinityType ¶ added in v2.23.0
type AntiAffinityType string
AntiAffinityType is the type of anti-affinity that should be used. Can be "preferred" or "required".
type ApplicationSettings ¶ added in v2.21.0
type ApplicationSettings struct { // CacheSize is the size of the cache used to download application's sources. CacheSize *resource.Quantity `json:"cacheSize,omitempty"` }
func (*ApplicationSettings) DeepCopy ¶ added in v2.21.0
func (in *ApplicationSettings) DeepCopy() *ApplicationSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSettings.
func (*ApplicationSettings) DeepCopyInto ¶ added in v2.21.0
func (in *ApplicationSettings) DeepCopyInto(out *ApplicationSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditLoggingSettings ¶
type AuditLoggingSettings struct { // Enabled will enable or disable audit logging. Enabled bool `json:"enabled,omitempty"` // Optional: PolicyPreset can be set to utilize a pre-defined set of audit policy rules. PolicyPreset AuditPolicyPreset `json:"policyPreset,omitempty"` // Optional: Configures the fluent-bit sidecar deployed alongside kube-apiserver. SidecarSettings *AuditSidecarSettings `json:"sidecar,omitempty"` }
AuditLoggingSettings configures audit logging functionality.
func (*AuditLoggingSettings) DeepCopy ¶
func (in *AuditLoggingSettings) DeepCopy() *AuditLoggingSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditLoggingSettings.
func (*AuditLoggingSettings) DeepCopyInto ¶
func (in *AuditLoggingSettings) DeepCopyInto(out *AuditLoggingSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditPolicyPreset ¶
type AuditPolicyPreset string
AuditPolicyPreset refers to a pre-defined set of audit policy rules. Supported values are `metadata`, `recommended` and `minimal`. See KKP documentation for what each policy preset includes.
const ( AuditPolicyMetadata AuditPolicyPreset = "metadata" AuditPolicyRecommended AuditPolicyPreset = "recommended" AuditPolicyMinimal AuditPolicyPreset = "minimal" )
type AuditSidecarConfiguration ¶ added in v2.21.0
type AuditSidecarConfiguration struct { Service map[string]string `json:"service,omitempty"` Filters []map[string]string `json:"filters,omitempty"` Outputs []map[string]string `json:"outputs,omitempty"` }
AuditSidecarConfiguration defines custom configuration for the fluent-bit sidecar deployed with a kube-apiserver. Also see https://docs.fluentbit.io/manual/v/1.8/administration/configuring-fluent-bit/configuration-file.
func (*AuditSidecarConfiguration) DeepCopy ¶ added in v2.21.0
func (in *AuditSidecarConfiguration) DeepCopy() *AuditSidecarConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditSidecarConfiguration.
func (*AuditSidecarConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *AuditSidecarConfiguration) DeepCopyInto(out *AuditSidecarConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuditSidecarSettings ¶ added in v2.21.0
type AuditSidecarSettings struct { Resources *corev1.ResourceRequirements `json:"resources,omitempty"` Config *AuditSidecarConfiguration `json:"config,omitempty"` }
func (*AuditSidecarSettings) DeepCopy ¶ added in v2.21.0
func (in *AuditSidecarSettings) DeepCopy() *AuditSidecarSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuditSidecarSettings.
func (*AuditSidecarSettings) DeepCopyInto ¶ added in v2.21.0
func (in *AuditSidecarSettings) DeepCopyInto(out *AuditSidecarSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Azure ¶
type Azure struct { ProviderPreset `json:",inline"` // The Azure Active Directory Tenant used for the user cluster. TenantID string `json:"tenantID"` // The Azure Subscription used for the user cluster. SubscriptionID string `json:"subscriptionID"` // The service principal used to access Azure. ClientID string `json:"clientID"` // The client secret corresponding to the given service principal. ClientSecret string `json:"clientSecret"` // The resource group that will be used to look up and create resources for the cluster in. // If set to empty string at cluster creation, a new resource group will be created and this field will be updated to // the generated resource group's name. ResourceGroup string `json:"resourceGroup,omitempty"` // Optional: Defines a second resource group that will be used for VNet related resources instead. // If left empty, NO additional resource group will be created and all VNet related resources use the resource group defined by `resourceGroup`. VNetResourceGroup string `json:"vnetResourceGroup,omitempty"` // The name of the VNet resource used for setting up networking in. // If set to empty string at cluster creation, a new VNet will be created and this field will be updated to // the generated VNet's name. VNetName string `json:"vnet,omitempty"` // The name of a subnet in the VNet referenced by `vnet`. // If set to empty string at cluster creation, a new subnet will be created and this field will be updated to // the generated subnet's name. If no VNet is defined at cluster creation, this field should be empty as well. SubnetName string `json:"subnet,omitempty"` // The name of a route table associated with the subnet referenced by `subnet`. // If set to empty string at cluster creation, a new route table will be created and this field will be updated to // the generated route table's name. If no subnet is defined at cluster creation, this field should be empty as well. RouteTableName string `json:"routeTable,omitempty"` // The name of a security group associated with the subnet referenced by `subnet`. // If set to empty string at cluster creation, a new security group will be created and this field will be updated to // the generated security group's name. If no subnet is defined at cluster creation, this field should be empty as well. SecurityGroup string `json:"securityGroup,omitempty"` // LoadBalancerSKU sets the LB type that will be used for the Azure cluster, possible values are "basic" and "standard", if empty, "basic" will be used LoadBalancerSKU LBSKU `json:"loadBalancerSKU"` //nolint:tagliatelle }
func (*Azure) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Azure.
func (*Azure) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureCloudSpec ¶
type AzureCloudSpec struct { // CredentialsReference allows referencing a `Secret` resource instead of passing secret data in this spec. CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The Azure Active Directory Tenant used for this cluster. // Can be read from `credentialsReference` instead. TenantID string `json:"tenantID,omitempty"` // The Azure Subscription used for this cluster. // Can be read from `credentialsReference` instead. SubscriptionID string `json:"subscriptionID,omitempty"` // The service principal used to access Azure. // Can be read from `credentialsReference` instead. ClientID string `json:"clientID,omitempty"` // The client secret corresponding to the given service principal. // Can be read from `credentialsReference` instead. ClientSecret string `json:"clientSecret,omitempty"` // The resource group that will be used to look up and create resources for the cluster in. // If set to empty string at cluster creation, a new resource group will be created and this field will be updated to // the generated resource group's name. ResourceGroup string `json:"resourceGroup"` // Optional: Defines a second resource group that will be used for VNet related resources instead. // If left empty, NO additional resource group will be created and all VNet related resources use the resource group defined by `resourceGroup`. VNetResourceGroup string `json:"vnetResourceGroup"` // The name of the VNet resource used for setting up networking in. // If set to empty string at cluster creation, a new VNet will be created and this field will be updated to // the generated VNet's name. VNetName string `json:"vnet"` // The name of a subnet in the VNet referenced by `vnet`. // If set to empty string at cluster creation, a new subnet will be created and this field will be updated to // the generated subnet's name. If no VNet is defined at cluster creation, this field should be empty as well. SubnetName string `json:"subnet"` // The name of a route table associated with the subnet referenced by `subnet`. // If set to empty string at cluster creation, a new route table will be created and this field will be updated to // the generated route table's name. If no subnet is defined at cluster creation, this field should be empty as well. RouteTableName string `json:"routeTable"` // The name of a security group associated with the subnet referenced by `subnet`. // If set to empty string at cluster creation, a new security group will be created and this field will be updated to // the generated security group's name. If no subnet is defined at cluster creation, this field should be empty as well. SecurityGroup string `json:"securityGroup"` // A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"` // Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRanges *NetworkRanges `json:"nodePortsAllowedIPRanges,omitempty"` // Optional: AssignAvailabilitySet determines whether KKP creates and assigns an AvailabilitySet to machines. // Defaults to `true` internally if not set. AssignAvailabilitySet *bool `json:"assignAvailabilitySet,omitempty"` // An availability set that will be associated with nodes created for this cluster. If this field is set to empty string // at cluster creation and `AssignAvailabilitySet` is set to `true`, a new availability set will be created and this field // will be updated to the generated availability set's name. AvailabilitySet string `json:"availabilitySet"` // LoadBalancerSKU sets the LB type that will be used for the Azure cluster, possible values are "basic" and "standard", if empty, "basic" will be used. LoadBalancerSKU LBSKU `json:"loadBalancerSKU"` //nolint:tagliatelle }
AzureCloudSpec defines cloud resource references for Microsoft Azure.
func (*AzureCloudSpec) DeepCopy ¶
func (in *AzureCloudSpec) DeepCopy() *AzureCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureCloudSpec.
func (*AzureCloudSpec) DeepCopyInto ¶
func (in *AzureCloudSpec) DeepCopyInto(out *AzureCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupConfig ¶ added in v2.25.0
type BackupConfig struct {
BackupStorageLocation *corev1.LocalObjectReference `json:"backupStorageLocation,omitempty"`
}
func (*BackupConfig) DeepCopy ¶ added in v2.25.0
func (in *BackupConfig) DeepCopy() *BackupConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupConfig.
func (*BackupConfig) DeepCopyInto ¶ added in v2.25.0
func (in *BackupConfig) DeepCopyInto(out *BackupConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupDestination ¶
type BackupDestination struct { // Endpoint is the API endpoint to use for backup and restore. Endpoint string `json:"endpoint"` // BucketName is the bucket name to use for backup and restore. BucketName string `json:"bucketName"` // Credentials hold the ref to the secret with backup credentials Credentials *corev1.SecretReference `json:"credentials,omitempty"` }
BackupDestination defines the bucket name and endpoint as a backup destination, and holds reference to the credentials secret.
func (*BackupDestination) DeepCopy ¶
func (in *BackupDestination) DeepCopy() *BackupDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupDestination.
func (*BackupDestination) DeepCopyInto ¶
func (in *BackupDestination) DeepCopyInto(out *BackupDestination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStatus ¶
type BackupStatus struct { // ScheduledTime will always be set when the BackupStatus is created, so it'll never be nil // +optional ScheduledTime metav1.Time `json:"scheduledTime,omitempty"` BackupName string `json:"backupName,omitempty"` JobName string `json:"jobName,omitempty"` // +optional BackupStartTime metav1.Time `json:"backupStartTime,omitempty"` // +optional BackupFinishedTime metav1.Time `json:"backupFinishedTime,omitempty"` BackupPhase BackupStatusPhase `json:"backupPhase,omitempty"` BackupMessage string `json:"backupMessage,omitempty"` DeleteJobName string `json:"deleteJobName,omitempty"` // +optional DeleteStartTime metav1.Time `json:"deleteStartTime,omitempty"` // +optional DeleteFinishedTime metav1.Time `json:"deleteFinishedTime,omitempty"` DeletePhase BackupStatusPhase `json:"deletePhase,omitempty"` DeleteMessage string `json:"deleteMessage,omitempty"` }
func (*BackupStatus) DeepCopy ¶
func (in *BackupStatus) DeepCopy() *BackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupStatus.
func (*BackupStatus) DeepCopyInto ¶
func (in *BackupStatus) DeepCopyInto(out *BackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackupStatusPhase ¶
type BackupStatusPhase string
type BringYourOwnCloudSpec ¶
type BringYourOwnCloudSpec struct{}
BringYourOwnCloudSpec specifies access data for a bring your own cluster.
func (*BringYourOwnCloudSpec) DeepCopy ¶
func (in *BringYourOwnCloudSpec) DeepCopy() *BringYourOwnCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BringYourOwnCloudSpec.
func (*BringYourOwnCloudSpec) DeepCopyInto ¶
func (in *BringYourOwnCloudSpec) DeepCopyInto(out *BringYourOwnCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Bytes ¶
type Bytes []byte
func NewBytes ¶
NewBytes creates a Bytes instance from a base64 string, returning nil for an empty base64 string.
func (Bytes) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Bytes.
func (Bytes) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Bytes) MarshalJSON ¶
MarshalJSON adds base64 json encoding to the Bytes type.
func (*Bytes) UnmarshalJSON ¶
UnmarshalJSON adds base64 json decoding to the Bytes type.
type CIDR ¶ added in v2.20.2
type CIDR string
+kubebuilder:validation:Pattern:=`^((\d{1,3}\.){3}\d{1,3}\/([0-9]|[1-2][0-9]|3[0-2]))$`
type CNIPluginSettings ¶
type CNIPluginSettings struct { // Type is the CNI plugin type to be used. Type CNIPluginType `json:"type"` // Version defines the CNI plugin version to be used. This varies by chosen CNI plugin type. Version string `json:"version"` }
CNIPluginSettings contains the spec of the CNI plugin used by the Cluster.
func (*CNIPluginSettings) DeepCopy ¶
func (in *CNIPluginSettings) DeepCopy() *CNIPluginSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNIPluginSettings.
func (*CNIPluginSettings) DeepCopyInto ¶
func (in *CNIPluginSettings) DeepCopyInto(out *CNIPluginSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CNIPluginType ¶
type CNIPluginType string
CNIPluginType defines the type of CNI plugin installed. Possible values are `canal`, `cilium` or `none`.
const ( // CNIPluginTypeCanal corresponds to Canal CNI plugin (i.e. Flannel + // Calico for policy enforcement). CNIPluginTypeCanal CNIPluginType = "canal" // CNIPluginTypeCilium corresponds to Cilium CNI plugin. CNIPluginTypeCilium CNIPluginType = "cilium" // CNIPluginTypeNone corresponds to no CNI plugin managed by KKP // (cluster users are responsible for managing the CNI in the cluster themselves). CNIPluginTypeNone CNIPluginType = "none" )
func (CNIPluginType) String ¶
func (c CNIPluginType) String() string
type CleanupOptions ¶
type CleanupOptions struct { // Enable checkboxes that allow the user to ask for LoadBalancers and PVCs // to be deleted in order to not leave potentially expensive resources behind. Enabled bool `json:"enabled,omitempty"` // If enforced is set to true, the cleanup of LoadBalancers and PVCs is // enforced. Enforced bool `json:"enforced,omitempty"` }
func (*CleanupOptions) DeepCopy ¶
func (in *CleanupOptions) DeepCopy() *CleanupOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CleanupOptions.
func (*CleanupOptions) DeepCopyInto ¶
func (in *CleanupOptions) DeepCopyInto(out *CleanupOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CloudSpec ¶
type CloudSpec struct { // DatacenterName states the name of a cloud provider "datacenter" (defined in `Seed` resources) // this cluster should be deployed into. DatacenterName string `json:"dc"` // ProviderName is the name of the cloud provider used for this cluster. // This must match the given provider spec (e.g. if the providerName is // "aws", then the `aws` field must be set). ProviderName string `json:"providerName"` // Fake is a dummy cloud provider that is only used for testing purposes. // Do not try to actually use it. Fake *FakeCloudSpec `json:"fake,omitempty"` // Digitalocean defines the configuration data of the DigitalOcean cloud provider. Digitalocean *DigitaloceanCloudSpec `json:"digitalocean,omitempty"` // BringYourOwn defines the configuration data for a Bring Your Own cluster. BringYourOwn *BringYourOwnCloudSpec `json:"bringyourown,omitempty"` // Edge defines the configuration data for an edge cluster. Edge *EdgeCloudSpec `json:"edge,omitempty"` // AWS defines the configuration data of the Amazon Web Services(AWS) cloud provider. AWS *AWSCloudSpec `json:"aws,omitempty"` // Azure defines the configuration data of the Microsoft Azure cloud. Azure *AzureCloudSpec `json:"azure,omitempty"` // Openstack defines the configuration data of an OpenStack cloud. Openstack *OpenstackCloudSpec `json:"openstack,omitempty"` // Packet defines the configuration data of a Packet cloud. Packet *PacketCloudSpec `json:"packet,omitempty"` // Hetzner defines the configuration data of the Hetzner cloud. Hetzner *HetznerCloudSpec `json:"hetzner,omitempty"` // VSphere defines the configuration data of the vSphere. VSphere *VSphereCloudSpec `json:"vsphere,omitempty"` // GCP defines the configuration data of the Google Cloud Platform(GCP). GCP *GCPCloudSpec `json:"gcp,omitempty"` // Kubevirt defines the configuration data of the KubeVirt. Kubevirt *KubevirtCloudSpec `json:"kubevirt,omitempty"` // Alibaba defines the configuration data of the Alibaba. Alibaba *AlibabaCloudSpec `json:"alibaba,omitempty"` // Anexia defines the configuration data of the Anexia. Anexia *AnexiaCloudSpec `json:"anexia,omitempty"` // Nutanix defines the configuration data of the Nutanix. Nutanix *NutanixCloudSpec `json:"nutanix,omitempty"` // VMwareCloudDirector defines the configuration data of the VMware Cloud Director. VMwareCloudDirector *VMwareCloudDirectorCloudSpec `json:"vmwareclouddirector,omitempty"` }
CloudSpec stores configuration options for a given cloud provider. Provider specs are mutually exclusive.
func (*CloudSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CloudSpec.
func (*CloudSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Cluster ¶
type Cluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired cluster state. Spec ClusterSpec `json:"spec,omitempty"` // Status contains reconciliation information for the cluster. Status ClusterStatus `json:"status,omitempty"` }
Cluster represents a Kubermatic Kubernetes Platform user cluster. Cluster objects exist on Seed clusters and each user cluster consists of a namespace containing the Kubernetes control plane and additional pods (like Prometheus or the machine-controller).
func (*Cluster) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster.
func (*Cluster) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Cluster) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Cluster) GetSecretName ¶
func (*Cluster) GetUserClusterMLAResourceRequirements ¶
func (cluster *Cluster) GetUserClusterMLAResourceRequirements() map[string]*corev1.ResourceRequirements
func (*Cluster) GetUserClusterOPAResourceRequirements ¶
func (cluster *Cluster) GetUserClusterOPAResourceRequirements() map[string]*corev1.ResourceRequirements
func (*Cluster) IsDualStack ¶ added in v2.21.0
IsDualStack returns true if the cluster networking is dual-stack (IPv4 + IPv6).
func (*Cluster) IsEncryptionActive ¶ added in v2.21.0
IsEncryptionActive returns whether encryption-at-rest is active on this cluster. This can still be the case when encryption configuration has been disabled, as encrypted resources require a decryption.
func (*Cluster) IsEncryptionEnabled ¶ added in v2.21.0
IsEncryptionConfigurationEnabled returns whether encryption-at-rest is configured on this cluster.
func (*Cluster) IsIPv4Only ¶ added in v2.21.0
IsIPv4Only returns true if the cluster networking is IPv4-only.
func (*Cluster) IsIPv6Only ¶ added in v2.21.0
IsIPv6Only returns true if the cluster networking is IPv6-only.
type ClusterAddress ¶
type ClusterAddress struct { // URL under which the Apiserver is available // +optional URL string `json:"url"` // Port is the port the API server listens on // +optional Port int32 `json:"port"` // ExternalName is the DNS name for this cluster // +optional ExternalName string `json:"externalName"` // InternalName is the seed cluster internal absolute DNS name to the API server // +optional InternalName string `json:"internalURL"` // AdminToken is the token for the kubeconfig, the user can download // +optional AdminToken string `json:"adminToken"` // IP is the external IP under which the apiserver is available // +optional IP string `json:"ip"` }
ClusterAddress stores access and address information of a cluster.
func (*ClusterAddress) DeepCopy ¶
func (in *ClusterAddress) DeepCopy() *ClusterAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAddress.
func (*ClusterAddress) DeepCopyInto ¶
func (in *ClusterAddress) DeepCopyInto(out *ClusterAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterBackupStorageLocation ¶ added in v2.25.0
type ClusterBackupStorageLocation struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is a Velero BSL spec Spec velerov1.BackupStorageLocationSpec `json:"spec,omitempty"` Status velerov1.BackupStorageLocationStatus `json:"status,omitempty"` }
ClusterBackupStorageLocation is a KKP wrapper around Velero BSL spec.
func (*ClusterBackupStorageLocation) DeepCopy ¶ added in v2.25.0
func (in *ClusterBackupStorageLocation) DeepCopy() *ClusterBackupStorageLocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBackupStorageLocation.
func (*ClusterBackupStorageLocation) DeepCopyInto ¶ added in v2.25.0
func (in *ClusterBackupStorageLocation) DeepCopyInto(out *ClusterBackupStorageLocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterBackupStorageLocation) DeepCopyObject ¶ added in v2.25.0
func (in *ClusterBackupStorageLocation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterBackupStorageLocationList ¶ added in v2.25.0
type ClusterBackupStorageLocationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of EtcdBackupConfig objects. Items []ClusterBackupStorageLocation `json:"items"` }
ClusterBackupStorageLocationList is a list of ClusterBackupStorageLocations.
func (*ClusterBackupStorageLocationList) DeepCopy ¶ added in v2.25.0
func (in *ClusterBackupStorageLocationList) DeepCopy() *ClusterBackupStorageLocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBackupStorageLocationList.
func (*ClusterBackupStorageLocationList) DeepCopyInto ¶ added in v2.25.0
func (in *ClusterBackupStorageLocationList) DeepCopyInto(out *ClusterBackupStorageLocationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterBackupStorageLocationList) DeepCopyObject ¶ added in v2.25.0
func (in *ClusterBackupStorageLocationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterCondition ¶
type ClusterCondition struct { // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // KubermaticVersion current kubermatic version. KubermaticVersion string `json:"kubermaticVersion"` // Last time we got an update on a given condition. LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // (brief) reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
func (*ClusterCondition) DeepCopy ¶
func (in *ClusterCondition) DeepCopy() *ClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterCondition.
func (*ClusterCondition) DeepCopyInto ¶
func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterConditionType ¶
type ClusterConditionType string
ClusterConditionType is used to indicate the type of a cluster condition. For all condition types, the `true` value must indicate success. All condition types must be registered within the `AllClusterConditionTypes` variable.
const ( // ClusterConditionSeedResourcesUpToDate indicates that all controllers have finished setting up the // resources for a user clusters that run inside the seed cluster, i.e. this ignores // the status of cloud provider resources for a given cluster. ClusterConditionSeedResourcesUpToDate ClusterConditionType = "SeedResourcesUpToDate" ClusterConditionClusterControllerReconcilingSuccess ClusterConditionType = "ClusterControllerReconciledSuccessfully" ClusterConditionAddonControllerReconcilingSuccess ClusterConditionType = "AddonControllerReconciledSuccessfully" ClusterConditionAddonInstallerControllerReconcilingSuccess ClusterConditionType = "AddonInstallerControllerReconciledSuccessfully" ClusterConditionCloudControllerReconcilingSuccess ClusterConditionType = "CloudControllerReconciledSuccessfully" ClusterConditionUpdateControllerReconcilingSuccess ClusterConditionType = "UpdateControllerReconciledSuccessfully" ClusterConditionMonitoringControllerReconcilingSuccess ClusterConditionType = "MonitoringControllerReconciledSuccessfully" ClusterConditionMachineDeploymentControllerReconcilingSuccess ClusterConditionType = "MachineDeploymentReconciledSuccessfully" ClusterConditionApplicationInstallationControllerReconcilingSuccess ClusterConditionType = "ApplicationInstallationControllerReconciledSuccessfully" ClusterConditionKubeLBControllerReconcilingSuccess ClusterConditionType = "KubeLBControllerReconciledSuccessfully" ClusterConditionCNIControllerReconcilingSuccess ClusterConditionType = "CNIControllerReconciledSuccessfully" ClusterConditionMLAControllerReconcilingSuccess ClusterConditionType = "MLAControllerReconciledSuccessfully" ClusterConditionEncryptionControllerReconcilingSuccess ClusterConditionType = "EncryptionControllerReconciledSuccessfully" ClusterConditionClusterInitialized ClusterConditionType = "ClusterInitialized" ClusterConditionIPAMControllerReconcilingSuccess ClusterConditionType = "IPAMControllerReconciledSuccessfully" ClusterConditionClusterBackupControllerReconcilingSuccess ClusterConditionType = "ClusterBackupControllerReconciledSuccessfully" ClusterConditionEtcdClusterInitialized ClusterConditionType = "EtcdClusterInitialized" ClusterConditionEncryptionInitialized ClusterConditionType = "EncryptionInitialized" ClusterConditionUpdateProgress ClusterConditionType = "UpdateProgress" // ClusterConditionNone is a special value indicating that no cluster condition should be set. ClusterConditionNone ClusterConditionType = "" // This condition is met when a CSI migration is ongoing and the CSI // migration feature gates are activated on the Kubelets of all the nodes. // When this condition is `true` CSIMigration{provider}Complete can be // enabled. ClusterConditionCSIKubeletMigrationCompleted ClusterConditionType = "CSIKubeletMigrationCompleted" // This condition is used to determine if the CSI addon created by KKP is in use or not. // This helps in ascertaining if the CSI addon can be removed from the cluster or not. ClusterConditionCSIAddonInUse ClusterConditionType = "CSIAddonInUse" ReasonClusterUpdateSuccessful = "ClusterUpdateSuccessful" ReasonClusterUpdateInProgress = "ClusterUpdateInProgress" ReasonClusterCSIKubeletMigrationCompleted = "CSIKubeletMigrationSuccess" ReasonClusterCCMMigrationInProgress = "CSIKubeletMigrationInProgress" )
type ClusterEncryptionPhase ¶ added in v2.21.0
type ClusterEncryptionPhase string
+kubebuilder:validation:Enum=Pending;Failed;Active;EncryptionNeeded
const ( ClusterEncryptionPhasePending ClusterEncryptionPhase = "Pending" ClusterEncryptionPhaseFailed ClusterEncryptionPhase = "Failed" ClusterEncryptionPhaseActive ClusterEncryptionPhase = "Active" ClusterEncryptionPhaseEncryptionNeeded ClusterEncryptionPhase = "EncryptionNeeded" )
type ClusterEncryptionStatus ¶ added in v2.21.0
type ClusterEncryptionStatus struct { // The current "primary" key used to encrypt data written to etcd. Secondary keys that can be used for decryption // (but not encryption) might be configured in the ClusterSpec. ActiveKey string `json:"activeKey"` // List of resources currently encrypted. EncryptedResources []string `json:"encryptedResources"` // The current phase of the encryption process. Can be one of `Pending`, `Failed`, `Active` or `EncryptionNeeded`. // The `encryption_controller` logic will process the cluster based on the current phase and issue necessary changes // to make sure encryption on the cluster is active and updated with what the ClusterSpec defines. Phase ClusterEncryptionPhase `json:"phase"` }
ClusterEncryptionStatus holds status information about the encryption-at-rest feature on the user cluster.
func (*ClusterEncryptionStatus) DeepCopy ¶ added in v2.21.0
func (in *ClusterEncryptionStatus) DeepCopy() *ClusterEncryptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterEncryptionStatus.
func (*ClusterEncryptionStatus) DeepCopyInto ¶ added in v2.21.0
func (in *ClusterEncryptionStatus) DeepCopyInto(out *ClusterEncryptionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterList ¶
type ClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Cluster `json:"items"` }
ClusterList specifies a list of user clusters.
func (*ClusterList) DeepCopy ¶
func (in *ClusterList) DeepCopy() *ClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterList.
func (*ClusterList) DeepCopyInto ¶
func (in *ClusterList) DeepCopyInto(out *ClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterList) DeepCopyObject ¶
func (in *ClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterNetworkingConfig ¶
type ClusterNetworkingConfig struct { // Optional: IP family used for cluster networking. Supported values are "", "IPv4" or "IPv4+IPv6". // Can be omitted / empty if pods and services network ranges are specified. // In that case it defaults according to the IP families of the provided network ranges. // If neither ipFamily nor pods & services network ranges are specified, defaults to "IPv4". // +optional IPFamily IPFamily `json:"ipFamily,omitempty"` // The network ranges from which service VIPs are allocated. // It can contain one IPv4 and/or one IPv6 CIDR. // If both address families are specified, the first one defines the primary address family. Services NetworkRanges `json:"services"` // The network ranges from which POD networks are allocated. // It can contain one IPv4 and/or one IPv6 CIDR. // If both address families are specified, the first one defines the primary address family. Pods NetworkRanges `json:"pods"` // NodeCIDRMaskSizeIPv4 is the mask size used to address the nodes within provided IPv4 Pods CIDR. // It has to be larger than the provided IPv4 Pods CIDR. Defaults to 24. // +optional NodeCIDRMaskSizeIPv4 *int32 `json:"nodeCidrMaskSizeIPv4,omitempty"` // NodeCIDRMaskSizeIPv6 is the mask size used to address the nodes within provided IPv6 Pods CIDR. // It has to be larger than the provided IPv6 Pods CIDR. Defaults to 64. // +optional NodeCIDRMaskSizeIPv6 *int32 `json:"nodeCidrMaskSizeIPv6,omitempty"` // Domain name for services. DNSDomain string `json:"dnsDomain"` // ProxyMode defines the kube-proxy mode ("ipvs" / "iptables" / "ebpf"). // Defaults to "ipvs". "ebpf" disables kube-proxy and requires CNI support. ProxyMode string `json:"proxyMode"` // IPVS defines kube-proxy ipvs configuration options IPVS *IPVSConfiguration `json:"ipvs,omitempty"` // NodeLocalDNSCacheEnabled controls whether the NodeLocal DNS Cache feature is enabled. // Defaults to true. NodeLocalDNSCacheEnabled *bool `json:"nodeLocalDNSCacheEnabled,omitempty"` // CoreDNSReplicas is the number of desired pods of user cluster coredns deployment. CoreDNSReplicas *int32 `json:"coreDNSReplicas,omitempty"` // Deprecated: KonnectivityEnabled enables konnectivity for controlplane to node network communication. // As OpenVPN will be removed in the future KKP versions, clusters with konnectivity disabled will not be supported. // All existing clusters with OpenVPN should migrate to the Konnectivity. KonnectivityEnabled *bool `json:"konnectivityEnabled,omitempty"` // TunnelingAgentIP is the address used by the tunneling agents TunnelingAgentIP string `json:"tunnelingAgentIP,omitempty"` }
ClusterNetworkingConfig specifies the different networking parameters for a cluster.
func (*ClusterNetworkingConfig) DeepCopy ¶
func (in *ClusterNetworkingConfig) DeepCopy() *ClusterNetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterNetworkingConfig.
func (*ClusterNetworkingConfig) DeepCopyInto ¶
func (in *ClusterNetworkingConfig) DeepCopyInto(out *ClusterNetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterPhase ¶ added in v2.21.0
type ClusterPhase string
const ( ClusterCreating ClusterPhase = "Creating" ClusterUpdating ClusterPhase = "Updating" ClusterRunning ClusterPhase = "Running" ClusterTerminating ClusterPhase = "Terminating" )
These are the valid phases of a project.
type ClusterSpec ¶
type ClusterSpec struct { // HumanReadableName is the cluster name provided by the user. HumanReadableName string `json:"humanReadableName"` // Version defines the wanted version of the control plane. Version semver.Semver `json:"version"` // Cloud contains information regarding the cloud provider that // is responsible for hosting the cluster's workload. Cloud CloudSpec `json:"cloud"` // ContainerRuntime to use, i.e. `docker` or `containerd`. By default `containerd` will be used. ContainerRuntime string `json:"containerRuntime,omitempty"` // Optional: ImagePullSecret references a secret with container registry credentials. This is passed to the machine-controller which sets the registry credentials on node level. ImagePullSecret *corev1.SecretReference `json:"imagePullSecret,omitempty"` // Optional: CNIPlugin refers to the spec of the CNI plugin used by the Cluster. CNIPlugin *CNIPluginSettings `json:"cniPlugin,omitempty"` // Optional: ClusterNetwork specifies the different networking parameters for a cluster. ClusterNetwork ClusterNetworkingConfig `json:"clusterNetwork"` // Optional: MachineNetworks is the list of the networking parameters used for IPAM. MachineNetworks []MachineNetworkingConfig `json:"machineNetworks,omitempty"` // ExposeStrategy is the strategy used to expose a cluster control plane. ExposeStrategy ExposeStrategy `json:"exposeStrategy"` // Optional: APIServerAllowedIPRanges is a list of IP ranges allowed to access the API server. // Applicable only if the expose strategy of the cluster is LoadBalancer. // If not configured, access to the API server is unrestricted. APIServerAllowedIPRanges *NetworkRanges `json:"apiServerAllowedIPRanges,omitempty"` // Optional: Component specific overrides that allow customization of control plane components. ComponentsOverride ComponentSettings `json:"componentsOverride,omitempty"` // Optional: OIDC specifies the OIDC configuration parameters for enabling authentication mechanism for the cluster. OIDC OIDCSettings `json:"oidc,omitempty"` // A map of optional or early-stage features that can be enabled for the user cluster. // Some feature gates cannot be disabled after being enabled. // The available feature gates vary based on KKP version, Kubernetes version and Seed configuration. // Please consult the KKP documentation for specific feature gates. Features map[string]bool `json:"features,omitempty"` // Optional: UpdateWindow configures automatic update systems to respect a maintenance window for // applying OS updates to nodes. This is only respected on Flatcar nodes currently. UpdateWindow *UpdateWindow `json:"updateWindow,omitempty"` // Enables the admission plugin `PodSecurityPolicy`. This plugin is deprecated by Kubernetes. UsePodSecurityPolicyAdmissionPlugin bool `json:"usePodSecurityPolicyAdmissionPlugin,omitempty"` // Enables the admission plugin `PodNodeSelector`. Needs additional configuration via the `podNodeSelectorAdmissionPluginConfig` field. UsePodNodeSelectorAdmissionPlugin bool `json:"usePodNodeSelectorAdmissionPlugin,omitempty"` // Enables the admission plugin `EventRateLimit`. Needs additional configuration via the `eventRateLimitConfig` field. // This plugin is considered "alpha" by Kubernetes. UseEventRateLimitAdmissionPlugin bool `json:"useEventRateLimitAdmissionPlugin,omitempty"` // A list of arbitrary admission plugin names that are passed to kube-apiserver. Must not include admission plugins // that can be enabled via a separate setting. AdmissionPlugins []string `json:"admissionPlugins,omitempty"` // Optional: Provides configuration for the PodNodeSelector admission plugin (needs plugin enabled // via `usePodNodeSelectorAdmissionPlugin`). It's used by the backend to create a configuration file for this plugin. // The key:value from this map is converted to <namespace>:<node-selectors-labels> in the file. Use `clusterDefaultNodeSelector` // as key to configure a default node selector. PodNodeSelectorAdmissionPluginConfig map[string]string `json:"podNodeSelectorAdmissionPluginConfig,omitempty"` // Optional: Configures the EventRateLimit admission plugin (if enabled via `useEventRateLimitAdmissionPlugin`) // to create limits on Kubernetes event generation. The EventRateLimit plugin is capable of comparing and rate limiting incoming // `Events` based on several configured buckets. EventRateLimitConfig *EventRateLimitConfig `json:"eventRateLimitConfig,omitempty"` // Optional: Deploys the UserSSHKeyAgent to the user cluster. This field is immutable. // If enabled, the agent will be deployed and used to sync user ssh keys attached by users to the cluster. // No SSH keys will be synced after node creation if this is disabled. EnableUserSSHKeyAgent *bool `json:"enableUserSSHKeyAgent,omitempty"` // Optional: Enables operating-system-manager (OSM), which is responsible for creating and managing worker node configuration. // This field is enabled(true) by default. EnableOperatingSystemManager *bool `json:"enableOperatingSystemManager,omitempty"` // KubeLB holds the configuration for the kubeLB component. // Only available in Enterprise Edition. KubeLB *KubeLB `json:"kubelb,omitempty"` // KubernetesDashboard holds the configuration for the kubernetes-dashboard component. KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"` // Optional: AuditLogging configures Kubernetes API audit logging (https://kubernetes.io/docs/tasks/debug-application-cluster/audit/) // for the user cluster. AuditLogging *AuditLoggingSettings `json:"auditLogging,omitempty"` // Optional: OPAIntegration is a preview feature that enables OPA integration for the cluster. // Enabling it causes OPA Gatekeeper and its resources to be deployed on the user cluster. // By default it is disabled. OPAIntegration *OPAIntegrationSettings `json:"opaIntegration,omitempty"` // Optional: ServiceAccount contains service account related settings for the user cluster's kube-apiserver. ServiceAccount *ServiceAccountSettings `json:"serviceAccount,omitempty"` // Optional: MLA contains monitoring, logging and alerting related settings for the user cluster. MLA *MLASettings `json:"mla,omitempty"` // Optional: ApplicationSettings contains the settings relative to the application feature. ApplicationSettings *ApplicationSettings `json:"applicationSettings,omitempty"` // Optional: Configures encryption-at-rest for Kubernetes API data. This needs the `encryptionAtRest` feature gate. EncryptionConfiguration *EncryptionConfiguration `json:"encryptionConfiguration,omitempty"` // If this is set to true, the cluster will not be reconciled by KKP. // This indicates that the user needs to do some action to resolve the pause. // +kubebuilder:default=false Pause bool `json:"pause,omitempty"` // PauseReason is the reason why the cluster is not being managed. This field is for informational // purpose only and can be set by a user or a controller to communicate the reason for pausing the cluster. PauseReason string `json:"pauseReason,omitempty"` // Enables more verbose logging in KKP's user-cluster-controller-manager. DebugLog bool `json:"debugLog,omitempty"` // Optional: DisableCSIDriver disables the installation of CSI driver on the cluster // If this is true at the data center then it can't be over-written in the cluster configuration DisableCSIDriver bool `json:"disableCsiDriver,omitempty"` // Optional: BackupConfig contains the configuration options for managing the Cluster Backup Velero integration feature. BackupConfig *BackupConfig `json:"backupConfig,omitempty"` }
ClusterSpec describes the desired state of a user cluster.
func (*ClusterSpec) DeepCopy ¶
func (in *ClusterSpec) DeepCopy() *ClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSpec.
func (*ClusterSpec) DeepCopyInto ¶
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ClusterSpec) IsClusterBackupEnabled ¶ added in v2.25.0
func (c ClusterSpec) IsClusterBackupEnabled() bool
func (ClusterSpec) IsKubeLBEnabled ¶ added in v2.24.0
func (c ClusterSpec) IsKubeLBEnabled() bool
func (ClusterSpec) IsKubernetesDashboardEnabled ¶ added in v2.21.0
func (c ClusterSpec) IsKubernetesDashboardEnabled() bool
func (ClusterSpec) IsOperatingSystemManagerEnabled ¶ added in v2.21.0
func (c ClusterSpec) IsOperatingSystemManagerEnabled() bool
type ClusterStatus ¶
type ClusterStatus struct { // Address contains the IPs/URLs to access the cluster control plane. // +optional Address ClusterAddress `json:"address,omitempty"` // Deprecated: LastUpdated contains the timestamp at which the cluster was last modified. // It is kept only for KKP 2.20 release to not break the backwards-compatibility and not being set for KKP higher releases. // +optional LastUpdated metav1.Time `json:"lastUpdated,omitempty"` // ExtendedHealth exposes information about the current health state. // Extends standard health status for new states. // +optional ExtendedHealth ExtendedClusterHealth `json:"extendedHealth,omitempty"` // LastProviderReconciliation is the time when the cloud provider resources // were last fully reconciled (during normal cluster reconciliation, KKP does // not re-check things like security groups, networks etc.). // +optional LastProviderReconciliation metav1.Time `json:"lastProviderReconciliation,omitempty"` // NamespaceName defines the namespace the control plane of this cluster is deployed in. // +optional NamespaceName string `json:"namespaceName"` // Versions contains information regarding the current and desired versions // of the cluster control plane and worker nodes. // +optional Versions ClusterVersionsStatus `json:"versions,omitempty"` // Deprecated: UserName contains the name of the owner of this cluster. // This field is not actively used and will be removed in the future. // +optional UserName string `json:"userName,omitempty"` // UserEmail contains the email of the owner of this cluster. // During cluster creation only, this field will be used to bind the `cluster-admin` `ClusterRole` to a cluster owner. // +optional UserEmail string `json:"userEmail"` // ErrorReason contains a error reason in case the controller encountered an error. Will be reset if the error was resolved. // +optional ErrorReason *ClusterStatusError `json:"errorReason,omitempty"` // ErrorMessage contains a default error message in case the controller encountered an error. Will be reset if the error was resolved. // +optional ErrorMessage *string `json:"errorMessage,omitempty"` // Conditions contains conditions the cluster is in, its primary use case is status signaling between controllers or between // controllers and the API. // +optional Conditions map[ClusterConditionType]ClusterCondition `json:"conditions,omitempty"` // Phase is a description of the current cluster status, summarizing the various conditions, // possible active updates etc. This field is for informational purpose only and no logic // should be tied to the phase. // +optional Phase ClusterPhase `json:"phase,omitempty"` // InheritedLabels are labels the cluster inherited from the project. They are read-only for users. // +optional InheritedLabels map[string]string `json:"inheritedLabels,omitempty"` // Encryption describes the status of the encryption-at-rest feature for encrypted data in etcd. // +optional Encryption *ClusterEncryptionStatus `json:"encryption,omitempty"` // ResourceUsage shows the current usage of resources for the cluster. ResourceUsage *ResourceDetails `json:"resourceUsage,omitempty"` }
ClusterStatus stores status information about a cluster.
func (*ClusterStatus) DeepCopy ¶
func (in *ClusterStatus) DeepCopy() *ClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterStatus.
func (*ClusterStatus) DeepCopyInto ¶
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterStatus) HasConditionValue ¶
func (cs *ClusterStatus) HasConditionValue(conditionType ClusterConditionType, conditionStatus corev1.ConditionStatus) bool
HasConditionValue returns true if the cluster status has the given condition with the given status. It does not verify that the condition has been set by a certain Kubermatic version, it just checks the existence.
type ClusterStatusError ¶
type ClusterStatusError string
const ( InvalidConfigurationClusterError ClusterStatusError = "InvalidConfiguration" UnsupportedChangeClusterError ClusterStatusError = "UnsupportedChange" ReconcileClusterError ClusterStatusError = "ReconcileError" )
type ClusterTemplate ¶
type ClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` ClusterLabels map[string]string `json:"clusterLabels,omitempty"` InheritedClusterLabels map[string]string `json:"inheritedClusterLabels,omitempty"` Credential string `json:"credential"` // UserSSHKeys is the list of SSH public keys that should be assigned to all nodes in the cluster. UserSSHKeys []ClusterTemplateSSHKey `json:"userSSHKeys,omitempty"` // Spec describes the desired state of a user cluster. Spec ClusterSpec `json:"spec,omitempty"` }
ClusterTemplate is the object representing a cluster template.
func (*ClusterTemplate) DeepCopy ¶
func (in *ClusterTemplate) DeepCopy() *ClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplate.
func (*ClusterTemplate) DeepCopyInto ¶
func (in *ClusterTemplate) DeepCopyInto(out *ClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTemplate) DeepCopyObject ¶
func (in *ClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTemplateInstance ¶
type ClusterTemplateInstance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec specifies the data for cluster instances. Spec ClusterTemplateInstanceSpec `json:"spec,omitempty"` }
ClusterTemplateInstance is the object representing a cluster template instance.
func (*ClusterTemplateInstance) DeepCopy ¶
func (in *ClusterTemplateInstance) DeepCopy() *ClusterTemplateInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateInstance.
func (*ClusterTemplateInstance) DeepCopyInto ¶
func (in *ClusterTemplateInstance) DeepCopyInto(out *ClusterTemplateInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTemplateInstance) DeepCopyObject ¶
func (in *ClusterTemplateInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTemplateInstanceList ¶
type ClusterTemplateInstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of ClusterTemplateInstance objects. Items []ClusterTemplateInstance `json:"items"` }
ClusterTemplateInstanceList specifies a list of cluster template instances.
func (*ClusterTemplateInstanceList) DeepCopy ¶
func (in *ClusterTemplateInstanceList) DeepCopy() *ClusterTemplateInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateInstanceList.
func (*ClusterTemplateInstanceList) DeepCopyInto ¶
func (in *ClusterTemplateInstanceList) DeepCopyInto(out *ClusterTemplateInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTemplateInstanceList) DeepCopyObject ¶
func (in *ClusterTemplateInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTemplateInstanceSpec ¶
type ClusterTemplateInstanceSpec struct { ProjectID string `json:"projectID"` ClusterTemplateID string `json:"clusterTemplateID"` ClusterTemplateName string `json:"clusterTemplateName"` Replicas int64 `json:"replicas"` }
ClusterTemplateInstanceSpec specifies the data for cluster instances.
func (*ClusterTemplateInstanceSpec) DeepCopy ¶
func (in *ClusterTemplateInstanceSpec) DeepCopy() *ClusterTemplateInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateInstanceSpec.
func (*ClusterTemplateInstanceSpec) DeepCopyInto ¶
func (in *ClusterTemplateInstanceSpec) DeepCopyInto(out *ClusterTemplateInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterTemplateList ¶
type ClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of the ClusterTemplate objects. Items []ClusterTemplate `json:"items"` }
ClusterTemplateList specifies a list of cluster templates.
func (*ClusterTemplateList) DeepCopy ¶
func (in *ClusterTemplateList) DeepCopy() *ClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateList.
func (*ClusterTemplateList) DeepCopyInto ¶
func (in *ClusterTemplateList) DeepCopyInto(out *ClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterTemplateList) DeepCopyObject ¶
func (in *ClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterTemplateSSHKey ¶
type ClusterTemplateSSHKey struct { // ID is the name of the UserSSHKey object that is supposed to be assigned // to any ClusterTemplateInstance created based on this template. ID string `json:"id"` // Name is the human readable SSH key name. Name string `json:"name"` }
ClusterTemplateSSHKey is the object for holding SSH key.
func (*ClusterTemplateSSHKey) DeepCopy ¶
func (in *ClusterTemplateSSHKey) DeepCopy() *ClusterTemplateSSHKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterTemplateSSHKey.
func (*ClusterTemplateSSHKey) DeepCopyInto ¶
func (in *ClusterTemplateSSHKey) DeepCopyInto(out *ClusterTemplateSSHKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterVersionsStatus ¶ added in v2.21.0
type ClusterVersionsStatus struct { // ControlPlane is the currently active cluster version. This can lag behind the apiserver // version if an update is currently rolling out. ControlPlane semver.Semver `json:"controlPlane"` // Apiserver is the currently desired version of the kube-apiserver. During // upgrades across multiple minor versions (e.g. from 1.20 to 1.23), this will gradually // be increased by the update-controller until the desired cluster version (spec.version) // is reached. Apiserver semver.Semver `json:"apiserver"` // ControllerManager is the currently desired version of the kube-controller-manager. This // field behaves the same as the apiserver field. ControllerManager semver.Semver `json:"controllerManager"` // Scheduler is the currently desired version of the kube-scheduler. This field behaves the // same as the apiserver field. Scheduler semver.Semver `json:"scheduler"` // OldestNodeVersion is the oldest node version currently in use inside the cluster. This can be // nil if there are no nodes. This field is primarily for speeding up reconciling, so that // the controller doesn't have to re-fetch to the usercluster and query its node on every // reconciliation. OldestNodeVersion *semver.Semver `json:"oldestNodeVersion,omitempty"` }
ClusterVersionsStatus contains information regarding the current and desired versions of the cluster control plane and worker nodes.
func (*ClusterVersionsStatus) DeepCopy ¶ added in v2.21.0
func (in *ClusterVersionsStatus) DeepCopy() *ClusterVersionsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterVersionsStatus.
func (*ClusterVersionsStatus) DeepCopyInto ¶ added in v2.21.0
func (in *ClusterVersionsStatus) DeepCopyInto(out *ClusterVersionsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentSettings ¶
type ComponentSettings struct { // Apiserver configures kube-apiserver settings. Apiserver APIServerSettings `json:"apiserver"` // ControllerManager configures kube-controller-manager settings. ControllerManager ControllerSettings `json:"controllerManager"` // Scheduler configures kube-scheduler settings. Scheduler ControllerSettings `json:"scheduler"` // Etcd configures the etcd ring used to store Kubernetes data. Etcd EtcdStatefulSetSettings `json:"etcd"` // Prometheus configures the Prometheus instance deployed into the cluster control plane. Prometheus StatefulSetSettings `json:"prometheus"` // NodePortProxyEnvoy configures the per-cluster nodeport-proxy-envoy that is deployed if // the `LoadBalancer` expose strategy is used. This is not effective if a different expose // strategy is configured. NodePortProxyEnvoy NodeportProxyComponent `json:"nodePortProxyEnvoy"` // KonnectivityProxy configures konnectivity-server and konnectivity-agent components. KonnectivityProxy KonnectivityProxySettings `json:"konnectivityProxy,omitempty"` // UserClusterController configures the KKP usercluster-controller deployed as part of the cluster control plane. UserClusterController *ControllerSettings `json:"userClusterController,omitempty"` }
func (*ComponentSettings) DeepCopy ¶
func (in *ComponentSettings) DeepCopy() *ComponentSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSettings.
func (*ComponentSettings) DeepCopyInto ¶
func (in *ComponentSettings) DeepCopyInto(out *ComponentSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
ConditionType is the type defining the cluster or datacenter condition that must be met to block a specific version.
const ( // AlwaysCondition represent an always true matching condition used while checking provider incompatibilities. AlwaysCondition ConditionType = "always" // ExternalCloudProviderCondition is an incompatibility condition that represents the usage of the external Cloud Provider. ExternalCloudProviderCondition ConditionType = ClusterFeatureExternalCloudProvider // InTreeCloudProviderCondition is an incompatibility condition that represents the usage of the in-tree Cloud Provider. InTreeCloudProviderCondition ConditionType = "inTreeProvider" )
type Constraint ¶
type Constraint struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired state for the constraint. Spec ConstraintSpec `json:"spec,omitempty"` }
Constraint specifies a kubermatic wrapper for the gatekeeper constraints.
func (*Constraint) DeepCopy ¶
func (in *Constraint) DeepCopy() *Constraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Constraint.
func (*Constraint) DeepCopyInto ¶
func (in *Constraint) DeepCopyInto(out *Constraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Constraint) DeepCopyObject ¶
func (in *Constraint) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConstraintList ¶
type ConstraintList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of Gatekeeper Constraints Items []Constraint `json:"items"` }
ConstraintList specifies a list of constraints.
func (*ConstraintList) DeepCopy ¶
func (in *ConstraintList) DeepCopy() *ConstraintList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintList.
func (*ConstraintList) DeepCopyInto ¶
func (in *ConstraintList) DeepCopyInto(out *ConstraintList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConstraintList) DeepCopyObject ¶
func (in *ConstraintList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConstraintSelector ¶
type ConstraintSelector struct { // Providers is a list of cloud providers to which the Constraint applies to. Empty means all providers are selected. Providers []string `json:"providers,omitempty"` // LabelSelector selects the Clusters to which the Constraint applies based on their labels LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"` }
ConstraintSelector is the object holding the cluster selection filters.
func (*ConstraintSelector) DeepCopy ¶
func (in *ConstraintSelector) DeepCopy() *ConstraintSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintSelector.
func (*ConstraintSelector) DeepCopyInto ¶
func (in *ConstraintSelector) DeepCopyInto(out *ConstraintSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConstraintSpec ¶
type ConstraintSpec struct { // ConstraintType specifies the type of gatekeeper constraint that the constraint applies to ConstraintType string `json:"constraintType"` // Disabled is the flag for disabling OPA constraints Disabled bool `json:"disabled,omitempty"` // Match contains the constraint to resource matching data Match Match `json:"match,omitempty"` // Parameters specifies the parameters used by the constraint template REGO. // It supports both the legacy rawJSON parameters, in which all the parameters are set in a JSON string, and regular // parameters like in Gatekeeper Constraints. // If rawJSON is set, during constraint syncing to the user cluster, the other parameters are ignored // Example with rawJSON parameters: // // parameters: // rawJSON: '{"labels":["gatekeeper"]}' // // And with regular parameters: // // parameters: // labels: ["gatekeeper"] // // +kubebuilder:validation:Schemaless // +kubebuilder:pruning:PreserveUnknownFields Parameters Parameters `json:"parameters,omitempty"` // Selector specifies the cluster selection filters Selector ConstraintSelector `json:"selector,omitempty"` // EnforcementAction defines the action to take in response to a constraint being violated. // By default, EnforcementAction is set to deny as the default behavior is to deny admission requests with any violation. EnforcementAction string `json:"enforcementAction,omitempty"` }
ConstraintSpec specifies the data for the constraint.
func (*ConstraintSpec) DeepCopy ¶
func (in *ConstraintSpec) DeepCopy() *ConstraintSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintSpec.
func (*ConstraintSpec) DeepCopyInto ¶
func (in *ConstraintSpec) DeepCopyInto(out *ConstraintSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConstraintTemplate ¶
type ConstraintTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec specifies the gatekeeper constraint template and KKP related spec. Spec ConstraintTemplateSpec `json:"spec,omitempty"` }
ConstraintTemplate is the object representing a kubermatic wrapper for a gatekeeper constraint template.
func (*ConstraintTemplate) DeepCopy ¶
func (in *ConstraintTemplate) DeepCopy() *ConstraintTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintTemplate.
func (*ConstraintTemplate) DeepCopyInto ¶
func (in *ConstraintTemplate) DeepCopyInto(out *ConstraintTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConstraintTemplate) DeepCopyObject ¶
func (in *ConstraintTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConstraintTemplateList ¶
type ConstraintTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items refers to the list of ConstraintTemplate objects. Items []ConstraintTemplate `json:"items"` }
ConstraintTemplateList specifies a list of constraint templates.
func (*ConstraintTemplateList) DeepCopy ¶
func (in *ConstraintTemplateList) DeepCopy() *ConstraintTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintTemplateList.
func (*ConstraintTemplateList) DeepCopyInto ¶
func (in *ConstraintTemplateList) DeepCopyInto(out *ConstraintTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConstraintTemplateList) DeepCopyObject ¶
func (in *ConstraintTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConstraintTemplateSelector ¶
type ConstraintTemplateSelector struct { // Providers is a list of cloud providers to which the Constraint Template applies to. Empty means all providers are selected. Providers []string `json:"providers,omitempty"` // LabelSelector selects the Clusters to which the Constraint Template applies based on their labels LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"` }
ConstraintTemplateSelector is the object holding the cluster selection filters.
func (*ConstraintTemplateSelector) DeepCopy ¶
func (in *ConstraintTemplateSelector) DeepCopy() *ConstraintTemplateSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintTemplateSelector.
func (*ConstraintTemplateSelector) DeepCopyInto ¶
func (in *ConstraintTemplateSelector) DeepCopyInto(out *ConstraintTemplateSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConstraintTemplateSpec ¶
type ConstraintTemplateSpec struct { CRD v1.CRD `json:"crd,omitempty"` Targets []v1.Target `json:"targets,omitempty"` // Selector configures which clusters this constraint template is applied to. Selector ConstraintTemplateSelector `json:"selector,omitempty"` }
ConstraintTemplateSpec is the object representing the gatekeeper constraint template spec and kubermatic related spec.
func (*ConstraintTemplateSpec) DeepCopy ¶
func (in *ConstraintTemplateSpec) DeepCopy() *ConstraintTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConstraintTemplateSpec.
func (*ConstraintTemplateSpec) DeepCopyInto ¶
func (in *ConstraintTemplateSpec) DeepCopyInto(out *ConstraintTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerRuntimeContainerd ¶ added in v2.20.4
type ContainerRuntimeContainerd struct { // A map of registries to use to render configs and mirrors for containerd registries Registries map[string]ContainerdRegistry `json:"registries,omitempty"` }
ContainerRuntimeContainerd defines containerd container runtime registries configs.
func (*ContainerRuntimeContainerd) DeepCopy ¶ added in v2.20.4
func (in *ContainerRuntimeContainerd) DeepCopy() *ContainerRuntimeContainerd
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeContainerd.
func (*ContainerRuntimeContainerd) DeepCopyInto ¶ added in v2.20.4
func (in *ContainerRuntimeContainerd) DeepCopyInto(out *ContainerRuntimeContainerd)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ContainerdRegistry ¶ added in v2.20.4
type ContainerdRegistry struct { // List of registry mirrors to use Mirrors []string `json:"mirrors,omitempty"` }
ContainerdRegistry defines endpoints and security for given container registry.
func (*ContainerdRegistry) DeepCopy ¶ added in v2.20.4
func (in *ContainerdRegistry) DeepCopy() *ContainerdRegistry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerdRegistry.
func (*ContainerdRegistry) DeepCopyInto ¶ added in v2.20.4
func (in *ContainerdRegistry) DeepCopyInto(out *ContainerdRegistry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ControllerSettings ¶
type ControllerSettings struct { DeploymentSettings `json:",inline"` LeaderElectionSettings `json:"leaderElection,omitempty"` }
func (*ControllerSettings) DeepCopy ¶
func (in *ControllerSettings) DeepCopy() *ControllerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerSettings.
func (*ControllerSettings) DeepCopyInto ¶
func (in *ControllerSettings) DeepCopyInto(out *ControllerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomLink ¶
type CustomLink struct { Label string `json:"label"` URL string `json:"url"` Icon string `json:"icon"` Location string `json:"location"` }
func (*CustomLink) DeepCopy ¶
func (in *CustomLink) DeepCopy() *CustomLink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomLink.
func (*CustomLink) DeepCopyInto ¶
func (in *CustomLink) DeepCopyInto(out *CustomLink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomLinks ¶
type CustomLinks []CustomLink
func (CustomLinks) DeepCopy ¶
func (in CustomLinks) DeepCopy() CustomLinks
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomLinks.
func (CustomLinks) DeepCopyInto ¶
func (in CustomLinks) DeepCopyInto(out *CustomLinks)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomNetworkPolicy ¶ added in v2.21.5
type CustomNetworkPolicy struct { // Name is the name of the Custom Network Policy. Name string `json:"name"` // Spec is the Spec of the NetworkPolicy, using the standard type. Spec networkingv1.NetworkPolicySpec `json:"spec"` }
CustomNetworkPolicy contains a name and the Spec of a NetworkPolicy.
func (*CustomNetworkPolicy) DeepCopy ¶ added in v2.21.5
func (in *CustomNetworkPolicy) DeepCopy() *CustomNetworkPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomNetworkPolicy.
func (*CustomNetworkPolicy) DeepCopyInto ¶ added in v2.21.5
func (in *CustomNetworkPolicy) DeepCopyInto(out *CustomNetworkPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Datacenter ¶
type Datacenter struct { // Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. // For informational purposes in the Kubermatic dashboard only. Country string `json:"country,omitempty"` // Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7". // For informational purposes in the Kubermatic dashboard only. Location string `json:"location,omitempty"` // Node holds node-specific settings, like e.g. HTTP proxy, Docker // registries and the like. Proxy settings are inherited from the seed if // not specified here. Node *NodeSettings `json:"node,omitempty"` // Spec describes the cloud provider settings used to manage resources // in this datacenter. Exactly one cloud provider must be defined. Spec DatacenterSpec `json:"spec"` }
func (*Datacenter) DeepCopy ¶
func (in *Datacenter) DeepCopy() *Datacenter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Datacenter.
func (*Datacenter) DeepCopyInto ¶
func (in *Datacenter) DeepCopyInto(out *Datacenter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Datacenter) IsIPv6Enabled ¶ added in v2.21.0
func (d *Datacenter) IsIPv6Enabled(cloudProvider ProviderType) bool
IsIPv6Enabled returns true if ipv6 is enabled for the datacenter.
type DatacenterSpec ¶
type DatacenterSpec struct { // Digitalocean configures a Digitalocean datacenter. Digitalocean *DatacenterSpecDigitalocean `json:"digitalocean,omitempty"` // BringYourOwn contains settings for clusters using manually created // nodes via kubeadm. BringYourOwn *DatacenterSpecBringYourOwn `json:"bringyourown,omitempty"` // Edge contains settings for clusters using manually created // nodes in edge envs. Edge *DatacenterSpecEdge `json:"edge,omitempty"` // AWS configures an Amazon Web Services (AWS) datacenter. AWS *DatacenterSpecAWS `json:"aws,omitempty"` // Azure configures an Azure datacenter. Azure *DatacenterSpecAzure `json:"azure,omitempty"` // Openstack configures an Openstack datacenter. Openstack *DatacenterSpecOpenstack `json:"openstack,omitempty"` // Packet configures an Equinix Metal datacenter. Packet *DatacenterSpecPacket `json:"packet,omitempty"` // Hetzner configures a Hetzner datacenter. Hetzner *DatacenterSpecHetzner `json:"hetzner,omitempty"` // VSphere configures a VMware vSphere datacenter. VSphere *DatacenterSpecVSphere `json:"vsphere,omitempty"` // VMwareCloudDirector configures a VMware Cloud Director datacenter. VMwareCloudDirector *DatacenterSpecVMwareCloudDirector `json:"vmwareclouddirector,omitempty"` // GCP configures a Google Cloud Platform (GCP) datacenter. GCP *DatacenterSpecGCP `json:"gcp,omitempty"` // Kubevirt configures a KubeVirt datacenter. Kubevirt *DatacenterSpecKubevirt `json:"kubevirt,omitempty"` // Alibaba configures an Alibaba Cloud datacenter. Alibaba *DatacenterSpecAlibaba `json:"alibaba,omitempty"` // Anexia configures an Anexia datacenter. Anexia *DatacenterSpecAnexia `json:"anexia,omitempty"` // Nutanix configures a Nutanix HCI datacenter. Nutanix *DatacenterSpecNutanix `json:"nutanix,omitempty"` //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator Fake *DatacenterSpecFake `json:"fake,omitempty,omitgenyaml"` // Optional: When defined, only users with an e-mail address on the // given domains can make use of this datacenter. You can define multiple // domains, e.g. "example.com", one of which must match the email domain // exactly (i.e. "example.com" will not match "user@test.example.com"). RequiredEmails []string `json:"requiredEmails,omitempty"` // Optional: EnforceAuditLogging enforces audit logging on every cluster within the DC, // ignoring cluster-specific settings. EnforceAuditLogging bool `json:"enforceAuditLogging,omitempty"` // Optional: EnforcePodSecurityPolicy enforces pod security policy plugin on every clusters within the DC, // ignoring cluster-specific settings. EnforcePodSecurityPolicy bool `json:"enforcePodSecurityPolicy,omitempty"` // Optional: ProviderReconciliationInterval is the time that must have passed since a // Cluster's status.lastProviderReconciliation to make the cliuster controller // perform an in-depth provider reconciliation, where for example missing security // groups will be reconciled. // Setting this too low can cause rate limits by the cloud provider, setting this // too high means that *if* a resource at a cloud provider is removed/changed outside // of KKP, it will take this long to fix it. ProviderReconciliationInterval *metav1.Duration `json:"providerReconciliationInterval,omitempty"` // Optional: DefaultOperatingSystemProfiles specifies the OperatingSystemProfiles to use for each supported operating system. DefaultOperatingSystemProfiles OperatingSystemProfileList `json:"operatingSystemProfiles,omitempty"` // Optional: MachineFlavorFilter is used to filter out allowed machine flavors based on the specified resource limits like CPU, Memory, and GPU etc. MachineFlavorFilter *MachineFlavorFilter `json:"machineFlavorFilter,omitempty"` // Optional: DisableCSIDriver disables the installation of CSI driver on every clusters within the DC // If true it can't be over-written in the cluster configuration DisableCSIDriver bool `json:"disableCsiDriver,omitempty"` // Optional: KubeLB holds the configuration for the kubeLB at the data center level. // Only available in Enterprise Edition. // //nolint:staticcheck //lint:ignore SA5008 omitcegenyaml is used by the example-yaml-generator KubeLB *KubeLBDatacenterSettings `json:"kubelb,omitempty,omitcegenyaml"` }
DatacenterSpec configures a KKP datacenter. Provider configuration is mutually exclusive, and as such only a single provider can be configured per datacenter.
func (*DatacenterSpec) DeepCopy ¶
func (in *DatacenterSpec) DeepCopy() *DatacenterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpec.
func (*DatacenterSpec) DeepCopyInto ¶
func (in *DatacenterSpec) DeepCopyInto(out *DatacenterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecAWS ¶
type DatacenterSpecAWS struct { // The AWS region to use, e.g. "us-east-1". For a list of available regions, see // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html Region string `json:"region"` // List of AMIs to use for a given operating system. // This gets defaulted by querying for the latest AMI for the given distribution // when machines are created, so under normal circumstances it is not necessary // to define the AMIs statically. Images ImageList `json:"images,omitempty"` }
DatacenterSpecAWS describes an AWS datacenter.
func (*DatacenterSpecAWS) DeepCopy ¶
func (in *DatacenterSpecAWS) DeepCopy() *DatacenterSpecAWS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecAWS.
func (*DatacenterSpecAWS) DeepCopyInto ¶
func (in *DatacenterSpecAWS) DeepCopyInto(out *DatacenterSpecAWS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecAlibaba ¶
type DatacenterSpecAlibaba struct { // Region to use, for a full list of regions see // https://www.alibabacloud.com/help/doc-detail/40654.htm Region string `json:"region"` }
DatacenterSpecAlibaba describes a alibaba datacenter.
func (*DatacenterSpecAlibaba) DeepCopy ¶
func (in *DatacenterSpecAlibaba) DeepCopy() *DatacenterSpecAlibaba
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecAlibaba.
func (*DatacenterSpecAlibaba) DeepCopyInto ¶
func (in *DatacenterSpecAlibaba) DeepCopyInto(out *DatacenterSpecAlibaba)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecAnexia ¶
type DatacenterSpecAnexia struct { // LocationID the location of the region LocationID string `json:"locationID"` }
DatacenterSpecAnexia describes a anexia datacenter.
func (*DatacenterSpecAnexia) DeepCopy ¶
func (in *DatacenterSpecAnexia) DeepCopy() *DatacenterSpecAnexia
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecAnexia.
func (*DatacenterSpecAnexia) DeepCopyInto ¶
func (in *DatacenterSpecAnexia) DeepCopyInto(out *DatacenterSpecAnexia)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecAzure ¶
type DatacenterSpecAzure struct { // Region to use, for example "westeurope". A list of available regions can be // found at https://azure.microsoft.com/en-us/global-infrastructure/locations/ Location string `json:"location"` }
DatacenterSpecAzure describes an Azure cloud datacenter.
func (*DatacenterSpecAzure) DeepCopy ¶
func (in *DatacenterSpecAzure) DeepCopy() *DatacenterSpecAzure
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecAzure.
func (*DatacenterSpecAzure) DeepCopyInto ¶
func (in *DatacenterSpecAzure) DeepCopyInto(out *DatacenterSpecAzure)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecBringYourOwn ¶
type DatacenterSpecBringYourOwn struct { }
DatacenterSpecBringYourOwn describes a datacenter our of bring your own nodes.
func (*DatacenterSpecBringYourOwn) DeepCopy ¶
func (in *DatacenterSpecBringYourOwn) DeepCopy() *DatacenterSpecBringYourOwn
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecBringYourOwn.
func (*DatacenterSpecBringYourOwn) DeepCopyInto ¶
func (in *DatacenterSpecBringYourOwn) DeepCopyInto(out *DatacenterSpecBringYourOwn)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecDigitalocean ¶
type DatacenterSpecDigitalocean struct { // Datacenter location, e.g. "ams3". A list of existing datacenters can be found // at https://www.digitalocean.com/docs/platform/availability-matrix/ Region string `json:"region"` }
DatacenterSpecDigitalocean describes a DigitalOcean datacenter.
func (*DatacenterSpecDigitalocean) DeepCopy ¶
func (in *DatacenterSpecDigitalocean) DeepCopy() *DatacenterSpecDigitalocean
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecDigitalocean.
func (*DatacenterSpecDigitalocean) DeepCopyInto ¶
func (in *DatacenterSpecDigitalocean) DeepCopyInto(out *DatacenterSpecDigitalocean)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecEdge ¶ added in v2.25.0
type DatacenterSpecEdge struct { }
DatacenterSpecEdge describes a datacenter of edge nodes.
func (*DatacenterSpecEdge) DeepCopy ¶ added in v2.25.0
func (in *DatacenterSpecEdge) DeepCopy() *DatacenterSpecEdge
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecEdge.
func (*DatacenterSpecEdge) DeepCopyInto ¶ added in v2.25.0
func (in *DatacenterSpecEdge) DeepCopyInto(out *DatacenterSpecEdge)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecFake ¶
type DatacenterSpecFake struct {
FakeProperty string `json:"fakeProperty,omitempty"`
}
DatacenterSpecFake describes a fake datacenter.
func (*DatacenterSpecFake) DeepCopy ¶
func (in *DatacenterSpecFake) DeepCopy() *DatacenterSpecFake
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecFake.
func (*DatacenterSpecFake) DeepCopyInto ¶
func (in *DatacenterSpecFake) DeepCopyInto(out *DatacenterSpecFake)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecGCP ¶
type DatacenterSpecGCP struct { // Region to use, for example "europe-west3", for a full list of regions see // https://cloud.google.com/compute/docs/regions-zones/ Region string `json:"region"` // List of enabled zones, for example [a, c]. See the link above for the available // zones in your chosen region. ZoneSuffixes []string `json:"zoneSuffixes"` // Optional: Regional clusters spread their resources across multiple availability zones. // Refer to the official documentation for more details on this: // https://cloud.google.com/kubernetes-engine/docs/concepts/regional-clusters Regional bool `json:"regional,omitempty"` }
DatacenterSpecGCP describes a GCP datacenter.
func (*DatacenterSpecGCP) DeepCopy ¶
func (in *DatacenterSpecGCP) DeepCopy() *DatacenterSpecGCP
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecGCP.
func (*DatacenterSpecGCP) DeepCopyInto ¶
func (in *DatacenterSpecGCP) DeepCopyInto(out *DatacenterSpecGCP)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecHetzner ¶
type DatacenterSpecHetzner struct { // Datacenter location, e.g. "nbg1-dc3". A list of existing datacenters can be found // at https://docs.hetzner.com/general/others/data-centers-and-connection/ Datacenter string `json:"datacenter"` // Network is the pre-existing Hetzner network in which the machines are running. // While machines can be in multiple networks, a single one must be chosen for the // HCloud CCM to work. Network string `json:"network"` // Optional: Detailed location of the datacenter, like "Hamburg" or "Datacenter 7". // For informational purposes only. Location string `json:"location,omitempty"` }
DatacenterSpecHetzner describes a Hetzner cloud datacenter.
func (*DatacenterSpecHetzner) DeepCopy ¶
func (in *DatacenterSpecHetzner) DeepCopy() *DatacenterSpecHetzner
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecHetzner.
func (*DatacenterSpecHetzner) DeepCopyInto ¶
func (in *DatacenterSpecHetzner) DeepCopyInto(out *DatacenterSpecHetzner)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecKubevirt ¶
type DatacenterSpecKubevirt struct { // DNSPolicy represents the dns policy for the pod. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', // 'Default' or 'None'. Defaults to "ClusterFirst". DNS parameters given in DNSConfig will be merged with the // policy selected with DNSPolicy. DNSPolicy string `json:"dnsPolicy,omitempty"` // DNSConfig represents the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"` // Optional: EnableDefaultNetworkPolicies enables deployment of default network policies like cluster isolation. // Defaults to true. EnableDefaultNetworkPolicies *bool `json:"enableDefaultNetworkPolicies,omitempty"` // Optional: CustomNetworkPolicies allows to add some extra custom NetworkPolicies, that are deployed // in the dedicated infra KubeVirt cluster. They are added to the defaults. CustomNetworkPolicies []CustomNetworkPolicy `json:"customNetworkPolicies,omitempty"` // Images represents standard VM Image sources. Images KubeVirtImageSources `json:"images,omitempty"` // Optional: InfraStorageClasses contains a list of KubeVirt infra cluster StorageClasses names // that will be used to initialise StorageClasses in the tenant cluster. // In the tenant cluster, the created StorageClass name will have as name: // kubevirt-<infra-storageClass-name> InfraStorageClasses []KubeVirtInfraStorageClass `json:"infraStorageClasses,omitempty"` }
DatacenterSpecKubevirt describes a kubevirt datacenter.
func (*DatacenterSpecKubevirt) DeepCopy ¶
func (in *DatacenterSpecKubevirt) DeepCopy() *DatacenterSpecKubevirt
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecKubevirt.
func (*DatacenterSpecKubevirt) DeepCopyInto ¶
func (in *DatacenterSpecKubevirt) DeepCopyInto(out *DatacenterSpecKubevirt)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecNutanix ¶
type DatacenterSpecNutanix struct { // Endpoint to use for accessing Nutanix Prism Central. No protocol or port should be passed, // for example "nutanix.example.com" or "10.0.0.1" Endpoint string `json:"endpoint"` // Optional: Port to use when connecting to the Nutanix Prism Central endpoint (defaults to 9440) Port *int32 `json:"port,omitempty"` // Optional: AllowInsecure allows to disable the TLS certificate check against the endpoint (defaults to false) AllowInsecure bool `json:"allowInsecure,omitempty"` // Images to use for each supported operating system Images ImageList `json:"images"` }
DatacenterSpecNutanix describes a Nutanix datacenter.
func (*DatacenterSpecNutanix) DeepCopy ¶
func (in *DatacenterSpecNutanix) DeepCopy() *DatacenterSpecNutanix
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecNutanix.
func (*DatacenterSpecNutanix) DeepCopyInto ¶
func (in *DatacenterSpecNutanix) DeepCopyInto(out *DatacenterSpecNutanix)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecOpenstack ¶
type DatacenterSpecOpenstack struct { // Authentication URL AuthURL string `json:"authURL"` // Used to configure availability zone. AvailabilityZone string `json:"availabilityZone,omitempty"` // Authentication region name Region string `json:"region"` // Optional IgnoreVolumeAZ bool `json:"ignoreVolumeAZ,omitempty"` //nolint:tagliatelle // Optional EnforceFloatingIP bool `json:"enforceFloatingIP,omitempty"` // Used for automatic network creation DNSServers []string `json:"dnsServers,omitempty"` // Images to use for each supported operating system. Images ImageList `json:"images"` // Optional: Gets mapped to the "manage-security-groups" setting in the cloud config. // This setting defaults to true. ManageSecurityGroups *bool `json:"manageSecurityGroups,omitempty"` // Optional: Gets mapped to the "use-octavia" setting in the cloud config. // use-octavia is enabled by default in CCM since v1.17.0, and disabled by // default with the in-tree cloud provider. UseOctavia *bool `json:"useOctavia,omitempty"` // Optional: Gets mapped to the "trust-device-path" setting in the cloud config. // This setting defaults to false. TrustDevicePath *bool `json:"trustDevicePath,omitempty"` // Optional: Restrict the allowed VM configurations that can be chosen in // the KKP dashboard. This setting does not affect the validation webhook for // MachineDeployments. NodeSizeRequirements *OpenstackNodeSizeRequirements `json:"nodeSizeRequirements,omitempty"` // Optional: List of enabled flavors for the given datacenter EnabledFlavors []string `json:"enabledFlavors,omitempty"` // Optional: defines if the IPv6 is enabled for the datacenter IPv6Enabled *bool `json:"ipv6Enabled,omitempty"` // Optional: configures enablement of topology support for the Cinder CSI Plugin. // This requires Nova and Cinder to have matching availability zones configured. CSICinderTopologyEnabled bool `json:"csiCinderTopologyEnabled,omitempty"` }
DatacenterSpecOpenstack describes an OpenStack datacenter.
func (*DatacenterSpecOpenstack) DeepCopy ¶
func (in *DatacenterSpecOpenstack) DeepCopy() *DatacenterSpecOpenstack
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecOpenstack.
func (*DatacenterSpecOpenstack) DeepCopyInto ¶
func (in *DatacenterSpecOpenstack) DeepCopyInto(out *DatacenterSpecOpenstack)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecPacket ¶
type DatacenterSpecPacket struct { // The list of enabled facilities, for example "ams1", for a full list of available // facilities see https://metal.equinix.com/developers/docs/locations/facilities/ Facilities []string `json:"facilities,omitempty"` // Metros are facilities that are grouped together geographically and share capacity // and networking features, see https://metal.equinix.com/developers/docs/locations/metros/ Metro string `json:"metro,omitempty"` }
DatacenterSpecPacket describes a Packet datacenter.
func (*DatacenterSpecPacket) DeepCopy ¶
func (in *DatacenterSpecPacket) DeepCopy() *DatacenterSpecPacket
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecPacket.
func (*DatacenterSpecPacket) DeepCopyInto ¶
func (in *DatacenterSpecPacket) DeepCopyInto(out *DatacenterSpecPacket)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecVMwareCloudDirector ¶ added in v2.21.0
type DatacenterSpecVMwareCloudDirector struct { // Endpoint URL to use, including protocol, for example "https://vclouddirector.example.com". URL string `json:"url"` // If set to true, disables the TLS certificate check against the endpoint. AllowInsecure bool `json:"allowInsecure,omitempty"` // The default catalog which contains the VM templates. DefaultCatalog string `json:"catalog,omitempty"` // The name of the storage profile to use for disks attached to the VMs. DefaultStorageProfile string `json:"storageProfile,omitempty"` // A list of VM templates to use for a given operating system. You must // define at least one template. Templates ImageList `json:"templates"` }
func (*DatacenterSpecVMwareCloudDirector) DeepCopy ¶ added in v2.21.0
func (in *DatacenterSpecVMwareCloudDirector) DeepCopy() *DatacenterSpecVMwareCloudDirector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecVMwareCloudDirector.
func (*DatacenterSpecVMwareCloudDirector) DeepCopyInto ¶ added in v2.21.0
func (in *DatacenterSpecVMwareCloudDirector) DeepCopyInto(out *DatacenterSpecVMwareCloudDirector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatacenterSpecVSphere ¶
type DatacenterSpecVSphere struct { // Endpoint URL to use, including protocol, for example "https://vcenter.example.com". Endpoint string `json:"endpoint"` // If set to true, disables the TLS certificate check against the endpoint. AllowInsecure bool `json:"allowInsecure,omitempty"` // The default Datastore to be used for provisioning volumes using storage // classes/dynamic provisioning and for storing virtual machine files in // case no `Datastore` or `DatastoreCluster` is provided at Cluster level. DefaultDatastore string `json:"datastore"` // The name of the datacenter to use. Datacenter string `json:"datacenter"` // The name of the vSphere cluster to use. Used for out-of-tree CSI Driver. Cluster string `json:"cluster"` // The name of the storage policy to use for the storage class created in the user cluster. DefaultStoragePolicy string `json:"storagePolicy,omitempty"` // Optional: The root path for cluster specific VM folders. Each cluster gets its own // folder below the root folder. Must be the FQDN (for example // "/datacenter-1/vm/all-kubermatic-vms-in-here") and defaults to the root VM // folder: "/datacenter-1/vm" RootPath string `json:"rootPath,omitempty"` // A list of VM templates to use for a given operating system. You must // define at least one template. // See: https://github.com/kubermatic/machine-controller/blob/master/docs/vsphere.md#template-vms-preparation Templates ImageList `json:"templates"` // Optional: Infra management user is the user that will be used for everything // except the cloud provider functionality, which will still use the credentials // passed in via the Kubermatic dashboard/API. InfraManagementUser *VSphereCredentials `json:"infraManagementUser,omitempty"` // Optional: defines if the IPv6 is enabled for the datacenter IPv6Enabled *bool `json:"ipv6Enabled,omitempty"` // DefaultTagCategoryID is the tag category id that will be used as default, if users don't specify it on a cluster level, // and they don't wish KKP to create default generated tag category, upon cluster creation. DefaultTagCategoryID string `json:"defaultTagCategoryID,omitempty"` }
DatacenterSpecVSphere describes a vSphere datacenter.
func (*DatacenterSpecVSphere) DeepCopy ¶
func (in *DatacenterSpecVSphere) DeepCopy() *DatacenterSpecVSphere
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatacenterSpecVSphere.
func (*DatacenterSpecVSphere) DeepCopyInto ¶
func (in *DatacenterSpecVSphere) DeepCopyInto(out *DatacenterSpecVSphere)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultProjectResourceQuota ¶ added in v2.22.0
type DefaultProjectResourceQuota struct { // Quota specifies the default CPU, Memory and Storage quantities for all the projects. Quota ResourceDetails `json:"quota,omitempty"` }
DefaultProjectResourceQuota contains the default resource quota which will be set for all projects that do not have a custom quota already set.
func (*DefaultProjectResourceQuota) DeepCopy ¶ added in v2.22.0
func (in *DefaultProjectResourceQuota) DeepCopy() *DefaultProjectResourceQuota
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultProjectResourceQuota.
func (*DefaultProjectResourceQuota) DeepCopyInto ¶ added in v2.22.0
func (in *DefaultProjectResourceQuota) DeepCopyInto(out *DefaultProjectResourceQuota)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentSettings ¶
type DeploymentSettings struct { Replicas *int32 `json:"replicas,omitempty"` Resources *corev1.ResourceRequirements `json:"resources,omitempty"` Tolerations []corev1.Toleration `json:"tolerations,omitempty"` }
func (*DeploymentSettings) DeepCopy ¶
func (in *DeploymentSettings) DeepCopy() *DeploymentSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSettings.
func (*DeploymentSettings) DeepCopyInto ¶
func (in *DeploymentSettings) DeepCopyInto(out *DeploymentSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Digitalocean ¶
type Digitalocean struct { ProviderPreset `json:",inline"` // Token is used to authenticate with the DigitalOcean API. Token string `json:"token"` }
func (*Digitalocean) DeepCopy ¶
func (in *Digitalocean) DeepCopy() *Digitalocean
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Digitalocean.
func (*Digitalocean) DeepCopyInto ¶
func (in *Digitalocean) DeepCopyInto(out *Digitalocean)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Digitalocean) IsValid ¶
func (s Digitalocean) IsValid() bool
type DigitaloceanCloudSpec ¶
type DigitaloceanCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // Token is used to authenticate with the DigitalOcean API. Token string `json:"token,omitempty"` }
DigitaloceanCloudSpec specifies access data to DigitalOcean.
func (*DigitaloceanCloudSpec) DeepCopy ¶
func (in *DigitaloceanCloudSpec) DeepCopy() *DigitaloceanCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DigitaloceanCloudSpec.
func (*DigitaloceanCloudSpec) DeepCopyInto ¶
func (in *DigitaloceanCloudSpec) DeepCopyInto(out *DigitaloceanCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKS ¶
type EKS struct { ProviderPreset `json:",inline"` // The Access key ID used to authenticate against AWS. AccessKeyID string `json:"accessKeyID"` // The Secret Access Key used to authenticate against AWS. SecretAccessKey string `json:"secretAccessKey"` // Defines the ARN for an IAM role that should be assumed when handling resources on AWS. It will be used // to acquire temporary security credentials using an STS AssumeRole API operation whenever creating an AWS session. // required: false AssumeRoleARN string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle // An arbitrary string that may be needed when calling the STS AssumeRole API operation. // Using an external ID can help to prevent the "confused deputy problem". // required: false AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"` }
func (*EKS) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKS.
func (*EKS) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EdgeCloudSpec ¶ added in v2.25.0
type EdgeCloudSpec struct{}
EdgeCloudSpec specifies access data for an edge cluster.
func (*EdgeCloudSpec) DeepCopy ¶ added in v2.25.0
func (in *EdgeCloudSpec) DeepCopy() *EdgeCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EdgeCloudSpec.
func (*EdgeCloudSpec) DeepCopyInto ¶ added in v2.25.0
func (in *EdgeCloudSpec) DeepCopyInto(out *EdgeCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EncryptionConfiguration ¶ added in v2.21.0
type EncryptionConfiguration struct { // Enables encryption-at-rest on this cluster. Enabled bool `json:"enabled"` // List of resources that will be stored encrypted in etcd. Resources []string `json:"resources"` // Configuration for the `secretbox` static key encryption scheme as supported by Kubernetes. // More info: https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#providers Secretbox *SecretboxEncryptionConfiguration `json:"secretbox,omitempty"` }
EncryptionConfiguration configures encryption-at-rest for Kubernetes API data.
func (*EncryptionConfiguration) DeepCopy ¶ added in v2.21.0
func (in *EncryptionConfiguration) DeepCopy() *EncryptionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionConfiguration.
func (*EncryptionConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *EncryptionConfiguration) DeepCopyInto(out *EncryptionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyLoadBalancerService ¶ added in v2.20.2
type EnvoyLoadBalancerService struct { // Annotations are used to further tweak the LoadBalancer integration with the // cloud provider. Annotations map[string]string `json:"annotations,omitempty"` // SourceRanges will restrict loadbalancer service to IP ranges specified using CIDR notation like 172.25.0.0/16. // This field will be ignored if the cloud-provider does not support the feature. // More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/ SourceRanges []CIDR `json:"sourceRanges,omitempty"` }
func (*EnvoyLoadBalancerService) DeepCopy ¶ added in v2.20.2
func (in *EnvoyLoadBalancerService) DeepCopy() *EnvoyLoadBalancerService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyLoadBalancerService.
func (*EnvoyLoadBalancerService) DeepCopyInto ¶ added in v2.20.2
func (in *EnvoyLoadBalancerService) DeepCopyInto(out *EnvoyLoadBalancerService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdBackupConfig ¶
type EtcdBackupConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes details of an Etcd backup. Spec EtcdBackupConfigSpec `json:"spec,omitempty"` Status EtcdBackupConfigStatus `json:"status,omitempty"` }
EtcdBackupConfig describes how snapshots of user cluster etcds should be performed. Each user cluster automatically gets a default EtcdBackupConfig in its cluster namespace.
func (*EtcdBackupConfig) DeepCopy ¶
func (in *EtcdBackupConfig) DeepCopy() *EtcdBackupConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupConfig.
func (*EtcdBackupConfig) DeepCopyInto ¶
func (in *EtcdBackupConfig) DeepCopyInto(out *EtcdBackupConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdBackupConfig) DeepCopyObject ¶
func (in *EtcdBackupConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EtcdBackupConfig) GetKeptBackupsCount ¶
func (bc *EtcdBackupConfig) GetKeptBackupsCount() int
type EtcdBackupConfigCondition ¶
type EtcdBackupConfigCondition struct { // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // (brief) reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
func (*EtcdBackupConfigCondition) DeepCopy ¶
func (in *EtcdBackupConfigCondition) DeepCopy() *EtcdBackupConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupConfigCondition.
func (*EtcdBackupConfigCondition) DeepCopyInto ¶
func (in *EtcdBackupConfigCondition) DeepCopyInto(out *EtcdBackupConfigCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdBackupConfigConditionType ¶
type EtcdBackupConfigConditionType string
EtcdBackupConfigConditionType is used to indicate the type of a EtcdBackupConfig condition. For all condition types, the `true` value must indicate success. All condition types must be registered within the `AllClusterConditionTypes` variable.
const ( // EtcdBackupConfigConditionSchedulingActive indicates that the EtcdBackupConfig is active, i.e. // new backups are being scheduled according to the config's schedule. EtcdBackupConfigConditionSchedulingActive EtcdBackupConfigConditionType = "SchedulingActive" )
type EtcdBackupConfigList ¶
type EtcdBackupConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is a list of EtcdBackupConfig objects. Items []EtcdBackupConfig `json:"items"` }
EtcdBackupConfigList is a list of etcd backup configs.
func (*EtcdBackupConfigList) DeepCopy ¶
func (in *EtcdBackupConfigList) DeepCopy() *EtcdBackupConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupConfigList.
func (*EtcdBackupConfigList) DeepCopyInto ¶
func (in *EtcdBackupConfigList) DeepCopyInto(out *EtcdBackupConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdBackupConfigList) DeepCopyObject ¶
func (in *EtcdBackupConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdBackupConfigSpec ¶
type EtcdBackupConfigSpec struct { // Name defines the name of the backup // The name of the backup file in S3 will be <cluster>-<backup name> // If a schedule is set (see below), -<timestamp> will be appended. Name string `json:"name"` // Cluster is the reference to the cluster whose etcd will be backed up Cluster corev1.ObjectReference `json:"cluster"` // Schedule is a cron expression defining when to perform // the backup. If not set, the backup is performed exactly // once, immediately. Schedule string `json:"schedule,omitempty"` // Keep is the number of backups to keep around before deleting the oldest one // If not set, defaults to DefaultKeptBackupsCount. Only used if Schedule is set. Keep *int `json:"keep,omitempty"` // Destination indicates where the backup will be stored. The destination name must correspond to a destination in // the cluster's Seed.Spec.EtcdBackupRestore. Destination string `json:"destination"` }
EtcdBackupConfigSpec specifies details of an etcd backup.
func (*EtcdBackupConfigSpec) DeepCopy ¶
func (in *EtcdBackupConfigSpec) DeepCopy() *EtcdBackupConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupConfigSpec.
func (*EtcdBackupConfigSpec) DeepCopyInto ¶
func (in *EtcdBackupConfigSpec) DeepCopyInto(out *EtcdBackupConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdBackupConfigStatus ¶
type EtcdBackupConfigStatus struct { // CurrentBackups tracks the creation and deletion progress of all backups managed by the EtcdBackupConfig CurrentBackups []BackupStatus `json:"currentBackups,omitempty"` // Conditions contains conditions of the EtcdBackupConfig Conditions map[EtcdBackupConfigConditionType]EtcdBackupConfigCondition `json:"conditions,omitempty"` // If the controller was configured with a cleanupContainer, CleanupRunning keeps track of the corresponding job CleanupRunning bool `json:"cleanupRunning,omitempty"` }
func (*EtcdBackupConfigStatus) DeepCopy ¶
func (in *EtcdBackupConfigStatus) DeepCopy() *EtcdBackupConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupConfigStatus.
func (*EtcdBackupConfigStatus) DeepCopyInto ¶
func (in *EtcdBackupConfigStatus) DeepCopyInto(out *EtcdBackupConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdBackupRestore ¶
type EtcdBackupRestore struct { // Destinations stores all the possible destinations where the backups for the Seed can be stored. If not empty, // it enables automatic backup and restore for the seed. Destinations map[string]*BackupDestination `json:"destinations,omitempty"` // DefaultDestination marks the default destination that will be used for the default etcd backup config which is // created for every user cluster. Has to correspond to a destination in Destinations. // If removed, it removes the related default etcd backup configs. DefaultDestination string `json:"defaultDestination,omitempty"` }
EtcdBackupRestore holds the configuration of the automatic backup and restores.
func (*EtcdBackupRestore) DeepCopy ¶
func (in *EtcdBackupRestore) DeepCopy() *EtcdBackupRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdBackupRestore.
func (*EtcdBackupRestore) DeepCopyInto ¶
func (in *EtcdBackupRestore) DeepCopyInto(out *EtcdBackupRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdRestore ¶
type EtcdRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes details of an etcd restore. Spec EtcdRestoreSpec `json:"spec,omitempty"` Status EtcdRestoreStatus `json:"status,omitempty"` }
EtcdRestore specifies an add-on.
func (*EtcdRestore) DeepCopy ¶
func (in *EtcdRestore) DeepCopy() *EtcdRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestore.
func (*EtcdRestore) DeepCopyInto ¶
func (in *EtcdRestore) DeepCopyInto(out *EtcdRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdRestore) DeepCopyObject ¶
func (in *EtcdRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdRestoreList ¶
type EtcdRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of the Etcd restores. Items []EtcdRestore `json:"items"` }
EtcdRestoreList is a list of etcd restores.
func (*EtcdRestoreList) DeepCopy ¶
func (in *EtcdRestoreList) DeepCopy() *EtcdRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestoreList.
func (*EtcdRestoreList) DeepCopyInto ¶
func (in *EtcdRestoreList) DeepCopyInto(out *EtcdRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EtcdRestoreList) DeepCopyObject ¶
func (in *EtcdRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EtcdRestorePhase ¶
type EtcdRestorePhase string
EtcdRestorePhase represents the lifecycle phase of an EtcdRestore.
const ( // EtcdRestoreResourceName represents "Resource" defined in Kubernetes. EtcdRestoreResourceName = "etcdrestores" // EtcdRestoreKindName represents "Kind" defined in Kubernetes. EtcdRestoreKindName = "EtcdRestore" // EtcdRestorePhaseStarted value indicating that the restore has started. EtcdRestorePhaseStarted EtcdRestorePhase = "Started" // EtcdRestorePhaseStsRebuilding value indicating that the old Etcd statefulset has been deleted and is now rebuilding. EtcdRestorePhaseStsRebuilding EtcdRestorePhase = "StsRebuilding" // EtcdRestorePhaseCompleted value indicating that the old Etcd statefulset has completed successfully. EtcdRestorePhaseCompleted EtcdRestorePhase = "Completed" // EtcdRestorePhaseEtcdLauncherNotEnabled value indicating that etcd-launcher is not enabled. EtcdRestorePhaseEtcdLauncherNotEnabled EtcdRestorePhase = "EtcdLauncherNotEnabled" )
type EtcdRestoreSpec ¶
type EtcdRestoreSpec struct { // Name defines the name of the restore // The name of the restore file in S3 will be <cluster>-<restore name> // If a schedule is set (see below), -<timestamp> will be appended. Name string `json:"name"` // Cluster is the reference to the cluster whose etcd will be backed up Cluster corev1.ObjectReference `json:"cluster"` // BackupName is the name of the backup to restore from BackupName string `json:"backupName"` // BackupDownloadCredentialsSecret is the name of a secret in the cluster-xxx namespace containing // credentials needed to download the backup BackupDownloadCredentialsSecret string `json:"backupDownloadCredentialsSecret,omitempty"` // Destination indicates where the backup was stored. The destination name should correspond to a destination in // the cluster's Seed.Spec.EtcdBackupRestore. If empty, it will use the legacy destination configured in Seed.Spec.BackupRestore Destination string `json:"destination,omitempty"` }
EtcdRestoreSpec specifies details of an etcd restore.
func (*EtcdRestoreSpec) DeepCopy ¶
func (in *EtcdRestoreSpec) DeepCopy() *EtcdRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestoreSpec.
func (*EtcdRestoreSpec) DeepCopyInto ¶
func (in *EtcdRestoreSpec) DeepCopyInto(out *EtcdRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdRestoreStatus ¶
type EtcdRestoreStatus struct { Phase EtcdRestorePhase `json:"phase"` // +optional RestoreTime metav1.Time `json:"restoreTime,omitempty"` }
func (*EtcdRestoreStatus) DeepCopy ¶
func (in *EtcdRestoreStatus) DeepCopy() *EtcdRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdRestoreStatus.
func (*EtcdRestoreStatus) DeepCopyInto ¶
func (in *EtcdRestoreStatus) DeepCopyInto(out *EtcdRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EtcdStatefulSetSettings ¶
type EtcdStatefulSetSettings struct { // ClusterSize is the number of replicas created for etcd. This should be an // odd number to guarantee consensus, e.g. 3, 5 or 7. ClusterSize *int32 `json:"clusterSize,omitempty"` // StorageClass is the Kubernetes StorageClass used for persistent storage // which stores the etcd WAL and other data persisted across restarts. Defaults to // `kubermatic-fast` (the global default). StorageClass string `json:"storageClass,omitempty"` // DiskSize is the volume size used when creating persistent storage from // the configured StorageClass. This is inherited from KubermaticConfiguration // if not set. Defaults to 5Gi. DiskSize *resource.Quantity `json:"diskSize,omitempty"` // Resources allows to override the resource requirements for etcd Pods. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Tolerations allows to override the scheduling tolerations for etcd Pods. Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // HostAntiAffinity allows to enforce a certain type of host anti-affinity on etcd // pods. Options are "preferred" (default) and "required". Please note that // enforcing anti-affinity via "required" can mean that pods are never scheduled. HostAntiAffinity AntiAffinityType `json:"hostAntiAffinity,omitempty"` // ZoneAntiAffinity allows to enforce a certain type of availability zone anti-affinity on etcd // pods. Options are "preferred" (default) and "required". Please note that // enforcing anti-affinity via "required" can mean that pods are never scheduled. ZoneAntiAffinity AntiAffinityType `json:"zoneAntiAffinity,omitempty"` // NodeSelector is a selector which restricts the set of nodes where etcd Pods can run. NodeSelector map[string]string `json:"nodeSelector,omitempty"` }
func (*EtcdStatefulSetSettings) DeepCopy ¶
func (in *EtcdStatefulSetSettings) DeepCopy() *EtcdStatefulSetSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EtcdStatefulSetSettings.
func (*EtcdStatefulSetSettings) DeepCopyInto ¶
func (in *EtcdStatefulSetSettings) DeepCopyInto(out *EtcdStatefulSetSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventRateLimitConfig ¶
type EventRateLimitConfig struct { Server *EventRateLimitConfigItem `json:"server,omitempty"` Namespace *EventRateLimitConfigItem `json:"namespace,omitempty"` User *EventRateLimitConfigItem `json:"user,omitempty"` SourceAndObject *EventRateLimitConfigItem `json:"sourceAndObject,omitempty"` }
EventRateLimitConfig configures the `EventRateLimit` admission plugin. More info: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#eventratelimit
func (*EventRateLimitConfig) DeepCopy ¶
func (in *EventRateLimitConfig) DeepCopy() *EventRateLimitConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventRateLimitConfig.
func (*EventRateLimitConfig) DeepCopyInto ¶
func (in *EventRateLimitConfig) DeepCopyInto(out *EventRateLimitConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EventRateLimitConfigItem ¶
type EventRateLimitConfigItem struct { QPS int32 `json:"qps"` Burst int32 `json:"burst"` CacheSize int32 `json:"cacheSize,omitempty"` }
func (*EventRateLimitConfigItem) DeepCopy ¶
func (in *EventRateLimitConfigItem) DeepCopy() *EventRateLimitConfigItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventRateLimitConfigItem.
func (*EventRateLimitConfigItem) DeepCopyInto ¶
func (in *EventRateLimitConfigItem) DeepCopyInto(out *EventRateLimitConfigItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExposeStrategiesSet ¶
type ExposeStrategiesSet map[ExposeStrategy]struct{}
ExposeStrategiesSet is a set of ExposeStrategies.
func NewExposeStrategiesSet ¶
func NewExposeStrategiesSet(items ...ExposeStrategy) ExposeStrategiesSet
NewByte creates a ExposeStrategiesSet from a list of values.
func (ExposeStrategiesSet) DeepCopy ¶
func (in ExposeStrategiesSet) DeepCopy() ExposeStrategiesSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExposeStrategiesSet.
func (ExposeStrategiesSet) DeepCopyInto ¶
func (in ExposeStrategiesSet) DeepCopyInto(out *ExposeStrategiesSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExposeStrategiesSet) Has ¶
func (e ExposeStrategiesSet) Has(item ExposeStrategy) bool
Has returns true if and only if item is contained in the set.
func (ExposeStrategiesSet) Items ¶
func (e ExposeStrategiesSet) Items() []string
func (ExposeStrategiesSet) String ¶
func (e ExposeStrategiesSet) String() string
Has returns true if and only if item is contained in the set.
type ExposeStrategy ¶
type ExposeStrategy string
ExposeStrategy is the strategy used to expose a cluster control plane. Possible values are `NodePort`, `LoadBalancer` or `Tunneling` (requires a feature gate).
const ( // ExposeStrategyNodePort creates a NodePort with a "nodeport-proxy.k8s.io/expose": "true" annotation to expose // all clusters on one central Service of type LoadBalancer via the NodePort proxy. ExposeStrategyNodePort ExposeStrategy = "NodePort" // ExposeStrategyLoadBalancer creates a LoadBalancer service per cluster. ExposeStrategyLoadBalancer ExposeStrategy = "LoadBalancer" // ExposeStrategyTunneling allows to reach the control plane components by // tunneling L4 traffic (TCP only is supported at the moment). // The traffic is encapsulated by mean of an agent deployed on the worker // nodes. // The traffic is decapsulated and forwarded to the recipients by // mean of a proxy deployed on the Seed Cluster. // The same proxy is also capable of routing TLS traffic without // termination, this is to allow the Kubelet to reach the control plane // before the agents are running. // // This strategy has the inconvenience of requiring an agent on worker // nodes, but has the notable advantage of requiring one single entry point // (e.g. Service of type LoadBalancer) without consuming one or more ports // for each user cluster. ExposeStrategyTunneling ExposeStrategy = "Tunneling" )
func ExposeStrategyFromString ¶
func ExposeStrategyFromString(s string) (ExposeStrategy, bool)
ExposeStrategyFromString returns the expose strategy which String representation corresponds to the input string, and a bool saying whether a match was found or not.
func (ExposeStrategy) String ¶
func (e ExposeStrategy) String() string
String returns the string representation of the ExposeStrategy.
type ExtendedClusterHealth ¶
type ExtendedClusterHealth struct { Apiserver HealthStatus `json:"apiserver,omitempty"` Scheduler HealthStatus `json:"scheduler,omitempty"` Controller HealthStatus `json:"controller,omitempty"` MachineController HealthStatus `json:"machineController,omitempty"` Etcd HealthStatus `json:"etcd,omitempty"` // Deprecated: OpenVPN will be removed entirely in the future. OpenVPN HealthStatus `json:"openvpn,omitempty"` Konnectivity HealthStatus `json:"konnectivity,omitempty"` CloudProviderInfrastructure HealthStatus `json:"cloudProviderInfrastructure,omitempty"` UserClusterControllerManager HealthStatus `json:"userClusterControllerManager,omitempty"` ApplicationController HealthStatus `json:"applicationController,omitempty"` GatekeeperController *HealthStatus `json:"gatekeeperController,omitempty"` GatekeeperAudit *HealthStatus `json:"gatekeeperAudit,omitempty"` Monitoring *HealthStatus `json:"monitoring,omitempty"` Logging *HealthStatus `json:"logging,omitempty"` AlertmanagerConfig *HealthStatus `json:"alertmanagerConfig,omitempty"` MLAGateway *HealthStatus `json:"mlaGateway,omitempty"` OperatingSystemManager *HealthStatus `json:"operatingSystemManager,omitempty"` KubernetesDashboard *HealthStatus `json:"kubernetesDashboard,omitempty"` KubeLB *HealthStatus `json:"kubelb,omitempty"` }
ExtendedClusterHealth stores health information of a cluster.
func (*ExtendedClusterHealth) AllHealthy ¶
func (h *ExtendedClusterHealth) AllHealthy() bool
AllHealthy returns true if all components are healthy. Gatekeeper components not included as they are optional and not crucial for cluster functioning.
func (*ExtendedClusterHealth) ApplicationControllerHealthy ¶ added in v2.21.0
func (h *ExtendedClusterHealth) ApplicationControllerHealthy() bool
ApplicationControllerHealthy checks for health of all essential components and the ApplicationController.
func (*ExtendedClusterHealth) ControlPlaneHealthy ¶ added in v2.21.0
func (h *ExtendedClusterHealth) ControlPlaneHealthy() bool
ControlPlaneHealthy returns if all Kubernetes control plane components are healthy.
func (*ExtendedClusterHealth) DeepCopy ¶
func (in *ExtendedClusterHealth) DeepCopy() *ExtendedClusterHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtendedClusterHealth.
func (*ExtendedClusterHealth) DeepCopyInto ¶
func (in *ExtendedClusterHealth) DeepCopyInto(out *ExtendedClusterHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalCluster ¶
type ExternalCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired cluster state. Spec ExternalClusterSpec `json:"spec"` // Status contains reconciliation information for the cluster. Status ExternalClusterStatus `json:"status,omitempty"` }
ExternalCluster is the object representing an external kubernetes cluster.
func (*ExternalCluster) DeepCopy ¶
func (in *ExternalCluster) DeepCopy() *ExternalCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalCluster.
func (*ExternalCluster) DeepCopyInto ¶
func (in *ExternalCluster) DeepCopyInto(out *ExternalCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalCluster) DeepCopyObject ¶
func (in *ExternalCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ExternalCluster) GetCredentialsSecretName ¶
func (i *ExternalCluster) GetCredentialsSecretName() string
func (*ExternalCluster) GetKubeOneCredentialsSecretName ¶ added in v2.22.0
func (i *ExternalCluster) GetKubeOneCredentialsSecretName() string
func (*ExternalCluster) GetKubeOneManifestSecretName ¶ added in v2.22.0
func (i *ExternalCluster) GetKubeOneManifestSecretName() string
func (*ExternalCluster) GetKubeOneNamespaceName ¶ added in v2.22.0
func (i *ExternalCluster) GetKubeOneNamespaceName() string
func (*ExternalCluster) GetKubeOneSSHSecretName ¶ added in v2.22.0
func (i *ExternalCluster) GetKubeOneSSHSecretName() string
func (*ExternalCluster) GetKubeconfigSecretName ¶
func (i *ExternalCluster) GetKubeconfigSecretName() string
type ExternalClusterAKSCloudSpec ¶
type ExternalClusterAKSCloudSpec struct { // CredentialsReference allows referencing a `Secret` resource instead of passing secret data in this spec. CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference"` Name string `json:"name"` // The Azure Active Directory Tenant used for this cluster. // Can be read from `credentialsReference` instead. TenantID string `json:"tenantID,omitempty"` // The Azure Subscription used for this cluster. // Can be read from `credentialsReference` instead. SubscriptionID string `json:"subscriptionID,omitempty"` // The service principal used to access Azure. // Can be read from `credentialsReference` instead. ClientID string `json:"clientID,omitempty"` // The client secret corresponding to the given service principal. // Can be read from `credentialsReference` instead. ClientSecret string `json:"clientSecret,omitempty"` // The geo-location where the resource lives Location string `json:"location"` // The resource group that will be used to look up and create resources for the cluster in. // If set to empty string at cluster creation, a new resource group will be created and this field will be updated to // the generated resource group's name. ResourceGroup string `json:"resourceGroup"` }
func (*ExternalClusterAKSCloudSpec) DeepCopy ¶
func (in *ExternalClusterAKSCloudSpec) DeepCopy() *ExternalClusterAKSCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterAKSCloudSpec.
func (*ExternalClusterAKSCloudSpec) DeepCopyInto ¶
func (in *ExternalClusterAKSCloudSpec) DeepCopyInto(out *ExternalClusterAKSCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterBringYourOwnCloudSpec ¶ added in v2.21.0
type ExternalClusterBringYourOwnCloudSpec struct{}
func (*ExternalClusterBringYourOwnCloudSpec) DeepCopy ¶ added in v2.21.0
func (in *ExternalClusterBringYourOwnCloudSpec) DeepCopy() *ExternalClusterBringYourOwnCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterBringYourOwnCloudSpec.
func (*ExternalClusterBringYourOwnCloudSpec) DeepCopyInto ¶ added in v2.21.0
func (in *ExternalClusterBringYourOwnCloudSpec) DeepCopyInto(out *ExternalClusterBringYourOwnCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterCloudSpec ¶
type ExternalClusterCloudSpec struct { ProviderName ExternalClusterProvider `json:"providerName"` GKE *ExternalClusterGKECloudSpec `json:"gke,omitempty"` EKS *ExternalClusterEKSCloudSpec `json:"eks,omitempty"` AKS *ExternalClusterAKSCloudSpec `json:"aks,omitempty"` KubeOne *ExternalClusterKubeOneCloudSpec `json:"kubeone,omitempty"` BringYourOwn *ExternalClusterBringYourOwnCloudSpec `json:"bringyourown,omitempty"` }
ExternalClusterCloudSpec mutually stores access data to a cloud provider.
func (*ExternalClusterCloudSpec) DeepCopy ¶
func (in *ExternalClusterCloudSpec) DeepCopy() *ExternalClusterCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterCloudSpec.
func (*ExternalClusterCloudSpec) DeepCopyInto ¶
func (in *ExternalClusterCloudSpec) DeepCopyInto(out *ExternalClusterCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterCondition ¶ added in v2.21.0
type ExternalClusterCondition struct { Phase ExternalClusterPhase `json:"phase"` // Human readable message indicating details about last transition. Message string `json:"message,omitempty"` }
func (*ExternalClusterCondition) DeepCopy ¶ added in v2.21.0
func (in *ExternalClusterCondition) DeepCopy() *ExternalClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterCondition.
func (*ExternalClusterCondition) DeepCopyInto ¶ added in v2.21.0
func (in *ExternalClusterCondition) DeepCopyInto(out *ExternalClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterEKSCloudSpec ¶
type ExternalClusterEKSCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference"` Name string `json:"name"` // The Access key ID used to authenticate against AWS. // Can be read from `credentialsReference` instead. AccessKeyID string `json:"accessKeyID,omitempty"` // The Secret Access Key used to authenticate against AWS. // Can be read from `credentialsReference` instead. SecretAccessKey string `json:"secretAccessKey,omitempty"` Region string `json:"region"` // The Amazon Resource Name (ARN) of the IAM role that provides permissions // for the Kubernetes control plane to make calls to Amazon Web Services API // operations on your behalf. ControlPlaneRoleARN string `json:"roleArn,omitempty"` // The VPC associated with your cluster. VPCID string `json:"vpcID,omitempty"` // The subnets associated with your cluster. SubnetIDs []string `json:"subnetIDs,omitempty"` // The security groups associated with the cross-account elastic network interfaces // that are used to allow communication between your nodes and the Kubernetes // control plane. SecurityGroupIDs []string `json:"securityGroupIDs,omitempty"` // The ARN for an IAM role that should be assumed when handling resources on AWS. It will be used // to acquire temporary security credentials using an STS AssumeRole API operation whenever creating an AWS session. // required: false AssumeRoleARN string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle // An arbitrary string that may be needed when calling the STS AssumeRole API operation. // Using an external ID can help to prevent the "confused deputy problem". // required: false AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"` }
func (*ExternalClusterEKSCloudSpec) DeepCopy ¶
func (in *ExternalClusterEKSCloudSpec) DeepCopy() *ExternalClusterEKSCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterEKSCloudSpec.
func (*ExternalClusterEKSCloudSpec) DeepCopyInto ¶
func (in *ExternalClusterEKSCloudSpec) DeepCopyInto(out *ExternalClusterEKSCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterGKECloudSpec ¶
type ExternalClusterGKECloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference"` Name string `json:"name"` // ServiceAccount: The Google Cloud Platform Service Account. // Can be read from `credentialsReference` instead. ServiceAccount string `json:"serviceAccount,omitempty"` // Zone: The name of the Google Compute Engine zone // (https://cloud.google.com/compute/docs/zones#available) in which the // cluster resides. Zone string `json:"zone"` }
func (*ExternalClusterGKECloudSpec) DeepCopy ¶
func (in *ExternalClusterGKECloudSpec) DeepCopy() *ExternalClusterGKECloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterGKECloudSpec.
func (*ExternalClusterGKECloudSpec) DeepCopyInto ¶
func (in *ExternalClusterGKECloudSpec) DeepCopyInto(out *ExternalClusterGKECloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterKubeOneCloudSpec ¶ added in v2.21.0
type ExternalClusterKubeOneCloudSpec struct { // The name of the cloud provider used, one of // "aws", "azure", "digitalocean", "gcp", // "hetzner", "nutanix", "openstack", "packet", "vsphere" KubeOne natively-supported providers ProviderName string `json:"providerName"` // The cloud provider region in which the cluster resides. // This field is used only to display information. Region string `json:"region,omitempty"` CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` SSHReference *providerconfig.GlobalSecretKeySelector `json:"sshReference,omitempty"` ManifestReference *providerconfig.GlobalSecretKeySelector `json:"manifestReference,omitempty"` }
func (*ExternalClusterKubeOneCloudSpec) DeepCopy ¶ added in v2.21.0
func (in *ExternalClusterKubeOneCloudSpec) DeepCopy() *ExternalClusterKubeOneCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterKubeOneCloudSpec.
func (*ExternalClusterKubeOneCloudSpec) DeepCopyInto ¶ added in v2.21.0
func (in *ExternalClusterKubeOneCloudSpec) DeepCopyInto(out *ExternalClusterKubeOneCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterList ¶
type ExternalClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items holds the list of the External Kubernetes cluster. Items []ExternalCluster `json:"items"` }
ExternalClusterList specifies a list of external kubernetes clusters.
func (*ExternalClusterList) DeepCopy ¶
func (in *ExternalClusterList) DeepCopy() *ExternalClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterList.
func (*ExternalClusterList) DeepCopyInto ¶
func (in *ExternalClusterList) DeepCopyInto(out *ExternalClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ExternalClusterList) DeepCopyObject ¶
func (in *ExternalClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ExternalClusterNetworkRanges ¶ added in v2.22.0
type ExternalClusterNetworkRanges struct {
CIDRBlocks []string `json:"cidrBlocks,omitempty"`
}
ExternalClusterNetworkRanges represents ranges of network addresses.
func (*ExternalClusterNetworkRanges) DeepCopy ¶ added in v2.22.0
func (in *ExternalClusterNetworkRanges) DeepCopy() *ExternalClusterNetworkRanges
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterNetworkRanges.
func (*ExternalClusterNetworkRanges) DeepCopyInto ¶ added in v2.22.0
func (in *ExternalClusterNetworkRanges) DeepCopyInto(out *ExternalClusterNetworkRanges)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterNetworkingConfig ¶ added in v2.22.0
type ExternalClusterNetworkingConfig struct { // The network ranges from which service VIPs are allocated. // It can contain one IPv4 and/or one IPv6 CIDR. // If both address families are specified, the first one defines the primary address family. Services ExternalClusterNetworkRanges `json:"services,omitempty"` // The network ranges from which POD networks are allocated. // It can contain one IPv4 and/or one IPv6 CIDR. // If both address families are specified, the first one defines the primary address family. Pods ExternalClusterNetworkRanges `json:"pods,omitempty"` }
ExternalClusterNetworkingConfig specifies the different networking parameters for an external cluster.
func (*ExternalClusterNetworkingConfig) DeepCopy ¶ added in v2.22.0
func (in *ExternalClusterNetworkingConfig) DeepCopy() *ExternalClusterNetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterNetworkingConfig.
func (*ExternalClusterNetworkingConfig) DeepCopyInto ¶ added in v2.22.0
func (in *ExternalClusterNetworkingConfig) DeepCopyInto(out *ExternalClusterNetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterPhase ¶ added in v2.21.0
type ExternalClusterPhase string
const ( // ExternalClusterPhaseProvisioning status indicates the cluster is being imported. ExternalClusterPhaseProvisioning ExternalClusterPhase = "Provisioning" // ExternalClusterPhaseRunning status indicates the cluster is fully usable. ExternalClusterPhaseRunning ExternalClusterPhase = "Running" ExternalClusterPhaseStarting ExternalClusterPhase = "Starting" ExternalClusterPhaseStopping ExternalClusterPhase = "Stopping" ExternalClusterPhaseStopped ExternalClusterPhase = "Stopped" ExternalClusterPhaseWarning ExternalClusterPhase = "Warning" // ExternalClusterPhaseReconciling status indicates that some work is actively being done on the cluster, such as upgrading the master or // node software. Details can be found in the `StatusMessage` field. ExternalClusterPhaseReconciling ExternalClusterPhase = "Reconciling" KubeOnePhaseReconcilingUpgrade ExternalClusterPhase = "ReconcilingUpgrade" KubeOnePhaseReconcilingMigrate ExternalClusterPhase = "ReconcilingMigrate" // ExternalClusterPhaseDeleting status indicates the cluster is being deleted. ExternalClusterPhaseDeleting ExternalClusterPhase = "Deleting" // ExternalClusterPhaseUnknown Not set. ExternalClusterPhaseUnknown ExternalClusterPhase = "Unknown" // ExternalClusterPhaseError status indicates the cluster is unusable. Details can be found in the // `statusMessage` field. ExternalClusterPhaseError ExternalClusterPhase = "Error" // ExternalClusterPhaseRuntimeError status indicates cluster runtime error. Details can be found in the // `statusMessage` field. ExternalClusterPhaseRuntimeError ExternalClusterPhase = "RuntimeError" // ExternalClusterPhaseEtcdError status indicates cluster etcd error. Details can be found in the // `statusMessage` field. ExternalClusterPhaseEtcdError ExternalClusterPhase = "EtcdError" // ExternalClusterPhaseKubeClientError status indicates cluster kubeclient. Details can be found in the // `statusMessage` field. ExternalClusterPhaseKubeClientError ExternalClusterPhase = "KubeClientError" // KubeOneExternalClusterPhaseSSHError status indicates cluster ssh error. Details can be found in the // `statusMessage` field. ExternalClusterPhaseSSHError ExternalClusterPhase = "SSHError" // ExternalClusterPhaseConnectionError status indicates cluster connection error. Details can be found in the // `statusMessage` field. ExternalClusterPhaseConnectionError ExternalClusterPhase = "ConnectionError" // ExternalClusterPhaseConfigError status indicates cluster config error. Details can be found in the // `statusMessage` field. ExternalClusterPhaseConfigError ExternalClusterPhase = "ConfigError" )
type ExternalClusterProvider ¶ added in v2.21.0
type ExternalClusterProvider string
ExternalClusterProvider is the identifier for the cloud provider that hosts the external cluster control plane.
const ( ExternalClusterAKSProvider ExternalClusterProvider = "aks" ExternalClusterBringYourOwnProvider ExternalClusterProvider = "bringyourown" ExternalClusterEKSProvider ExternalClusterProvider = "eks" ExternalClusterGKEProvider ExternalClusterProvider = "gke" ExternalClusterKubeOneProvider ExternalClusterProvider = "kubeone" )
type ExternalClusterProviderType ¶ added in v2.21.0
type ExternalClusterProviderType string
ExternalClusterProviderType is used to indicate ExternalCluster Provider Types.
const ( EKSProviderType ExternalClusterProviderType = "eks" GKEProviderType ExternalClusterProviderType = "gke" AKSProviderType ExternalClusterProviderType = "aks" )
type ExternalClusterProviderVersioningConfiguration ¶ added in v2.21.0
type ExternalClusterProviderVersioningConfiguration struct { // Versions lists the available versions. Versions []semver.Semver `json:"versions,omitempty"` // Default is the default version to offer users. Default *semver.Semver `json:"default,omitempty"` // Updates is a list of available upgrades. Updates []semver.Semver `json:"updates,omitempty"` }
ExternalClusterProviderVersioningConfiguration configures the available and default Kubernetes versions for ExternalCluster Providers.
func (*ExternalClusterProviderVersioningConfiguration) DeepCopy ¶ added in v2.21.0
func (in *ExternalClusterProviderVersioningConfiguration) DeepCopy() *ExternalClusterProviderVersioningConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterProviderVersioningConfiguration.
func (*ExternalClusterProviderVersioningConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *ExternalClusterProviderVersioningConfiguration) DeepCopyInto(out *ExternalClusterProviderVersioningConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterSpec ¶
type ExternalClusterSpec struct { // HumanReadableName is the cluster name provided by the user HumanReadableName string `json:"humanReadableName"` // Reference to cluster Kubeconfig KubeconfigReference *providerconfig.GlobalSecretKeySelector `json:"kubeconfigReference,omitempty"` // Defines the wanted version of the control plane. Version semver.Semver `json:"version"` // CloudSpec contains provider specific fields CloudSpec ExternalClusterCloudSpec `json:"cloudSpec"` // ClusterNetwork contains the different networking parameters for an external cluster. ClusterNetwork ExternalClusterNetworkingConfig `json:"clusterNetwork,omitempty"` // ContainerRuntime to use, i.e. `docker` or `containerd`. ContainerRuntime string `json:"containerRuntime,omitempty"` // If this is set to true, the cluster will not be reconciled by KKP. // This indicates that the user needs to do some action to resolve the pause. Pause bool `json:"pause"` // PauseReason is the reason why the cluster is not being managed. This field is for informational // purpose only and can be set by a user or a controller to communicate the reason for pausing the cluster. PauseReason string `json:"pauseReason,omitempty"` }
ExternalClusterSpec specifies the data for a new external kubernetes cluster.
func (*ExternalClusterSpec) DeepCopy ¶
func (in *ExternalClusterSpec) DeepCopy() *ExternalClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterSpec.
func (*ExternalClusterSpec) DeepCopyInto ¶
func (in *ExternalClusterSpec) DeepCopyInto(out *ExternalClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExternalClusterStatus ¶ added in v2.21.0
type ExternalClusterStatus struct { // Conditions contains conditions an externalcluster is in, its primary use case is status signaling for controller Condition ExternalClusterCondition `json:"condition,omitempty"` }
ExternalClusterStatus denotes status information about an ExternalCluster.
func (*ExternalClusterStatus) DeepCopy ¶ added in v2.21.0
func (in *ExternalClusterStatus) DeepCopy() *ExternalClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalClusterStatus.
func (*ExternalClusterStatus) DeepCopyInto ¶ added in v2.21.0
func (in *ExternalClusterStatus) DeepCopyInto(out *ExternalClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Fake ¶
type Fake struct { ProviderPreset `json:",inline"` Token string `json:"token"` }
func (*Fake) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Fake.
func (*Fake) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FakeCloudSpec ¶
type FakeCloudSpec struct {
Token string `json:"token,omitempty"`
}
FakeCloudSpec specifies access data for a fake cloud.
func (*FakeCloudSpec) DeepCopy ¶
func (in *FakeCloudSpec) DeepCopy() *FakeCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FakeCloudSpec.
func (*FakeCloudSpec) DeepCopyInto ¶
func (in *FakeCloudSpec) DeepCopyInto(out *FakeCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCP ¶
type GCP struct { ProviderPreset `json:",inline"` // ServiceAccount is the Google Service Account (JSON format), encoded with base64. ServiceAccount string `json:"serviceAccount"` Network string `json:"network,omitempty"` Subnetwork string `json:"subnetwork,omitempty"` }
func (*GCP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCP.
func (*GCP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPCloudSpec ¶
type GCPCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The Google Service Account (JSON format), encoded with base64. ServiceAccount string `json:"serviceAccount,omitempty"` Network string `json:"network"` Subnetwork string `json:"subnetwork"` // A CIDR range that will be used to allow access to the node port range in the firewall rules to. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"` // Optional: CIDR ranges that will be used to allow access to the node port range in the firewall rules to. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRanges *NetworkRanges `json:"nodePortsAllowedIPRanges,omitempty"` }
GCPCloudSpec specifies access data to GCP.
func (*GCPCloudSpec) DeepCopy ¶
func (in *GCPCloudSpec) DeepCopy() *GCPCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPCloudSpec.
func (*GCPCloudSpec) DeepCopyInto ¶
func (in *GCPCloudSpec) DeepCopyInto(out *GCPCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GKE ¶
type GKE struct { ProviderPreset `json:",inline"` ServiceAccount string `json:"serviceAccount"` }
func (*GKE) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GKE.
func (*GKE) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupProjectBinding ¶ added in v2.21.0
type GroupProjectBinding struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes an oidc group binding to a project. Spec GroupProjectBindingSpec `json:"spec,omitempty"` }
GroupProjectBinding specifies a binding between a group and a project This resource is used by the user management to manipulate member groups of the given project.
func (*GroupProjectBinding) DeepCopy ¶ added in v2.21.0
func (in *GroupProjectBinding) DeepCopy() *GroupProjectBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupProjectBinding.
func (*GroupProjectBinding) DeepCopyInto ¶ added in v2.21.0
func (in *GroupProjectBinding) DeepCopyInto(out *GroupProjectBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GroupProjectBinding) DeepCopyObject ¶ added in v2.21.0
func (in *GroupProjectBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GroupProjectBindingList ¶ added in v2.21.0
type GroupProjectBindingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items holds the list of the group and project bindings. Items []GroupProjectBinding `json:"items"` }
GroupProjectBindingList is a list of group project bindings.
func (*GroupProjectBindingList) DeepCopy ¶ added in v2.21.0
func (in *GroupProjectBindingList) DeepCopy() *GroupProjectBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupProjectBindingList.
func (*GroupProjectBindingList) DeepCopyInto ¶ added in v2.21.0
func (in *GroupProjectBindingList) DeepCopyInto(out *GroupProjectBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GroupProjectBindingList) DeepCopyObject ¶ added in v2.21.0
func (in *GroupProjectBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GroupProjectBindingSpec ¶ added in v2.21.0
type GroupProjectBindingSpec struct { // Group is the group name that is bound to the given project. Group string `json:"group"` // ProjectID is the ID of the target project. // Should be a valid lowercase RFC1123 domain name // +kubebuilder:validation:Pattern:=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` // +kubebuilder:validation:MaxLength:=63 // +kubebuilder:validation:Type=string ProjectID string `json:"projectID"` // Role is the user's role within the project, determining their permissions. // Possible roles are: // "viewers" - allowed to get/list project resources // "editors" - allowed to edit all project resources // "owners" - same as editors, but also can manage users in the project Role string `json:"role"` }
GroupProjectBindingSpec specifies an oidc group binding to a project.
func (*GroupProjectBindingSpec) DeepCopy ¶ added in v2.21.0
func (in *GroupProjectBindingSpec) DeepCopy() *GroupProjectBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupProjectBindingSpec.
func (*GroupProjectBindingSpec) DeepCopyInto ¶ added in v2.21.0
func (in *GroupProjectBindingSpec) DeepCopyInto(out *GroupProjectBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GroupVersionKind ¶
type GroupVersionKind struct { Group string `json:"group,omitempty"` Version string `json:"version,omitempty"` Kind string `json:"kind,omitempty"` }
GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling.
func (*GroupVersionKind) DeepCopy ¶
func (in *GroupVersionKind) DeepCopy() *GroupVersionKind
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupVersionKind.
func (*GroupVersionKind) DeepCopyInto ¶
func (in *GroupVersionKind) DeepCopyInto(out *GroupVersionKind)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthStatus ¶
type HealthStatus string
type Hetzner ¶
type Hetzner struct { ProviderPreset `json:",inline"` // Token is used to authenticate with the Hetzner API. Token string `json:"token"` // Network is the pre-existing Hetzner network in which the machines are running. // While machines can be in multiple networks, a single one must be chosen for the // HCloud CCM to work. // If this is empty, the network configured on the datacenter will be used. Network string `json:"network,omitempty"` }
func (*Hetzner) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Hetzner.
func (*Hetzner) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerCloudSpec ¶
type HetznerCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // Token is used to authenticate with the Hetzner cloud API. Token string `json:"token,omitempty"` // Network is the pre-existing Hetzner network in which the machines are running. // While machines can be in multiple networks, a single one must be chosen for the // HCloud CCM to work. // If this is empty, the network configured on the datacenter will be used. Network string `json:"network,omitempty"` }
HetznerCloudSpec specifies access data to hetzner cloud.
func (*HetznerCloudSpec) DeepCopy ¶
func (in *HetznerCloudSpec) DeepCopy() *HetznerCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerCloudSpec.
func (*HetznerCloudSpec) DeepCopyInto ¶
func (in *HetznerCloudSpec) DeepCopyInto(out *HetznerCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMAllocation ¶ added in v2.21.0
type IPAMAllocation struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec IPAMAllocationSpec `json:"spec,omitempty"` }
IPAMAllocation is the object representing an allocation from an IPAMPool made for a particular KKP user cluster.
func (*IPAMAllocation) DeepCopy ¶ added in v2.21.0
func (in *IPAMAllocation) DeepCopy() *IPAMAllocation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMAllocation.
func (*IPAMAllocation) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMAllocation) DeepCopyInto(out *IPAMAllocation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMAllocation) DeepCopyObject ¶ added in v2.21.0
func (in *IPAMAllocation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMAllocationList ¶ added in v2.21.0
type IPAMAllocationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []IPAMAllocation `json:"items"` }
func (*IPAMAllocationList) DeepCopy ¶ added in v2.21.0
func (in *IPAMAllocationList) DeepCopy() *IPAMAllocationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMAllocationList.
func (*IPAMAllocationList) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMAllocationList) DeepCopyInto(out *IPAMAllocationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMAllocationList) DeepCopyObject ¶ added in v2.21.0
func (in *IPAMAllocationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMAllocationSpec ¶ added in v2.21.0
type IPAMAllocationSpec struct { // Type is the allocation type that is being used. Type IPAMPoolAllocationType `json:"type"` // DC is the datacenter of the allocation. DC string `json:"dc"` // CIDR is the CIDR that is being used for the allocation. // Set when "type=prefix". CIDR SubnetCIDR `json:"cidr,omitempty"` // Addresses are the IP address ranges that are being used for the allocation. // Set when "type=range". Addresses []string `json:"addresses,omitempty"` }
IPAMAllocationSpec specifies an allocation from an IPAMPool made for a particular KKP user cluster.
func (*IPAMAllocationSpec) DeepCopy ¶ added in v2.21.0
func (in *IPAMAllocationSpec) DeepCopy() *IPAMAllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMAllocationSpec.
func (*IPAMAllocationSpec) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMAllocationSpec) DeepCopyInto(out *IPAMAllocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMPool ¶ added in v2.21.0
type IPAMPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters. Spec IPAMPoolSpec `json:"spec,omitempty"` }
IPAMPool is the object representing Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters.
func (*IPAMPool) DeepCopy ¶ added in v2.21.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMPool.
func (*IPAMPool) DeepCopyInto ¶ added in v2.21.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMPool) DeepCopyObject ¶ added in v2.21.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMPoolAllocationType ¶ added in v2.21.0
type IPAMPoolAllocationType string
+kubebuilder:validation:Enum=prefix;range IPAMPoolAllocationType defines the type of allocation to be used. Possible values are `prefix` and `range`.
const ( // IPAMPoolAllocationTypePrefix corresponds to prefix allocation type. IPAMPoolAllocationTypePrefix IPAMPoolAllocationType = "prefix" // IPAMPoolAllocationTypeRange corresponds to range allocation type. IPAMPoolAllocationTypeRange IPAMPoolAllocationType = "range" )
func (IPAMPoolAllocationType) String ¶ added in v2.21.0
func (t IPAMPoolAllocationType) String() string
type IPAMPoolDatacenterSettings ¶ added in v2.21.0
type IPAMPoolDatacenterSettings struct { // Type is the allocation type to be used. Type IPAMPoolAllocationType `json:"type"` // PoolCIDR is the pool CIDR to be used for the allocation. PoolCIDR SubnetCIDR `json:"poolCidr"` // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=128 // AllocationPrefix is the prefix for the allocation. // Used when "type=prefix". AllocationPrefix int `json:"allocationPrefix,omitempty"` // Optional: ExcludePrefixes is used to exclude particular subnets for the allocation. // NOTE: must be the same length as allocationPrefix. // Can be used when "type=prefix". ExcludePrefixes []SubnetCIDR `json:"excludePrefixes,omitempty"` // +kubebuilder:validation:Minimum:=1 // AllocationRange is the range for the allocation. // Used when "type=range". AllocationRange int `json:"allocationRange,omitempty"` // Optional: ExcludeRanges is used to exclude particular IPs or IP ranges for the allocation. // Examples: "192.168.1.100-192.168.1.110", "192.168.1.255". // Can be used when "type=range". ExcludeRanges []string `json:"excludeRanges,omitempty"` }
IPAMPoolDatacenterSettings contains IPAM Pool configuration for a datacenter.
func (*IPAMPoolDatacenterSettings) DeepCopy ¶ added in v2.21.0
func (in *IPAMPoolDatacenterSettings) DeepCopy() *IPAMPoolDatacenterSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMPoolDatacenterSettings.
func (*IPAMPoolDatacenterSettings) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMPoolDatacenterSettings) DeepCopyInto(out *IPAMPoolDatacenterSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAMPoolList ¶ added in v2.21.0
type IPAMPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items holds the list of IPAM pool objects. Items []IPAMPool `json:"items"` }
IPAMPoolList is the list of the object representing Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters.
func (*IPAMPoolList) DeepCopy ¶ added in v2.21.0
func (in *IPAMPoolList) DeepCopy() *IPAMPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMPoolList.
func (*IPAMPoolList) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMPoolList) DeepCopyInto(out *IPAMPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPAMPoolList) DeepCopyObject ¶ added in v2.21.0
func (in *IPAMPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IPAMPoolSpec ¶ added in v2.21.0
type IPAMPoolSpec struct { // Datacenters contains a map of datacenters (DCs) for the allocation. Datacenters map[string]IPAMPoolDatacenterSettings `json:"datacenters"` }
IPAMPoolSpec specifies the Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters.
func (*IPAMPoolSpec) DeepCopy ¶ added in v2.21.0
func (in *IPAMPoolSpec) DeepCopy() *IPAMPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPAMPoolSpec.
func (*IPAMPoolSpec) DeepCopyInto ¶ added in v2.21.0
func (in *IPAMPoolSpec) DeepCopyInto(out *IPAMPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPFamily ¶ added in v2.21.0
type IPFamily string
+kubebuilder:validation:Enum="";IPv4;IPv4+IPv6
const ( // IPFamilyUnspecified represents unspecified IP address family, which is interpreted as IPv4. IPFamilyUnspecified IPFamily = "" // IPFamilyIPv4 represents IPv4-only address family. IPFamilyIPv4 IPFamily = "IPv4" // IPFamilyDualStack represents dual-stack address family with IPv4 as the primary address family. IPFamilyDualStack IPFamily = "IPv4+IPv6" )
type IPVSConfiguration ¶
type IPVSConfiguration struct { // StrictArp configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface. // defaults to true. StrictArp *bool `json:"strictArp,omitempty"` }
IPVSConfiguration contains ipvs-related configuration details for kube-proxy.
func (*IPVSConfiguration) DeepCopy ¶
func (in *IPVSConfiguration) DeepCopy() *IPVSConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPVSConfiguration.
func (*IPVSConfiguration) DeepCopyInto ¶
func (in *IPVSConfiguration) DeepCopyInto(out *IPVSConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageList ¶
type ImageList map[providerconfig.OperatingSystem]string
ImageList defines a map of operating system and the image to use.
func (ImageList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageList.
func (ImageList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageListWithVersions ¶ added in v2.22.0
type ImageListWithVersions map[providerconfig.OperatingSystem]OSVersions
ImageListWithVersions defines a map of operating system with their versions to use.
func (ImageListWithVersions) DeepCopy ¶ added in v2.22.0
func (in ImageListWithVersions) DeepCopy() ImageListWithVersions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageListWithVersions.
func (ImageListWithVersions) DeepCopyInto ¶ added in v2.22.0
func (in ImageListWithVersions) DeepCopyInto(out *ImageListWithVersions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Incompatibility ¶
type Incompatibility struct { // Provider to which to apply the compatibility check. // Empty string matches all providers // +kubebuilder:validation:Enum="";digitalocean;hetzner;azure;vsphere;aws;openstack;packet;gcp;kubevirt;nutanix;alibaba;anexia;fake;vmwareclouddirector Provider string `json:"provider,omitempty"` // Version is the Kubernetes version that must be checked. Wildcards are allowed, e.g. "1.25.*". Version string `json:"version,omitempty"` // Condition is the cluster or datacenter condition that must be met to block a specific version Condition ConditionType `json:"condition,omitempty"` // Operation is the operation triggering the compatibility check (CREATE or UPDATE) Operation OperationType `json:"operation,omitempty"` }
Incompatibility represents a version incompatibility for a user cluster.
func (*Incompatibility) DeepCopy ¶
func (in *Incompatibility) DeepCopy() *Incompatibility
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Incompatibility.
func (*Incompatibility) DeepCopyInto ¶
func (in *Incompatibility) DeepCopyInto(out *Incompatibility)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kind ¶
type Kind struct { // Kinds specifies the kinds of the resources Kinds []string `json:"kinds,omitempty"` // APIGroups specifies the APIGroups of the resources APIGroups []string `json:"apiGroups,omitempty"` }
Kind specifies the resource Kind and APIGroup.
func (*Kind) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kind.
func (*Kind) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KonnectivityProxySettings ¶ added in v2.21.6
type KonnectivityProxySettings struct { // Resources configure limits/requests for Konnectivity components. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // KeepaliveTime represents a duration of time to check if the transport is still alive. // The option is propagated to agents and server. // Defaults to 1m. KeepaliveTime string `json:"keepaliveTime,omitempty"` }
func (*KonnectivityProxySettings) DeepCopy ¶ added in v2.21.6
func (in *KonnectivityProxySettings) DeepCopy() *KonnectivityProxySettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KonnectivityProxySettings.
func (*KonnectivityProxySettings) DeepCopyInto ¶ added in v2.21.6
func (in *KonnectivityProxySettings) DeepCopyInto(out *KonnectivityProxySettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeLB ¶ added in v2.24.0
type KubeLB struct { // Controls whether kubeLB is deployed or not. Enabled bool `json:"enabled"` }
KubeLB contains settings for the kubeLB component as part of the cluster control plane. This component is responsible for managing load balancers. Only available in Enterprise Edition.
func (*KubeLB) DeepCopy ¶ added in v2.24.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeLB.
func (*KubeLB) DeepCopyInto ¶ added in v2.24.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeLBDatacenterSettings ¶ added in v2.24.0
type KubeLBDatacenterSettings struct { // Used to configure and override the default kubeLB settings. KubeLBSettings `json:",inline"` // Enabled is used to enable/disable kubeLB for the datacenter. This is used to control whether installing kubeLB is allowed or not for the datacenter. Enabled bool `json:"enabled,omitempty"` // Enforced is used to enforce kubeLB installation for all the user clusters belonging to this datacenter. Setting enforced to false will not uninstall kubeLB from the user clusters and it needs to be disabled manually. Enforced bool `json:"enforced,omitempty"` // NodeAddressType is used to configure the address type from node, used for load balancing. // Optional: Defaults to ExternalIP. // +kubebuilder:validation:Enum=InternalIP;ExternalIP // +kubebuilder:default=ExternalIP NodeAddressType string `json:"nodeAddressType,omitempty"` }
func (*KubeLBDatacenterSettings) DeepCopy ¶ added in v2.24.0
func (in *KubeLBDatacenterSettings) DeepCopy() *KubeLBDatacenterSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeLBDatacenterSettings.
func (*KubeLBDatacenterSettings) DeepCopyInto ¶ added in v2.24.0
func (in *KubeLBDatacenterSettings) DeepCopyInto(out *KubeLBDatacenterSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeLBSettings ¶ added in v2.24.0
type KubeLBSettings struct { // Kubeconfig is reference to the Kubeconfig for the kubeLB management cluster. Kubeconfig corev1.ObjectReference `json:"kubeconfig,omitempty"` }
func (*KubeLBSettings) DeepCopy ¶ added in v2.24.0
func (in *KubeLBSettings) DeepCopy() *KubeLBSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeLBSettings.
func (*KubeLBSettings) DeepCopyInto ¶ added in v2.24.0
func (in *KubeLBSettings) DeepCopyInto(out *KubeLBSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtHTTPSource ¶ added in v2.22.0
type KubeVirtHTTPSource struct { // OperatingSystems represents list of supported operating-systems with their URLs. OperatingSystems map[providerconfig.OperatingSystem]OSVersions `json:"operatingSystems"` }
KubeVirtHTTPSource represents list of images and their versions that can be downloaded over HTTP.
func (*KubeVirtHTTPSource) DeepCopy ¶ added in v2.22.0
func (in *KubeVirtHTTPSource) DeepCopy() *KubeVirtHTTPSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtHTTPSource.
func (*KubeVirtHTTPSource) DeepCopyInto ¶ added in v2.22.0
func (in *KubeVirtHTTPSource) DeepCopyInto(out *KubeVirtHTTPSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtImageSources ¶ added in v2.22.0
type KubeVirtImageSources struct { // HTTP represents a http source. HTTP *KubeVirtHTTPSource `json:"http,omitempty"` }
KubeVirtImageSources represents KubeVirt image sources.
func (*KubeVirtImageSources) DeepCopy ¶ added in v2.22.0
func (in *KubeVirtImageSources) DeepCopy() *KubeVirtImageSources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtImageSources.
func (*KubeVirtImageSources) DeepCopyInto ¶ added in v2.22.0
func (in *KubeVirtImageSources) DeepCopyInto(out *KubeVirtImageSources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeVirtInfraStorageClass ¶ added in v2.22.0
type KubeVirtInfraStorageClass struct { Name string `json:"name"` // Optional: IsDefaultClass. If true, the created StorageClass in the tenant cluster will be annotated with: // storageclass.kubernetes.io/is-default-class : true // If missing or false, annotation will be: // storageclass.kubernetes.io/is-default-class : false IsDefaultClass *bool `json:"isDefaultClass,omitempty"` }
func (*KubeVirtInfraStorageClass) DeepCopy ¶ added in v2.22.0
func (in *KubeVirtInfraStorageClass) DeepCopy() *KubeVirtInfraStorageClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeVirtInfraStorageClass.
func (*KubeVirtInfraStorageClass) DeepCopyInto ¶ added in v2.22.0
func (in *KubeVirtInfraStorageClass) DeepCopyInto(out *KubeVirtInfraStorageClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticAPIConfiguration ¶
type KubermaticAPIConfiguration struct { // DockerRepository is the repository containing the Kubermatic REST API image. DockerRepository string `json:"dockerRepository,omitempty"` // AccessibleAddons is a list of addons that should be enabled in the API. AccessibleAddons []string `json:"accessibleAddons,omitempty"` // PProfEndpoint controls the port the API should listen on to provide pprof // data. This port is never exposed from the container and only available via port-forwardings. PProfEndpoint *string `json:"pprofEndpoint,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // DebugLog enables more verbose logging. DebugLog bool `json:"debugLog,omitempty"` // Replicas sets the number of pod replicas for the API deployment. Replicas *int32 `json:"replicas,omitempty"` }
KubermaticAPIConfiguration configures the dashboard.
func (*KubermaticAPIConfiguration) DeepCopy ¶
func (in *KubermaticAPIConfiguration) DeepCopy() *KubermaticAPIConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticAPIConfiguration.
func (*KubermaticAPIConfiguration) DeepCopyInto ¶
func (in *KubermaticAPIConfiguration) DeepCopyInto(out *KubermaticAPIConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticAddonsConfiguration ¶
type KubermaticAddonsConfiguration struct { // Default is the list of addons to be installed by default into each cluster. // Mutually exclusive with "defaultManifests". Default []string `json:"default,omitempty"` // DefaultManifests is a list of addon manifests to install into all clusters. // Mutually exclusive with "default". DefaultManifests string `json:"defaultManifests,omitempty"` // DockerRepository is the repository containing the Docker image containing // the possible addon manifests. DockerRepository string `json:"dockerRepository,omitempty"` // DockerTagSuffix is appended to the tag used for referring to the addons image. // If left empty, the tag will be the KKP version (e.g. "v2.15.0"), with a // suffix it becomes "v2.15.0-SUFFIX". DockerTagSuffix string `json:"dockerTagSuffix,omitempty"` }
KubermaticAddonConfiguration describes the addons for a given cluster runtime.
func (*KubermaticAddonsConfiguration) DeepCopy ¶
func (in *KubermaticAddonsConfiguration) DeepCopy() *KubermaticAddonsConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticAddonsConfiguration.
func (*KubermaticAddonsConfiguration) DeepCopyInto ¶
func (in *KubermaticAddonsConfiguration) DeepCopyInto(out *KubermaticAddonsConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticAuthConfiguration ¶
type KubermaticAuthConfiguration struct { ClientID string `json:"clientID,omitempty"` TokenIssuer string `json:"tokenIssuer,omitempty"` IssuerRedirectURL string `json:"issuerRedirectURL,omitempty"` IssuerClientID string `json:"issuerClientID,omitempty"` IssuerClientSecret string `json:"issuerClientSecret,omitempty"` IssuerCookieKey string `json:"issuerCookieKey,omitempty"` ServiceAccountKey string `json:"serviceAccountKey,omitempty"` SkipTokenIssuerTLSVerify bool `json:"skipTokenIssuerTLSVerify,omitempty"` }
KubermaticAuthConfiguration defines keys and URLs for Dex.
func (*KubermaticAuthConfiguration) DeepCopy ¶
func (in *KubermaticAuthConfiguration) DeepCopy() *KubermaticAuthConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticAuthConfiguration.
func (*KubermaticAuthConfiguration) DeepCopyInto ¶
func (in *KubermaticAuthConfiguration) DeepCopyInto(out *KubermaticAuthConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticConfiguration ¶
type KubermaticConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec KubermaticConfigurationSpec `json:"spec,omitempty"` Status KubermaticConfigurationStatus `json:"status,omitempty"` }
KubermaticConfiguration is the configuration required for running Kubermatic.
func (*KubermaticConfiguration) DeepCopy ¶
func (in *KubermaticConfiguration) DeepCopy() *KubermaticConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticConfiguration.
func (*KubermaticConfiguration) DeepCopyInto ¶
func (in *KubermaticConfiguration) DeepCopyInto(out *KubermaticConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubermaticConfiguration) DeepCopyObject ¶
func (in *KubermaticConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubermaticConfigurationList ¶
type KubermaticConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KubermaticConfiguration `json:"items"` }
KubermaticConfigurationList is a collection of KubermaticConfigurations.
func (*KubermaticConfigurationList) DeepCopy ¶
func (in *KubermaticConfigurationList) DeepCopy() *KubermaticConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticConfigurationList.
func (*KubermaticConfigurationList) DeepCopyInto ¶
func (in *KubermaticConfigurationList) DeepCopyInto(out *KubermaticConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubermaticConfigurationList) DeepCopyObject ¶
func (in *KubermaticConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubermaticConfigurationSpec ¶
type KubermaticConfigurationSpec struct { // CABundle references a ConfigMap in the same namespace as the KubermaticConfiguration. // This ConfigMap must contain a ca-bundle.pem with PEM-encoded certificates. This bundle // automatically synchronized into each seed and each usercluster. APIGroup and Kind are // currently ignored. CABundle corev1.TypedLocalObjectReference `json:"caBundle,omitempty"` // ImagePullSecret is used to authenticate against Docker registries. ImagePullSecret string `json:"imagePullSecret,omitempty"` // Auth defines keys and URLs for Dex. These must be defined unless the HeadlessInstallation // feature gate is set, which will disable the UI/API and its need for an OIDC provider entirely. // +optional Auth KubermaticAuthConfiguration `json:"auth"` // FeatureGates are used to optionally enable certain features. FeatureGates map[string]bool `json:"featureGates,omitempty"` // UI configures the dashboard. UI KubermaticUIConfiguration `json:"ui,omitempty"` // API configures the frontend REST API used by the dashboard. API KubermaticAPIConfiguration `json:"api,omitempty"` // SeedController configures the seed-controller-manager. SeedController KubermaticSeedControllerConfiguration `json:"seedController,omitempty"` // MasterController configures the master-controller-manager. MasterController KubermaticMasterControllerConfiguration `json:"masterController,omitempty"` // Webhook configures the webhook. Webhook KubermaticWebhookConfiguration `json:"webhook,omitempty"` // UserCluster configures various aspects of the user-created clusters. UserCluster KubermaticUserClusterConfiguration `json:"userCluster,omitempty"` // ExposeStrategy is the strategy to expose the cluster with. // Note: The `seed_dns_overwrite` setting of a Seed's datacenter doesn't have any effect // if this is set to LoadBalancerStrategy. ExposeStrategy ExposeStrategy `json:"exposeStrategy,omitempty"` // Ingress contains settings for making the API and UI accessible remotely. Ingress KubermaticIngressConfiguration `json:"ingress,omitempty"` // Versions configures the available and default Kubernetes versions and updates. Versions KubermaticVersioningConfiguration `json:"versions,omitempty"` // VerticalPodAutoscaler configures the Kubernetes VPA integration. VerticalPodAutoscaler KubermaticVPAConfiguration `json:"verticalPodAutoscaler,omitempty"` // Proxy allows to configure Kubermatic to use proxies to talk to the // world outside of its cluster. Proxy KubermaticProxyConfiguration `json:"proxy,omitempty"` }
KubermaticConfigurationSpec is the spec for a Kubermatic installation.
func (*KubermaticConfigurationSpec) DeepCopy ¶
func (in *KubermaticConfigurationSpec) DeepCopy() *KubermaticConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticConfigurationSpec.
func (*KubermaticConfigurationSpec) DeepCopyInto ¶
func (in *KubermaticConfigurationSpec) DeepCopyInto(out *KubermaticConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticConfigurationStatus ¶ added in v2.21.0
type KubermaticConfigurationStatus struct { // KubermaticVersion current Kubermatic Version. KubermaticVersion string `json:"kubermaticVersion,omitempty"` // KubermaticEdition current Kubermatic Edition , i.e. Community Edition or Enterprise Edition. KubermaticEdition string `json:"kubermaticEdition,omitempty"` }
KubermaticConfigurationStatus stores status information about a KubermaticConfiguration.
func (*KubermaticConfigurationStatus) DeepCopy ¶ added in v2.21.0
func (in *KubermaticConfigurationStatus) DeepCopy() *KubermaticConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticConfigurationStatus.
func (*KubermaticConfigurationStatus) DeepCopyInto ¶ added in v2.21.0
func (in *KubermaticConfigurationStatus) DeepCopyInto(out *KubermaticConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticIngressConfiguration ¶
type KubermaticIngressConfiguration struct { // Domain is the base domain where the dashboard shall be available. Even with // a disabled Ingress, this must always be a valid hostname. Domain string `json:"domain"` // ClassName is the Ingress resource's class name, used for selecting the appropriate // ingress controller. ClassName string `json:"className,omitempty"` // NamespaceOverride need to be set if a different ingress-controller is used than the KKP default one. NamespaceOverride string `json:"namespaceOverride,omitempty"` // Disable will prevent an Ingress from being created at all. This is mostly useful // during testing. If the Ingress is disabled, the CertificateIssuer setting can also // be left empty, as no Certificate resource will be created. Disable bool `json:"disable,omitempty"` // CertificateIssuer is the name of a cert-manager Issuer or ClusterIssuer (default) // that will be used to acquire the certificate for the configured domain. // To use a namespaced Issuer, set the Kind to "Issuer" and manually create the // matching Issuer in Kubermatic's namespace. // Setting an empty name disables the automatic creation of certificates and disables // the TLS settings on the Kubermatic Ingress. CertificateIssuer corev1.TypedLocalObjectReference `json:"certificateIssuer,omitempty"` }
func (*KubermaticIngressConfiguration) DeepCopy ¶
func (in *KubermaticIngressConfiguration) DeepCopy() *KubermaticIngressConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticIngressConfiguration.
func (*KubermaticIngressConfiguration) DeepCopyInto ¶
func (in *KubermaticIngressConfiguration) DeepCopyInto(out *KubermaticIngressConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticMasterControllerConfiguration ¶
type KubermaticMasterControllerConfiguration struct { // DockerRepository is the repository containing the Kubermatic master-controller-manager image. DockerRepository string `json:"dockerRepository,omitempty"` // ProjectsMigrator configures the migrator for user projects. ProjectsMigrator KubermaticProjectsMigratorConfiguration `json:"projectsMigrator,omitempty"` // PProfEndpoint controls the port the master-controller-manager should listen on to provide pprof // data. This port is never exposed from the container and only available via port-forwardings. PProfEndpoint *string `json:"pprofEndpoint,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // DebugLog enables more verbose logging. DebugLog bool `json:"debugLog,omitempty"` // Replicas sets the number of pod replicas for the master-controller-manager. Replicas *int32 `json:"replicas,omitempty"` }
KubermaticMasterControllerConfiguration configures the Kubermatic master controller-manager.
func (*KubermaticMasterControllerConfiguration) DeepCopy ¶
func (in *KubermaticMasterControllerConfiguration) DeepCopy() *KubermaticMasterControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticMasterControllerConfiguration.
func (*KubermaticMasterControllerConfiguration) DeepCopyInto ¶
func (in *KubermaticMasterControllerConfiguration) DeepCopyInto(out *KubermaticMasterControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticProjectsMigratorConfiguration ¶
type KubermaticProjectsMigratorConfiguration struct { // DryRun makes the migrator only log the actions it would take. DryRun bool `json:"dryRun,omitempty"` }
KubermaticProjectsMigratorConfiguration configures the Kubermatic master controller-manager.
func (*KubermaticProjectsMigratorConfiguration) DeepCopy ¶
func (in *KubermaticProjectsMigratorConfiguration) DeepCopy() *KubermaticProjectsMigratorConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticProjectsMigratorConfiguration.
func (*KubermaticProjectsMigratorConfiguration) DeepCopyInto ¶
func (in *KubermaticProjectsMigratorConfiguration) DeepCopyInto(out *KubermaticProjectsMigratorConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticProxyConfiguration ¶
type KubermaticProxyConfiguration struct { // HTTP is the full URL to the proxy to use for plaintext HTTP // connections, e.g. "http://internalproxy.example.com:8080". HTTP string `json:"http,omitempty"` // HTTPS is the full URL to the proxy to use for encrypted HTTPS // connections, e.g. "http://secureinternalproxy.example.com:8080". HTTPS string `json:"https,omitempty"` // NoProxy is a comma-separated list of hostnames / network masks // for which no proxy shall be used. If you make use of proxies, // this list should contain all local and cluster-internal domains // and networks, e.g. "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,mydomain". // The operator will always prepend the following elements to this // list if proxying is configured (i.e. HTTP/HTTPS are not empty): // "127.0.0.1/8", "localhost", ".local", ".local.", "kubernetes", ".default", ".svc" NoProxy string `json:"noProxy,omitempty"` }
KubermaticProxyConfiguration can be used to control how the various Kubermatic components reach external services / the Internet. These settings are reflected as environment variables for the Kubermatic pods.
func (*KubermaticProxyConfiguration) DeepCopy ¶
func (in *KubermaticProxyConfiguration) DeepCopy() *KubermaticProxyConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticProxyConfiguration.
func (*KubermaticProxyConfiguration) DeepCopyInto ¶
func (in *KubermaticProxyConfiguration) DeepCopyInto(out *KubermaticProxyConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticSeedControllerConfiguration ¶
type KubermaticSeedControllerConfiguration struct { // DockerRepository is the repository containing the Kubermatic seed-controller-manager image. DockerRepository string `json:"dockerRepository,omitempty"` // BackupStoreContainer is the container used for shipping etcd snapshots to a backup location. BackupStoreContainer string `json:"backupStoreContainer,omitempty"` // BackupDeleteContainer is the container used for deleting etcd snapshots from a backup location. BackupDeleteContainer string `json:"backupDeleteContainer,omitempty"` // Deprecated: BackupCleanupContainer is the container used for removing expired backups from the storage location. // This field is a no-op and is no longer used. The old backup controller it was used for has been // removed. Do not set this field. BackupCleanupContainer string `json:"backupCleanupContainer,omitempty"` // MaximumParallelReconciles limits the number of cluster reconciliations // that are active at any given time. MaximumParallelReconciles int `json:"maximumParallelReconciles,omitempty"` // PProfEndpoint controls the port the seed-controller-manager should listen on to provide pprof // data. This port is never exposed from the container and only available via port-forwardings. PProfEndpoint *string `json:"pprofEndpoint,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // DebugLog enables more verbose logging. DebugLog bool `json:"debugLog,omitempty"` // Replicas sets the number of pod replicas for the seed-controller-manager. Replicas *int32 `json:"replicas,omitempty"` }
KubermaticSeedControllerConfiguration configures the Kubermatic seed controller-manager.
func (*KubermaticSeedControllerConfiguration) DeepCopy ¶
func (in *KubermaticSeedControllerConfiguration) DeepCopy() *KubermaticSeedControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticSeedControllerConfiguration.
func (*KubermaticSeedControllerConfiguration) DeepCopyInto ¶
func (in *KubermaticSeedControllerConfiguration) DeepCopyInto(out *KubermaticSeedControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticSetting ¶
type KubermaticSetting struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SettingSpec `json:"spec,omitempty"` }
KubermaticSetting is the type representing a KubermaticSetting. These settings affect the KKP dashboard and are not relevant when using the Kube API on the master/seed clusters directly.
func (*KubermaticSetting) DeepCopy ¶
func (in *KubermaticSetting) DeepCopy() *KubermaticSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticSetting.
func (*KubermaticSetting) DeepCopyInto ¶
func (in *KubermaticSetting) DeepCopyInto(out *KubermaticSetting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubermaticSetting) DeepCopyObject ¶
func (in *KubermaticSetting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubermaticSettingList ¶
type KubermaticSettingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []KubermaticSetting `json:"items"` }
KubermaticSettingList is a list of settings.
func (*KubermaticSettingList) DeepCopy ¶
func (in *KubermaticSettingList) DeepCopy() *KubermaticSettingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticSettingList.
func (*KubermaticSettingList) DeepCopyInto ¶
func (in *KubermaticSettingList) DeepCopyInto(out *KubermaticSettingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubermaticSettingList) DeepCopyObject ¶
func (in *KubermaticSettingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KubermaticUIConfiguration ¶
type KubermaticUIConfiguration struct { // DockerRepository is the repository containing the Kubermatic dashboard image. DockerRepository string `json:"dockerRepository,omitempty"` // DockerTag is used to overwrite the dashboard Docker image tag and is only for development // purposes. This field must not be set in production environments. If DockerTag is specified then // DockerTagSuffix will be ignored. // --- //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator DockerTag string `json:"dockerTag,omitempty,omitgenyaml"` // DockerTagSuffix is appended to the KKP version used for referring to the custom dashboard image. // If left empty, either the `DockerTag` if specified or the original dashboard Docker image tag will be used. // With DockerTagSuffix the tag becomes <KKP_VERSION:SUFFIX> i.e. "v2.15.0-SUFFIX". DockerTagSuffix string `json:"dockerTagSuffix,omitempty"` // Config sets flags for various dashboard features. Config string `json:"config,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // Replicas sets the number of pod replicas for the UI deployment. Replicas *int32 `json:"replicas,omitempty"` // ExtraVolumeMounts allows to mount additional volumes into the UI container. ExtraVolumeMounts []corev1.VolumeMount `json:"extraVolumeMounts,omitempty"` // ExtraVolumes allows to mount additional volumes into the UI container. ExtraVolumes []corev1.Volume `json:"extraVolumes,omitempty"` }
KubermaticUIConfiguration configures the dashboard.
func (*KubermaticUIConfiguration) DeepCopy ¶
func (in *KubermaticUIConfiguration) DeepCopy() *KubermaticUIConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticUIConfiguration.
func (*KubermaticUIConfiguration) DeepCopyInto ¶
func (in *KubermaticUIConfiguration) DeepCopyInto(out *KubermaticUIConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticUserClusterConfiguration ¶
type KubermaticUserClusterConfiguration struct { // KubermaticDockerRepository is the repository containing the Kubermatic user-cluster-controller-manager image. KubermaticDockerRepository string `json:"kubermaticDockerRepository,omitempty"` // DNATControllerDockerRepository is the repository containing the // dnat-controller image. DNATControllerDockerRepository string `json:"dnatControllerDockerRepository,omitempty"` // EtcdLauncherDockerRepository is the repository containing the Kubermatic // etcd-launcher image. EtcdLauncherDockerRepository string `json:"etcdLauncherDockerRepository,omitempty"` // OverwriteRegistry specifies a custom Docker registry which will be used for all images // used for user clusters (user cluster control plane + addons). This also applies to // the KubermaticDockerRepository and DNATControllerDockerRepository fields. OverwriteRegistry string `json:"overwriteRegistry,omitempty"` // Addons controls the optional additions installed into each user cluster. Addons KubermaticAddonsConfiguration `json:"addons,omitempty"` // SystemApplications contains configuration for system Applications (such as CNI). SystemApplications SystemApplicationsConfiguration `json:"systemApplications,omitempty"` // NodePortRange is the port range for user clusters - this must match the NodePort // range of the seed cluster. NodePortRange string `json:"nodePortRange,omitempty"` // Monitoring can be used to fine-tune to in-cluster Prometheus. Monitoring KubermaticUserClusterMonitoringConfiguration `json:"monitoring,omitempty"` // DisableAPIServerEndpointReconciling can be used to toggle the `--endpoint-reconciler-type` flag for // the Kubernetes API server. DisableAPIServerEndpointReconciling bool `json:"disableApiserverEndpointReconciling,omitempty"` // EtcdVolumeSize configures the volume size to use for each etcd pod inside user clusters. EtcdVolumeSize string `json:"etcdVolumeSize,omitempty"` // APIServerReplicas configures the replica count for the API-Server deployment inside user clusters. APIServerReplicas *int32 `json:"apiserverReplicas,omitempty"` // MachineController configures the Machine Controller MachineController MachineControllerConfiguration `json:"machineController,omitempty"` // OperatingSystemManager configures the image repo and the tag version for osm deployment. OperatingSystemManager OperatingSystemManager `json:"operatingSystemManager,omitempty"` }
KubermaticUserClusterConfiguration controls various aspects of the user-created clusters.
func (*KubermaticUserClusterConfiguration) DeepCopy ¶
func (in *KubermaticUserClusterConfiguration) DeepCopy() *KubermaticUserClusterConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticUserClusterConfiguration.
func (*KubermaticUserClusterConfiguration) DeepCopyInto ¶
func (in *KubermaticUserClusterConfiguration) DeepCopyInto(out *KubermaticUserClusterConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticUserClusterMonitoringConfiguration ¶
type KubermaticUserClusterMonitoringConfiguration struct { // DisableDefaultRules disables the recording and alerting rules. DisableDefaultRules bool `json:"disableDefaultRules,omitempty"` // DisableDefaultScrapingConfigs disables the default scraping targets. DisableDefaultScrapingConfigs bool `json:"disableDefaultScrapingConfigs,omitempty"` // CustomRules can be used to inject custom recording and alerting rules. This field // must be a YAML-formatted string with a `group` element at its root, as documented // on https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/. // This value is treated as a Go template, which allows to inject dynamic values like // the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus // and the documentation for more information on the available fields. CustomRules string `json:"customRules,omitempty"` // CustomScrapingConfigs can be used to inject custom scraping rules. This must be a // YAML-formatted string containing an array of scrape configurations as documented // on https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. // This value is treated as a Go template, which allows to inject dynamic values like // the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus // and the documentation for more information on the available fields. CustomScrapingConfigs string `json:"customScrapingConfigs,omitempty"` // ScrapeAnnotationPrefix (if set) is used to make the in-cluster Prometheus scrape pods // inside the user clusters. ScrapeAnnotationPrefix string `json:"scrapeAnnotationPrefix,omitempty"` }
KubermaticUserClusterMonitoringConfiguration can be used to fine-tune to in-cluster Prometheus.
func (*KubermaticUserClusterMonitoringConfiguration) DeepCopy ¶
func (in *KubermaticUserClusterMonitoringConfiguration) DeepCopy() *KubermaticUserClusterMonitoringConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticUserClusterMonitoringConfiguration.
func (*KubermaticUserClusterMonitoringConfiguration) DeepCopyInto ¶
func (in *KubermaticUserClusterMonitoringConfiguration) DeepCopyInto(out *KubermaticUserClusterMonitoringConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticVPAComponent ¶
type KubermaticVPAComponent struct { // DockerRepository is the repository containing the component's image. DockerRepository string `json:"dockerRepository,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
func (*KubermaticVPAComponent) DeepCopy ¶
func (in *KubermaticVPAComponent) DeepCopy() *KubermaticVPAComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticVPAComponent.
func (*KubermaticVPAComponent) DeepCopyInto ¶
func (in *KubermaticVPAComponent) DeepCopyInto(out *KubermaticVPAComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticVPAConfiguration ¶
type KubermaticVPAConfiguration struct { Recommender KubermaticVPAComponent `json:"recommender,omitempty"` Updater KubermaticVPAComponent `json:"updater,omitempty"` AdmissionController KubermaticVPAComponent `json:"admissionController,omitempty"` }
KubermaticVPAConfiguration configures the Kubernetes VPA.
func (*KubermaticVPAConfiguration) DeepCopy ¶
func (in *KubermaticVPAConfiguration) DeepCopy() *KubermaticVPAConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticVPAConfiguration.
func (*KubermaticVPAConfiguration) DeepCopyInto ¶
func (in *KubermaticVPAConfiguration) DeepCopyInto(out *KubermaticVPAConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticVersioningConfiguration ¶
type KubermaticVersioningConfiguration struct { // Versions lists the available versions. Versions []semver.Semver `json:"versions,omitempty"` // Default is the default version to offer users. Default *semver.Semver `json:"default,omitempty"` // Updates is a list of available and automatic upgrades. // All 'to' versions must be configured in the version list for this orchestrator. // Each update may optionally be configured to be 'automatic: true', in which case the // controlplane of all clusters whose version matches the 'from' directive will get // updated to the 'to' version. If automatic is enabled, the 'to' version must be a // version and not a version range. // Also, updates may set 'automaticNodeUpdate: true', in which case Nodes will get // updates as well. 'automaticNodeUpdate: true' implies 'automatic: true' as well, // because Nodes may not have a newer version than the controlplane. Updates []Update `json:"updates,omitempty"` // ProviderIncompatibilities lists all the Kubernetes version incompatibilities ProviderIncompatibilities []Incompatibility `json:"providerIncompatibilities,omitempty"` // ExternalClusters contains the available and default Kubernetes versions and updates for ExternalClusters. ExternalClusters map[ExternalClusterProviderType]ExternalClusterProviderVersioningConfiguration `json:"externalClusters,omitempty"` }
KubermaticVersioningConfiguration configures the available and default Kubernetes versions.
func (*KubermaticVersioningConfiguration) DeepCopy ¶
func (in *KubermaticVersioningConfiguration) DeepCopy() *KubermaticVersioningConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticVersioningConfiguration.
func (*KubermaticVersioningConfiguration) DeepCopyInto ¶
func (in *KubermaticVersioningConfiguration) DeepCopyInto(out *KubermaticVersioningConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubermaticWebhookConfiguration ¶ added in v2.21.0
type KubermaticWebhookConfiguration struct { // DockerRepository is the repository containing the Kubermatic webhook image. DockerRepository string `json:"dockerRepository,omitempty"` // PProfEndpoint controls the port the webhook should listen on to provide pprof // data. This port is never exposed from the container and only available via port-forwardings. PProfEndpoint *string `json:"pprofEndpoint,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` // DebugLog enables more verbose logging. DebugLog bool `json:"debugLog,omitempty"` // Replicas sets the number of pod replicas for the webhook. Replicas *int32 `json:"replicas,omitempty"` }
KubermaticWebhookConfiguration configures the Kubermatic webhook.
func (*KubermaticWebhookConfiguration) DeepCopy ¶ added in v2.21.0
func (in *KubermaticWebhookConfiguration) DeepCopy() *KubermaticWebhookConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubermaticWebhookConfiguration.
func (*KubermaticWebhookConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *KubermaticWebhookConfiguration) DeepCopyInto(out *KubermaticWebhookConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesDashboard ¶ added in v2.21.0
type KubernetesDashboard struct { // Controls whether kubernetes-dashboard is deployed to the user cluster or not. // Enabled by default. Enabled bool `json:"enabled,omitempty"` }
KubernetesDashboard contains settings for the kubernetes-dashboard component as part of the cluster control plane.
func (*KubernetesDashboard) DeepCopy ¶ added in v2.21.0
func (in *KubernetesDashboard) DeepCopy() *KubernetesDashboard
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDashboard.
func (*KubernetesDashboard) DeepCopyInto ¶ added in v2.21.0
func (in *KubernetesDashboard) DeepCopyInto(out *KubernetesDashboard)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Kubevirt ¶
type Kubevirt struct { ProviderPreset `json:",inline"` // Kubeconfig is the cluster's kubeconfig file, encoded with base64. Kubeconfig string `json:"kubeconfig"` }
func (*Kubevirt) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Kubevirt.
func (*Kubevirt) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubevirtCloudSpec ¶
type KubevirtCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The cluster's kubeconfig file, encoded with base64. Kubeconfig string `json:"kubeconfig,omitempty"` CSIKubeconfig string `json:"csiKubeconfig,omitempty"` // Custom Images are a good example of this use case. PreAllocatedDataVolumes []PreAllocatedDataVolume `json:"preAllocatedDataVolumes,omitempty"` // Deprecated: in favor of StorageClasses. // InfraStorageClasses is a list of storage classes from KubeVirt infra cluster that are used for // initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks) InfraStorageClasses []string `json:"infraStorageClasses,omitempty"` // StorageClasses is a list of storage classes from KubeVirt infra cluster that are used for // initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks. // It contains also some flag specifying which one is the default one. StorageClasses []KubeVirtInfraStorageClass `json:"storageClasses,omitempty"` // ImageCloningEnabled flag enable/disable cloning for a cluster. ImageCloningEnabled bool `json:"imageCloningEnabled,omitempty"` }
KubevirtCloudSpec specifies the access data to Kubevirt.
func (*KubevirtCloudSpec) DeepCopy ¶
func (in *KubevirtCloudSpec) DeepCopy() *KubevirtCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubevirtCloudSpec.
func (*KubevirtCloudSpec) DeepCopyInto ¶
func (in *KubevirtCloudSpec) DeepCopyInto(out *KubevirtCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LBSKU ¶
type LBSKU string
Azure SKU for Load Balancers. Possible values are `basic` and `standard`.
type LeaderElectionSettings ¶
type LeaderElectionSettings struct { // LeaseDurationSeconds is the duration in seconds that non-leader candidates // will wait to force acquire leadership. This is measured against time of // last observed ack. // +optional LeaseDurationSeconds *int32 `json:"leaseDurationSeconds,omitempty"` // RenewDeadlineSeconds is the duration in seconds that the acting controlplane // will retry refreshing leadership before giving up. // +optional RenewDeadlineSeconds *int32 `json:"renewDeadlineSeconds,omitempty"` // RetryPeriodSeconds is the duration in seconds the LeaderElector clients // should wait between tries of actions. // +optional RetryPeriodSeconds *int32 `json:"retryPeriodSeconds,omitempty"` }
func (*LeaderElectionSettings) DeepCopy ¶
func (in *LeaderElectionSettings) DeepCopy() *LeaderElectionSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaderElectionSettings.
func (*LeaderElectionSettings) DeepCopyInto ¶
func (in *LeaderElectionSettings) DeepCopyInto(out *LeaderElectionSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoggingRateLimitSettings ¶
type LoggingRateLimitSettings struct { // IngestionRate represents ingestion rate limit in requests per second (nginx `rate` in `r/s`). IngestionRate int32 `json:"ingestionRate,omitempty"` // IngestionBurstSize represents ingestion burst size in number of requests (nginx `burst`). IngestionBurstSize int32 `json:"ingestionBurstSize,omitempty"` // // QueryRate represents query request rate limit per second (nginx `rate` in `r/s`). QueryRate int32 `json:"queryRate,omitempty"` // QueryBurstSize represents query burst size in number of requests (nginx `burst`). QueryBurstSize int32 `json:"queryBurstSize,omitempty"` }
LoggingRateLimitSettings contains rate-limiting configuration for logging in the user cluster.
func (*LoggingRateLimitSettings) DeepCopy ¶
func (in *LoggingRateLimitSettings) DeepCopy() *LoggingRateLimitSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoggingRateLimitSettings.
func (*LoggingRateLimitSettings) DeepCopyInto ¶
func (in *LoggingRateLimitSettings) DeepCopyInto(out *LoggingRateLimitSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MLAAdminSetting ¶
type MLAAdminSetting struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the cluster-specific administrator settings for KKP user cluster MLA // (monitoring, logging & alerting) stack. Spec MLAAdminSettingSpec `json:"spec,omitempty"` }
MLAAdminSetting is the object representing cluster-specific administrator settings for KKP user cluster MLA (monitoring, logging & alerting) stack.
func (*MLAAdminSetting) DeepCopy ¶
func (in *MLAAdminSetting) DeepCopy() *MLAAdminSetting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLAAdminSetting.
func (*MLAAdminSetting) DeepCopyInto ¶
func (in *MLAAdminSetting) DeepCopyInto(out *MLAAdminSetting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MLAAdminSetting) DeepCopyObject ¶
func (in *MLAAdminSetting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MLAAdminSettingList ¶
type MLAAdminSettingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items holds the list of the cluster-specific administrative settings // for KKP user cluster MLA. Items []MLAAdminSetting `json:"items"` }
MLAAdminSettingList specifies a list of administrtor settings for KKP user cluster MLA (monitoring, logging & alerting) stack.
func (*MLAAdminSettingList) DeepCopy ¶
func (in *MLAAdminSettingList) DeepCopy() *MLAAdminSettingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLAAdminSettingList.
func (*MLAAdminSettingList) DeepCopyInto ¶
func (in *MLAAdminSettingList) DeepCopyInto(out *MLAAdminSettingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MLAAdminSettingList) DeepCopyObject ¶
func (in *MLAAdminSettingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MLAAdminSettingSpec ¶
type MLAAdminSettingSpec struct { // ClusterName is the name of the user cluster whose MLA settings are defined in this object. ClusterName string `json:"clusterName"` // MonitoringRateLimits contains rate-limiting configuration for monitoring in the user cluster. MonitoringRateLimits *MonitoringRateLimitSettings `json:"monitoringRateLimits,omitempty"` // LoggingRateLimits contains rate-limiting configuration logging in the user cluster. LoggingRateLimits *LoggingRateLimitSettings `json:"loggingRateLimits,omitempty"` }
MLAAdminSettingSpec specifies the cluster-specific administrator settings for KKP user cluster MLA (monitoring, logging & alerting) stack.
func (*MLAAdminSettingSpec) DeepCopy ¶
func (in *MLAAdminSettingSpec) DeepCopy() *MLAAdminSettingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLAAdminSettingSpec.
func (*MLAAdminSettingSpec) DeepCopyInto ¶
func (in *MLAAdminSettingSpec) DeepCopyInto(out *MLAAdminSettingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MLASettings ¶
type MLASettings struct { // MonitoringEnabled is the flag for enabling monitoring in user cluster. MonitoringEnabled bool `json:"monitoringEnabled,omitempty"` // LoggingEnabled is the flag for enabling logging in user cluster. LoggingEnabled bool `json:"loggingEnabled,omitempty"` // MonitoringResources is the resource requirements for user cluster prometheus. MonitoringResources *corev1.ResourceRequirements `json:"monitoringResources,omitempty"` // LoggingResources is the resource requirements for user cluster promtail. LoggingResources *corev1.ResourceRequirements `json:"loggingResources,omitempty"` // MonitoringReplicas is the number of desired pods of user cluster prometheus deployment. MonitoringReplicas *int32 `json:"monitoringReplicas,omitempty"` }
func (*MLASettings) DeepCopy ¶
func (in *MLASettings) DeepCopy() *MLASettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MLASettings.
func (*MLASettings) DeepCopyInto ¶
func (in *MLASettings) DeepCopyInto(out *MLASettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineControllerConfiguration ¶
type MachineControllerConfiguration struct { // ImageRepository is used to override the Machine Controller image repository. // It is only for development, tests and PoC purposes. This field must not be set in production environments. ImageRepository string `json:"imageRepository,omitempty"` // ImageTag is used to override the Machine Controller image. // It is only for development, tests and PoC purposes. This field must not be set in production environments. ImageTag string `json:"imageTag,omitempty"` }
MachineControllerConfiguration configures Machine Controller.
func (*MachineControllerConfiguration) DeepCopy ¶
func (in *MachineControllerConfiguration) DeepCopy() *MachineControllerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineControllerConfiguration.
func (*MachineControllerConfiguration) DeepCopyInto ¶
func (in *MachineControllerConfiguration) DeepCopyInto(out *MachineControllerConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineDeploymentOptions ¶ added in v2.23.0
type MachineDeploymentOptions struct { // AutoUpdatesEnabled enables the auto updates option for machine deployments on the dashboard. // In case of flatcar linux, this will enable automatic updates through update engine and for other operating systems, // this will enable package updates on boot for the machines. AutoUpdatesEnabled bool `json:"autoUpdatesEnabled,omitempty"` // AutoUpdatesEnforced enforces the auto updates option for machine deployments on the dashboard. // In case of flatcar linux, this will enable automatic updates through update engine and for other operating systems, // this will enable package updates on boot for the machines. AutoUpdatesEnforced bool `json:"autoUpdatesEnforced,omitempty"` }
func (*MachineDeploymentOptions) DeepCopy ¶ added in v2.23.0
func (in *MachineDeploymentOptions) DeepCopy() *MachineDeploymentOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineDeploymentOptions.
func (*MachineDeploymentOptions) DeepCopyInto ¶ added in v2.23.0
func (in *MachineDeploymentOptions) DeepCopyInto(out *MachineDeploymentOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineFlavorFilter ¶ added in v2.22.0
type MachineFlavorFilter struct { // Minimum number of vCPU MinCPU int `json:"minCPU"` // Maximum number of vCPU MaxCPU int `json:"maxCPU"` // Minimum RAM size in GB MinRAM int `json:"minRAM"` // Maximum RAM size in GB MaxRAM int `json:"maxRAM"` // Include VMs with GPU EnableGPU bool `json:"enableGPU"` //nolint:tagliatelle }
func (*MachineFlavorFilter) DeepCopy ¶ added in v2.22.0
func (in *MachineFlavorFilter) DeepCopy() *MachineFlavorFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineFlavorFilter.
func (*MachineFlavorFilter) DeepCopyInto ¶ added in v2.22.0
func (in *MachineFlavorFilter) DeepCopyInto(out *MachineFlavorFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MachineNetworkingConfig ¶
type MachineNetworkingConfig struct { CIDR string `json:"cidr"` Gateway string `json:"gateway"` DNSServers []string `json:"dnsServers"` }
MachineNetworkingConfig specifies the networking parameters used for IPAM.
func (*MachineNetworkingConfig) DeepCopy ¶
func (in *MachineNetworkingConfig) DeepCopy() *MachineNetworkingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineNetworkingConfig.
func (*MachineNetworkingConfig) DeepCopyInto ¶
func (in *MachineNetworkingConfig) DeepCopyInto(out *MachineNetworkingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Match ¶
type Match struct { // Kinds accepts a list of objects with apiGroups and kinds fields that list the groups/kinds of objects to which // the constraint will apply. If multiple groups/kinds objects are specified, only one match is needed for the resource to be in scope Kinds []Kind `json:"kinds,omitempty"` // Scope accepts *, Cluster, or Namespaced which determines if cluster-scoped and/or namespace-scoped resources are selected. (defaults to *) Scope string `json:"scope,omitempty"` // Namespaces is a list of namespace names. If defined, a constraint will only apply to resources in a listed namespace. Namespaces []string `json:"namespaces,omitempty"` // ExcludedNamespaces is a list of namespace names. If defined, a constraint will only apply to resources not in a listed namespace. ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"` // LabelSelector is a standard Kubernetes label selector. LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"` // NamespaceSelector is a standard Kubernetes namespace selector. If defined, make sure to add Namespaces to your // configs.config.gatekeeper.sh object to ensure namespaces are synced into OPA NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
Match contains the constraint to resource matching data.
func (*Match) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Match.
func (*Match) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MeteringConfiguration ¶
type MeteringConfiguration struct { Enabled bool `json:"enabled"` // StorageClassName is the name of the storage class that the metering Prometheus instance uses to store metric data for reporting. StorageClassName string `json:"storageClassName"` // StorageSize is the size of the storage class. Default value is 100Gi. Changing this value requires // manual deletion of the existing Prometheus PVC (and thereby removing all metering data). StorageSize string `json:"storageSize,omitempty"` // RetentionDays is the number of days for which data should be kept in Prometheus. Default value is 90. RetentionDays int `json:"retentionDays,omitempty"` // ReportConfigurations is a map of report configuration definitions. ReportConfigurations map[string]*MeteringReportConfiguration `json:"reports,omitempty"` }
MeteringConfiguration contains all the configuration for the metering tool.
func (*MeteringConfiguration) DeepCopy ¶
func (in *MeteringConfiguration) DeepCopy() *MeteringConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeteringConfiguration.
func (*MeteringConfiguration) DeepCopyInto ¶
func (in *MeteringConfiguration) DeepCopyInto(out *MeteringConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MeteringReportConfiguration ¶ added in v2.21.0
type MeteringReportConfiguration struct { // Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Please take a note that Schedule is responsible // only for setting the time when a report generation mechanism kicks off. The Interval MUST be set independently. Schedule string `json:"schedule,omitempty"` // Interval defines the number of days consulted in the metering report. // Ignored when `Monthly` is set to true Interval uint32 `json:"interval,omitempty"` // +optional // Monthly creates a report for the previous month. Monthly bool `json:"monthly,omitempty"` // Retention defines a number of days after which reports are queued for removal. If not set, reports are kept forever. // Please note that this functionality works only for object storage that supports an object lifecycle management mechanism. Retention *uint32 `json:"retention,omitempty"` // Types of reports to generate. Available report types are cluster and namespace. By default, all types of reports are generated. Types []string `json:"type,omitempty"` }
func (*MeteringReportConfiguration) DeepCopy ¶ added in v2.21.0
func (in *MeteringReportConfiguration) DeepCopy() *MeteringReportConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeteringReportConfiguration.
func (*MeteringReportConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *MeteringReportConfiguration) DeepCopyInto(out *MeteringReportConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MlaOptions ¶
type MlaOptions struct { LoggingEnabled bool `json:"loggingEnabled,omitempty"` LoggingEnforced bool `json:"loggingEnforced,omitempty"` MonitoringEnabled bool `json:"monitoringEnabled,omitempty"` MonitoringEnforced bool `json:"monitoringEnforced,omitempty"` }
func (*MlaOptions) DeepCopy ¶
func (in *MlaOptions) DeepCopy() *MlaOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MlaOptions.
func (*MlaOptions) DeepCopyInto ¶
func (in *MlaOptions) DeepCopyInto(out *MlaOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MonitoringRateLimitSettings ¶
type MonitoringRateLimitSettings struct { // IngestionRate represents the ingestion rate limit in samples per second (Cortex `ingestion_rate`). IngestionRate int32 `json:"ingestionRate,omitempty"` // IngestionBurstSize represents ingestion burst size in samples per second (Cortex `ingestion_burst_size`). IngestionBurstSize int32 `json:"ingestionBurstSize,omitempty"` // MaxSeriesPerMetric represents maximum number of series per metric (Cortex `max_series_per_metric`). MaxSeriesPerMetric int32 `json:"maxSeriesPerMetric,omitempty"` // MaxSeriesTotal represents maximum number of series per this user cluster (Cortex `max_series_per_user`). MaxSeriesTotal int32 `json:"maxSeriesTotal,omitempty"` // QueryRate represents query request rate limit per second (nginx `rate` in `r/s`). QueryRate int32 `json:"queryRate,omitempty"` // QueryBurstSize represents query burst size in number of requests (nginx `burst`). QueryBurstSize int32 `json:"queryBurstSize,omitempty"` // MaxSamplesPerQuery represents maximum number of samples during a query (Cortex `max_samples_per_query`). MaxSamplesPerQuery int32 `json:"maxSamplesPerQuery,omitempty"` // MaxSeriesPerQuery represents maximum number of timeseries during a query (Cortex `max_series_per_query`). MaxSeriesPerQuery int32 `json:"maxSeriesPerQuery,omitempty"` }
MonitoringRateLimitSettings contains rate-limiting configuration for monitoring in the user cluster.
func (*MonitoringRateLimitSettings) DeepCopy ¶
func (in *MonitoringRateLimitSettings) DeepCopy() *MonitoringRateLimitSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringRateLimitSettings.
func (*MonitoringRateLimitSettings) DeepCopyInto ¶
func (in *MonitoringRateLimitSettings) DeepCopyInto(out *MonitoringRateLimitSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkRanges ¶
type NetworkRanges struct {
CIDRBlocks []string `json:"cidrBlocks"`
}
NetworkRanges represents ranges of network addresses.
func (*NetworkRanges) DeepCopy ¶
func (in *NetworkRanges) DeepCopy() *NetworkRanges
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkRanges.
func (*NetworkRanges) DeepCopyInto ¶
func (in *NetworkRanges) DeepCopyInto(out *NetworkRanges)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NetworkRanges) GetIPv4CIDR ¶ added in v2.21.0
func (r *NetworkRanges) GetIPv4CIDR() string
GetIPv4CIDR returns the first found IPv4 CIDR in the network ranges, or an empty string if no IPv4 CIDR is found.
func (*NetworkRanges) GetIPv4CIDRs ¶ added in v2.21.0
func (r *NetworkRanges) GetIPv4CIDRs() (res []string)
GetIPv4CIDRs returns all IPv4 CIDRs in the network ranges, or an empty string if no IPv4 CIDR is found.
func (*NetworkRanges) GetIPv6CIDR ¶ added in v2.21.0
func (r *NetworkRanges) GetIPv6CIDR() string
GetIPv6CIDR returns the first found IPv6 CIDR in the network ranges, or an empty string if no IPv6 CIDR is found.
func (*NetworkRanges) GetIPv6CIDRs ¶ added in v2.21.0
func (r *NetworkRanges) GetIPv6CIDRs() (res []string)
GetIPv6CIDRs returns all IPv6 CIDRs in the network ranges, or an empty string if no IPv6 CIDR is found.
func (*NetworkRanges) HasIPv4CIDR ¶ added in v2.21.0
func (r *NetworkRanges) HasIPv4CIDR() bool
HasIPv4CIDR returns true if the network ranges contain any IPv4 CIDR, false otherwise.
func (*NetworkRanges) HasIPv6CIDR ¶ added in v2.21.0
func (r *NetworkRanges) HasIPv6CIDR() bool
HasIPv6CIDR returns true if the network ranges contain any IPv6 CIDR, false otherwise.
func (*NetworkRanges) Validate ¶ added in v2.21.0
func (r *NetworkRanges) Validate() error
Validate validates the network ranges. Returns nil if valid, error otherwise.
type NodePortProxyComponentEnvoy ¶ added in v2.20.2
type NodePortProxyComponentEnvoy struct { NodeportProxyComponent `json:",inline"` LoadBalancerService EnvoyLoadBalancerService `json:"loadBalancerService,omitempty"` }
func (*NodePortProxyComponentEnvoy) DeepCopy ¶ added in v2.20.2
func (in *NodePortProxyComponentEnvoy) DeepCopy() *NodePortProxyComponentEnvoy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodePortProxyComponentEnvoy.
func (*NodePortProxyComponentEnvoy) DeepCopyInto ¶ added in v2.20.2
func (in *NodePortProxyComponentEnvoy) DeepCopyInto(out *NodePortProxyComponentEnvoy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeSettings ¶
type NodeSettings struct { // Optional: Proxy settings for the Nodes in this datacenter. // Defaults to the Proxy settings of the seed. ProxySettings `json:",inline"` // Optional: These image registries will be configured as insecure // on the container runtime. InsecureRegistries []string `json:"insecureRegistries,omitempty"` // Optional: These image registries will be configured as registry mirrors // on the container runtime. RegistryMirrors []string `json:"registryMirrors,omitempty"` // Optional: Translates to --pod-infra-container-image on the kubelet. // If not set, the kubelet will default it. PauseImage string `json:"pauseImage,omitempty"` // Optional: ContainerdRegistryMirrors configure registry mirrors endpoints. Can be used multiple times to specify multiple mirrors. ContainerdRegistryMirrors *ContainerRuntimeContainerd `json:"containerdRegistryMirrors,omitempty"` }
NodeSettings are node specific flags which can be configured on datacenter level.
func (*NodeSettings) DeepCopy ¶
func (in *NodeSettings) DeepCopy() *NodeSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeSettings.
func (*NodeSettings) DeepCopyInto ¶
func (in *NodeSettings) DeepCopyInto(out *NodeSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeportProxyComponent ¶
type NodeportProxyComponent struct { // DockerRepository is the repository containing the component's image. DockerRepository string `json:"dockerRepository,omitempty"` // Resources describes the requested and maximum allowed CPU/memory usage. Resources corev1.ResourceRequirements `json:"resources,omitempty"` }
func (*NodeportProxyComponent) DeepCopy ¶
func (in *NodeportProxyComponent) DeepCopy() *NodeportProxyComponent
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeportProxyComponent.
func (*NodeportProxyComponent) DeepCopyInto ¶
func (in *NodeportProxyComponent) DeepCopyInto(out *NodeportProxyComponent)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeportProxyConfig ¶
type NodeportProxyConfig struct { // Disable will prevent the Kubermatic Operator from creating a nodeport-proxy // setup on the seed cluster. This should only be used if a suitable replacement // is installed (like the nodeport-proxy Helm chart). Disable bool `json:"disable,omitempty"` // Annotations are used to further tweak the LoadBalancer integration with the // cloud provider where the seed cluster is running. // Deprecated: Use .envoy.loadBalancerService.annotations instead. Annotations map[string]string `json:"annotations,omitempty"` // Envoy configures the Envoy application itself. Envoy NodePortProxyComponentEnvoy `json:"envoy,omitempty"` // EnvoyManager configures the Kubermatic-internal Envoy manager. EnvoyManager NodeportProxyComponent `json:"envoyManager,omitempty"` // Updater configures the component responsible for updating the LoadBalancer // service. Updater NodeportProxyComponent `json:"updater,omitempty"` // IPFamilyPolicy configures the IP family policy for the LoadBalancer service. IPFamilyPolicy *corev1.IPFamilyPolicy `json:"ipFamilyPolicy,omitempty"` // IPFamilies configures the IP families to use for the LoadBalancer service. IPFamilies []corev1.IPFamily `json:"ipFamilies,omitempty"` }
func (*NodeportProxyConfig) DeepCopy ¶
func (in *NodeportProxyConfig) DeepCopy() *NodeportProxyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeportProxyConfig.
func (*NodeportProxyConfig) DeepCopyInto ¶
func (in *NodeportProxyConfig) DeepCopyInto(out *NodeportProxyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NotificationsOptions ¶ added in v2.22.0
type NotificationsOptions struct { // HideErrors will silence error notifications for the dashboard. HideErrors bool `json:"hideErrors,omitempty"` // HideErrorEvents will silence error events for the dashboard. HideErrorEvents bool `json:"hideErrorEvents,omitempty"` }
func (*NotificationsOptions) DeepCopy ¶ added in v2.22.0
func (in *NotificationsOptions) DeepCopy() *NotificationsOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NotificationsOptions.
func (*NotificationsOptions) DeepCopyInto ¶ added in v2.22.0
func (in *NotificationsOptions) DeepCopyInto(out *NotificationsOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Nutanix ¶
type Nutanix struct { ProviderPreset `json:",inline"` // Optional: To configure a HTTP proxy to access Nutanix Prism Central. ProxyURL string `json:"proxyURL,omitempty"` // Username that is used to access the Nutanix Prism Central API. Username string `json:"username"` // Password corresponding to the provided user. Password string `json:"password"` // The name of the Nutanix cluster to which the resources and nodes are deployed to. ClusterName string `json:"clusterName"` // Optional: Nutanix project to use. If none is given, // no project will be used. ProjectName string `json:"projectName,omitempty"` // Prism Element Username for CSI driver. CSIUsername string `json:"csiUsername,omitempty"` // Prism Element Password for CSI driver. CSIPassword string `json:"csiPassword,omitempty"` // CSIEndpoint to access Nutanix Prism Element for CSI driver. CSIEndpoint string `json:"csiEndpoint,omitempty"` // CSIPort to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440). CSIPort *int32 `json:"csiPort,omitempty"` }
func (*Nutanix) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Nutanix.
func (*Nutanix) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixCSIConfig ¶ added in v2.20.0
type NutanixCSIConfig struct { // Prism Element Username for CSI driver. Username string `json:"username,omitempty"` // Prism Element Password for CSI driver. Password string `json:"password,omitempty"` // Prism Element Endpoint to access Nutanix Prism Element for CSI driver. Endpoint string `json:"endpoint"` // Optional: Port to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440). // +optional Port *int32 `json:"port,omitempty"` // Optional: defaults to "SelfServiceContainer". // +optional StorageContainer string `json:"storageContainer,omitempty"` // Optional: defaults to "xfs" // +optional Fstype string `json:"fstype,omitempty"` // Optional: defaults to "false". // +optional SsSegmentedIscsiNetwork *bool `json:"ssSegmentedIscsiNetwork,omitempty"` }
NutanixCSIConfig contains credentials and the endpoint for the Nutanix Prism Element to which the CSI driver connects.
func (*NutanixCSIConfig) DeepCopy ¶ added in v2.20.0
func (in *NutanixCSIConfig) DeepCopy() *NutanixCSIConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCSIConfig.
func (*NutanixCSIConfig) DeepCopyInto ¶ added in v2.20.0
func (in *NutanixCSIConfig) DeepCopyInto(out *NutanixCSIConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixCloudSpec ¶
type NutanixCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // ClusterName is the Nutanix cluster that this user cluster will be deployed to. ClusterName string `json:"clusterName"` // The name of the project that this cluster is deployed into. If none is given, no project will be used. // +optional ProjectName string `json:"projectName,omitempty"` // Optional: Used to configure a HTTP proxy to access Nutanix Prism Central. ProxyURL string `json:"proxyURL,omitempty"` // Username to access the Nutanix Prism Central API. Username string `json:"username,omitempty"` // Password corresponding to the provided user. Password string `json:"password,omitempty"` // NutanixCSIConfig for CSI driver that connects to a prism element. // +optional CSI *NutanixCSIConfig `json:"csi,omitempty"` }
NutanixCloudSpec specifies the access data to Nutanix.
func (*NutanixCloudSpec) DeepCopy ¶
func (in *NutanixCloudSpec) DeepCopy() *NutanixCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCloudSpec.
func (*NutanixCloudSpec) DeepCopyInto ¶
func (in *NutanixCloudSpec) DeepCopyInto(out *NutanixCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCProviderConfiguration ¶ added in v2.22.0
type OIDCProviderConfiguration struct { // URL of the provider which allows the API server to discover public signing keys. IssuerURL string `json:"issuerURL"` // IssuerClientID is the application's ID. IssuerClientID string `json:"issuerClientID"` // IssuerClientSecret is the application's secret. IssuerClientSecret string `json:"issuerClientSecret"` // Optional: CookieHashKey is required, used to authenticate the cookie value using HMAC. // It is recommended to use a key with 32 or 64 bytes. // If not set, configuration is inherited from the default OIDC provider. CookieHashKey *string `json:"cookieHashKey,omitempty"` // Optional: CookieSecureMode if true then cookie received only with HTTPS otherwise with HTTP. // If not set, configuration is inherited from the default OIDC provider. CookieSecureMode *bool `json:"cookieSecureMode,omitempty"` // Optional: OfflineAccessAsScope if true then "offline_access" scope will be used // otherwise 'access_type=offline" query param will be passed. // If not set, configuration is inherited from the default OIDC provider. OfflineAccessAsScope *bool `json:"offlineAccessAsScope,omitempty"` // Optional: SkipTLSVerify skip TLS verification for the token issuer. // If not set, configuration is inherited from the default OIDC provider. SkipTLSVerify *bool `json:"skipTLSVerify,omitempty"` }
OIDCProviderConfiguration allows to configure OIDC provider at the Seed level. If set, it overwrites the OIDC configuration from the KubermaticConfiguration. OIDC is later used to configure: - access to User Cluster API-Servers (via user kubeconfigs) - https://kubernetes.io/docs/reference/access-authn-authz/authentication/#openid-connect-tokens, - access to User Cluster's Kubernetes Dashboards.
func (*OIDCProviderConfiguration) DeepCopy ¶ added in v2.22.0
func (in *OIDCProviderConfiguration) DeepCopy() *OIDCProviderConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCProviderConfiguration.
func (*OIDCProviderConfiguration) DeepCopyInto ¶ added in v2.22.0
func (in *OIDCProviderConfiguration) DeepCopyInto(out *OIDCProviderConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OIDCSettings ¶
type OIDCSettings struct { IssuerURL string `json:"issuerURL,omitempty"` ClientID string `json:"clientID,omitempty"` ClientSecret string `json:"clientSecret,omitempty"` UsernameClaim string `json:"usernameClaim,omitempty"` GroupsClaim string `json:"groupsClaim,omitempty"` RequiredClaim string `json:"requiredClaim,omitempty"` ExtraScopes string `json:"extraScopes,omitempty"` UsernamePrefix string `json:"usernamePrefix,omitempty"` GroupsPrefix string `json:"groupsPrefix,omitempty"` }
OIDCSettings contains OIDC configuration parameters for enabling authentication mechanism for the cluster.
func (*OIDCSettings) DeepCopy ¶
func (in *OIDCSettings) DeepCopy() *OIDCSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OIDCSettings.
func (*OIDCSettings) DeepCopyInto ¶
func (in *OIDCSettings) DeepCopyInto(out *OIDCSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OPAIntegrationSettings ¶
type OPAIntegrationSettings struct { // Enables OPA Gatekeeper integration. Enabled bool `json:"enabled,omitempty"` // The timeout in seconds that is set for the Gatekeeper validating webhook admission review calls. // Defaults to `10` (seconds). WebhookTimeoutSeconds *int32 `json:"webhookTimeoutSeconds,omitempty"` // Optional: Enables experimental mutation in Gatekeeper. ExperimentalEnableMutation bool `json:"experimentalEnableMutation,omitempty"` // Optional: ControllerResources is the resource requirements for user cluster gatekeeper controller. ControllerResources *corev1.ResourceRequirements `json:"controllerResources,omitempty"` // Optional: AuditResources is the resource requirements for user cluster gatekeeper audit. AuditResources *corev1.ResourceRequirements `json:"auditResources,omitempty"` }
OPAIntegrationSettings configures the usage of OPA (Open Policy Agent) Gatekeeper inside the user cluster.
func (*OPAIntegrationSettings) DeepCopy ¶
func (in *OPAIntegrationSettings) DeepCopy() *OPAIntegrationSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OPAIntegrationSettings.
func (*OPAIntegrationSettings) DeepCopyInto ¶
func (in *OPAIntegrationSettings) DeepCopyInto(out *OPAIntegrationSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSVersions ¶ added in v2.22.0
OSVersions defines a map of OS version and the source to download the image.
func (OSVersions) DeepCopy ¶ added in v2.22.0
func (in OSVersions) DeepCopy() OSVersions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSVersions.
func (OSVersions) DeepCopyInto ¶ added in v2.22.0
func (in OSVersions) DeepCopyInto(out *OSVersions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpaOptions ¶
type OpaOptions struct { Enabled bool `json:"enabled,omitempty"` Enforced bool `json:"enforced,omitempty"` }
func (*OpaOptions) DeepCopy ¶
func (in *OpaOptions) DeepCopy() *OpaOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpaOptions.
func (*OpaOptions) DeepCopyInto ¶
func (in *OpaOptions) DeepCopyInto(out *OpaOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenStack ¶ added in v2.22.0
type OpenStack struct { // EnforceCustomDisk will enforce the custom disk option for machines for the dashboard. EnforceCustomDisk bool `json:"enforceCustomDisk,omitempty"` }
func (*OpenStack) DeepCopy ¶ added in v2.22.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenStack.
func (*OpenStack) DeepCopyInto ¶ added in v2.22.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Openstack ¶
type Openstack struct { ProviderPreset `json:",inline"` UseToken bool `json:"useToken,omitempty"` ApplicationCredentialID string `json:"applicationCredentialID,omitempty"` ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` // Project, formally known as tenant. Project string `json:"project,omitempty"` // ProjectID, formally known as tenantID. ProjectID string `json:"projectID,omitempty"` Domain string `json:"domain"` // Network holds the name of the internal network When specified, all worker nodes will be attached to this network. If not specified, a network, subnet & router will be created. Network string `json:"network,omitempty"` SecurityGroups string `json:"securityGroups,omitempty"` // FloatingIPPool holds the name of the public network The public network is reachable from the outside world and should provide the pool of IP addresses to choose from. FloatingIPPool string `json:"floatingIPPool,omitempty"` RouterID string `json:"routerID,omitempty"` SubnetID string `json:"subnetID,omitempty"` }
func (*Openstack) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Openstack.
func (*Openstack) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenstackCloudSpec ¶
type OpenstackCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` // project, formally known as tenant. Project string `json:"project,omitempty"` // project id, formally known as tenantID. ProjectID string `json:"projectID,omitempty"` Domain string `json:"domain,omitempty"` ApplicationCredentialID string `json:"applicationCredentialID,omitempty"` ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"` UseToken bool `json:"useToken,omitempty"` // Used internally during cluster creation Token string `json:"token,omitempty"` // Network holds the name of the internal network // When specified, all worker nodes will be attached to this network. If not specified, a network, subnet & router will be created. // // Note that the network is internal if the "External" field is set to false Network string `json:"network"` SecurityGroups string `json:"securityGroups"` // A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"` // Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if // the security group is generated by KKP and not preexisting. // If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere. NodePortsAllowedIPRanges *NetworkRanges `json:"nodePortsAllowedIPRanges,omitempty"` // FloatingIPPool holds the name of the public network // The public network is reachable from the outside world // and should provide the pool of IP addresses to choose from. // // When specified, all worker nodes will receive a public ip from this floating ip pool // // Note that the network is external if the "External" field is set to true FloatingIPPool string `json:"floatingIPPool"` RouterID string `json:"routerID"` SubnetID string `json:"subnetID"` // IPv6SubnetID holds the ID of the subnet used for IPv6 networking. // If not provided, a new subnet will be created if IPv6 is enabled. // +optional IPv6SubnetID string `json:"ipv6SubnetID,omitempty"` // IPv6SubnetPool holds the name of the subnet pool used for creating new IPv6 subnets. // If not provided, the default IPv6 subnet pool will be used. // +optional IPv6SubnetPool string `json:"ipv6SubnetPool,omitempty"` // Whether or not to use Octavia for LoadBalancer type of Service // implementation instead of using Neutron-LBaaS. // Attention:Openstack CCM use Octavia as default load balancer // implementation since v1.17.0 // // Takes precedence over the 'use_octavia' flag provided at datacenter // level if both are specified. // +optional UseOctavia *bool `json:"useOctavia,omitempty"` // Enable the `enable-ingress-hostname` cloud provider option on the Openstack CCM. Can only be used with the // external CCM and might be deprecated and removed in future versions as it is considered a workaround for the PROXY // protocol to preserve client IPs. // +optional EnableIngressHostname *bool `json:"enableIngressHostname,omitempty"` // Set a specific suffix for the hostnames used for the PROXY protocol workaround that is enabled by EnableIngressHostname. // The suffix is set to `nip.io` by default. Can only be used with the external CCM and might be deprecated and removed in // future versions as it is considered a workaround only. IngressHostnameSuffix *string `json:"ingressHostnameSuffix,omitempty"` // Flag to configure enablement of topology support for the Cinder CSI plugin. // This requires Nova and Cinder to have matching availability zones configured. // +optional CinderTopologyEnabled bool `json:"cinderTopologyEnabled,omitempty"` }
OpenstackCloudSpec specifies access data to an OpenStack cloud.
func (*OpenstackCloudSpec) DeepCopy ¶
func (in *OpenstackCloudSpec) DeepCopy() *OpenstackCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenstackCloudSpec.
func (*OpenstackCloudSpec) DeepCopyInto ¶
func (in *OpenstackCloudSpec) DeepCopyInto(out *OpenstackCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpenstackNodeSizeRequirements ¶
type OpenstackNodeSizeRequirements struct { // VCPUs is the minimum required amount of (virtual) CPUs MinimumVCPUs int `json:"minimumVCPUs,omitempty"` //nolint:tagliatelle // MinimumMemory is the minimum required amount of memory, measured in MB MinimumMemory int `json:"minimumMemory,omitempty"` }
func (*OpenstackNodeSizeRequirements) DeepCopy ¶
func (in *OpenstackNodeSizeRequirements) DeepCopy() *OpenstackNodeSizeRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenstackNodeSizeRequirements.
func (*OpenstackNodeSizeRequirements) DeepCopyInto ¶
func (in *OpenstackNodeSizeRequirements) DeepCopyInto(out *OpenstackNodeSizeRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatingSystemManager ¶ added in v2.20.5
type OperatingSystemManager struct { // ImageRepository is used to override the OperatingSystemManager image repository. // It is recommended to use this field only for development, tests and PoC purposes. For production environments. // it is not recommended, to use this field due to compatibility with the overall KKP stack. ImageRepository string `json:"imageRepository,omitempty"` // ImageTag is used to override the OperatingSystemManager image. // It is recommended to use this field only for development, tests and PoC purposes. For production environments. // it is not recommended, to use this field due to compatibility with the overall KKP stack. ImageTag string `json:"imageTag,omitempty"` }
OperatingSystemManager configures the image repo and the tag version for osm deployment.
func (*OperatingSystemManager) DeepCopy ¶ added in v2.20.5
func (in *OperatingSystemManager) DeepCopy() *OperatingSystemManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemManager.
func (*OperatingSystemManager) DeepCopyInto ¶ added in v2.20.5
func (in *OperatingSystemManager) DeepCopyInto(out *OperatingSystemManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperatingSystemProfileList ¶ added in v2.22.0
type OperatingSystemProfileList map[providerconfig.OperatingSystem]string
OperatingSystemProfileList defines a map of operating system and the OperatingSystemProfile to use.
func (OperatingSystemProfileList) DeepCopy ¶ added in v2.22.0
func (in OperatingSystemProfileList) DeepCopy() OperatingSystemProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperatingSystemProfileList.
func (OperatingSystemProfileList) DeepCopyInto ¶ added in v2.22.0
func (in OperatingSystemProfileList) DeepCopyInto(out *OperatingSystemProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationType ¶
type OperationType string
OperationType is the type defining the operations triggering the compatibility check (CREATE or UPDATE).
const ( // CreateOperation represents the creation of a new cluster. CreateOperation OperationType = "CREATE" // UpdateOperation represents the update of an existing cluster. UpdateOperation OperationType = "UPGRADE" // SupportOperation represents the possibility to enable a new feature on an existing cluster. SupportOperation OperationType = "SUPPORT" )
type Packet ¶
type Packet struct { ProviderPreset `json:",inline"` APIKey string `json:"apiKey"` ProjectID string `json:"projectID"` BillingCycle string `json:"billingCycle,omitempty"` }
func (*Packet) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Packet.
func (*Packet) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PacketCloudSpec ¶
type PacketCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` APIKey string `json:"apiKey,omitempty"` ProjectID string `json:"projectID,omitempty"` BillingCycle string `json:"billingCycle"` }
PacketCloudSpec specifies access data to a Packet cloud.
func (*PacketCloudSpec) DeepCopy ¶
func (in *PacketCloudSpec) DeepCopy() *PacketCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PacketCloudSpec.
func (*PacketCloudSpec) DeepCopyInto ¶
func (in *PacketCloudSpec) DeepCopyInto(out *PacketCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Parameters ¶
type Parameters map[string]json.RawMessage
func (Parameters) DeepCopy ¶
func (in Parameters) DeepCopy() Parameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Parameters.
func (Parameters) DeepCopyInto ¶
func (in Parameters) DeepCopyInto(out *Parameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PreAllocatedDataVolume ¶ added in v2.21.0
type PreAllocatedDataVolume struct { Name string `json:"name"` Annotations map[string]string `json:"annotations,omitempty"` URL string `json:"url"` Size string `json:"size"` StorageClass string `json:"storageClass"` }
func (*PreAllocatedDataVolume) DeepCopy ¶ added in v2.21.0
func (in *PreAllocatedDataVolume) DeepCopy() *PreAllocatedDataVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PreAllocatedDataVolume.
func (*PreAllocatedDataVolume) DeepCopyInto ¶ added in v2.21.0
func (in *PreAllocatedDataVolume) DeepCopyInto(out *PreAllocatedDataVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Preset ¶
type Preset struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PresetSpec `json:"spec"` }
Presets are preconfigured cloud provider credentials that can be applied to new clusters. This frees end users from having to know the actual credentials used for their clusters.
func (*Preset) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Preset.
func (*Preset) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Preset) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PresetInvalidationReason ¶ added in v2.21.0
type PresetInvalidationReason string
+kubebuilder:validation:Enum=deleted;changed
type PresetList ¶
type PresetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // List of presets Items []Preset `json:"items"` }
PresetList is the type representing a PresetList.
func (*PresetList) DeepCopy ¶
func (in *PresetList) DeepCopy() *PresetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PresetList.
func (*PresetList) DeepCopyInto ¶
func (in *PresetList) DeepCopyInto(out *PresetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PresetList) DeepCopyObject ¶
func (in *PresetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PresetSpec ¶
type PresetSpec struct { // Access data for DigitalOcean. Digitalocean *Digitalocean `json:"digitalocean,omitempty"` // Access data for Hetzner. Hetzner *Hetzner `json:"hetzner,omitempty"` // Access data for Microsoft Azure Cloud. Azure *Azure `json:"azure,omitempty"` // Access data for vSphere. VSphere *VSphere `json:"vsphere,omitempty"` // Access data for Amazon Web Services(AWS) Cloud. AWS *AWS `json:"aws,omitempty"` // Access data for OpenStack. Openstack *Openstack `json:"openstack,omitempty"` // Access data for Packet Cloud. Packet *Packet `json:"packet,omitempty"` // Access data for Google Cloud Platform(GCP). GCP *GCP `json:"gcp,omitempty"` // Access data for KuberVirt. Kubevirt *Kubevirt `json:"kubevirt,omitempty"` // Access data for Alibaba Cloud. Alibaba *Alibaba `json:"alibaba,omitempty"` // Access data for Anexia. Anexia *Anexia `json:"anexia,omitempty"` // Access data for Nutanix. Nutanix *Nutanix `json:"nutanix,omitempty"` // Access data for VMware Cloud Director. VMwareCloudDirector *VMwareCloudDirector `json:"vmwareclouddirector,omitempty"` // Access data for Google Kubernetes Engine(GKE). GKE *GKE `json:"gke,omitempty"` // Access data for Amazon Elastic Kubernetes Service(EKS). EKS *EKS `json:"eks,omitempty"` // Access data for Azure Kubernetes Service(AKS). AKS *AKS `json:"aks,omitempty"` Fake *Fake `json:"fake,omitempty"` // RequiredEmails is a list of e-mail addresses that this presets should // be restricted to. Each item in the list can be either a full e-mail // address or just a domain name. This restriction is only enforced in the // KKP API. RequiredEmails []string `json:"requiredEmails,omitempty"` // Projects is a list of project IDs that this preset is limited to. Projects []string `json:"projects,omitempty"` // Only enabled presets will be available in the KKP dashboard. Enabled *bool `json:"enabled,omitempty"` }
Presets specifies default presets for supported providers.
func (*PresetSpec) DeepCopy ¶
func (in *PresetSpec) DeepCopy() *PresetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PresetSpec.
func (*PresetSpec) DeepCopyInto ¶
func (in *PresetSpec) DeepCopyInto(out *PresetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PresetSpec) IsEnabled ¶
func (s PresetSpec) IsEnabled() bool
func (*PresetSpec) SetEnabled ¶
func (s *PresetSpec) SetEnabled(enabled bool)
type Project ¶
type Project struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the configuration of the project. Spec ProjectSpec `json:"spec,omitempty"` // Status holds the current status of the project. Status ProjectStatus `json:"status,omitempty"` }
Project is the type describing a project. A project is a collection of SSH keys, clusters and members. Members are assigned by creating UserProjectBinding objects.
func (*Project) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Project.
func (*Project) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Project) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProjectGroup ¶
ProjectGroup is a helper data structure that stores the information about a project and a group that a user belongs to.
func (*ProjectGroup) DeepCopy ¶
func (in *ProjectGroup) DeepCopy() *ProjectGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectGroup.
func (*ProjectGroup) DeepCopyInto ¶
func (in *ProjectGroup) DeepCopyInto(out *ProjectGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectList ¶
type ProjectList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of the projects. Items []Project `json:"items"` }
ProjectList is a collection of projects.
func (*ProjectList) DeepCopy ¶
func (in *ProjectList) DeepCopy() *ProjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectList.
func (*ProjectList) DeepCopyInto ¶
func (in *ProjectList) DeepCopyInto(out *ProjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProjectList) DeepCopyObject ¶
func (in *ProjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProjectPhase ¶
type ProjectPhase string
const ( // ProjectActive means the project is available for use in the system. ProjectActive ProjectPhase = "Active" // ProjectInactive means the project is inactive and requires further initialization. ProjectInactive ProjectPhase = "Inactive" // ProjectTerminating means the project is undergoing graceful termination. ProjectTerminating ProjectPhase = "Terminating" )
These are the valid phases of a project.
type ProjectSpec ¶
type ProjectSpec struct { // Name is the human-readable name given to the project. Name string `json:"name"` }
ProjectSpec is a specification of a project.
func (*ProjectSpec) DeepCopy ¶
func (in *ProjectSpec) DeepCopy() *ProjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectSpec.
func (*ProjectSpec) DeepCopyInto ¶
func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProjectStatus ¶
type ProjectStatus struct { // Phase describes the project phase. New projects are in the `Inactive` // phase; after being reconciled they move to `Active` and during deletion // they are `Terminating`. Phase ProjectPhase `json:"phase"` }
ProjectStatus represents the current status of a project.
func (*ProjectStatus) DeepCopy ¶
func (in *ProjectStatus) DeepCopy() *ProjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectStatus.
func (*ProjectStatus) DeepCopyInto ¶
func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderConfiguration ¶ added in v2.22.0
type ProviderConfiguration struct { // OpenStack are the configurations for openstack provider. OpenStack OpenStack `json:"openStack,omitempty"` // VMwareCloudDirector are the configurations for VMware Cloud Director provider. VMwareCloudDirector VMwareCloudDirectorSettings `json:"vmwareCloudDirector,omitempty"` }
func (*ProviderConfiguration) DeepCopy ¶ added in v2.22.0
func (in *ProviderConfiguration) DeepCopy() *ProviderConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderConfiguration.
func (*ProviderConfiguration) DeepCopyInto ¶ added in v2.22.0
func (in *ProviderConfiguration) DeepCopyInto(out *ProviderConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProviderPreset ¶
type ProviderPreset struct { // Only enabled presets will be available in the KKP dashboard. Enabled *bool `json:"enabled,omitempty"` // If datacenter is set, this preset is only applicable to the // configured datacenter. Datacenter string `json:"datacenter,omitempty"` }
func (*ProviderPreset) DeepCopy ¶
func (in *ProviderPreset) DeepCopy() *ProviderPreset
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProviderPreset.
func (*ProviderPreset) DeepCopyInto ¶
func (in *ProviderPreset) DeepCopyInto(out *ProviderPreset)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ProviderPreset) IsEnabled ¶
func (s ProviderPreset) IsEnabled() bool
type ProviderType ¶
type ProviderType string
+kubebuilder:validation:Enum=digitalocean;hetzner;azure;vsphere;aws;openstack;packet;gcp;kubevirt;nutanix;alibaba;anexia;fake;vmwareclouddirector
const ( // Constants defining known cloud providers. FakeCloudProvider ProviderType = "fake" AKSCloudProvider ProviderType = "aks" AlibabaCloudProvider ProviderType = "alibaba" AnexiaCloudProvider ProviderType = "anexia" AWSCloudProvider ProviderType = "aws" AzureCloudProvider ProviderType = "azure" BringYourOwnCloudProvider ProviderType = "bringyourown" EdgeCloudProvider ProviderType = "edge" DigitaloceanCloudProvider ProviderType = "digitalocean" EKSCloudProvider ProviderType = "eks" GCPCloudProvider ProviderType = "gcp" GKECloudProvider ProviderType = "gke" HetznerCloudProvider ProviderType = "hetzner" KubevirtCloudProvider ProviderType = "kubevirt" NutanixCloudProvider ProviderType = "nutanix" OpenstackCloudProvider ProviderType = "openstack" PacketCloudProvider ProviderType = "packet" VMwareCloudDirectorCloudProvider ProviderType = "vmwareclouddirector" VSphereCloudProvider ProviderType = "vsphere" DefaultSSHPort = 22 DefaultKubeletPort = 10250 DefaultKubeconfigFieldPath = "kubeconfig" )
func (ProviderType) IsIPv6KnownProvider ¶ added in v2.21.0
func (cloudProvider ProviderType) IsIPv6KnownProvider() bool
type ProxySettings ¶
type ProxySettings struct { // Optional: If set, this proxy will be configured for both HTTP and HTTPS. HTTPProxy *ProxyValue `json:"httpProxy,omitempty"` // Optional: If set this will be set as NO_PROXY environment variable on the node; // The value must be a comma-separated list of domains for which no proxy // should be used, e.g. "*.example.com,internal.dev". // Note that the in-cluster apiserver URL will be automatically prepended // to this value. NoProxy *ProxyValue `json:"noProxy,omitempty"` }
ProxySettings allow configuring a HTTP proxy for the controlplanes and nodes.
func (*ProxySettings) DeepCopy ¶
func (in *ProxySettings) DeepCopy() *ProxySettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProxySettings.
func (*ProxySettings) DeepCopyInto ¶
func (in *ProxySettings) DeepCopyInto(out *ProxySettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProxySettings) Empty ¶
func (p *ProxySettings) Empty() bool
Empty returns true if p or all of its children are nil or empty strings.
func (*ProxySettings) Merge ¶
func (p *ProxySettings) Merge(dst *ProxySettings)
Merge applies the settings from p into dst if the corresponding setting in dst is nil or an empty string.
type ProxyValue ¶
type ProxyValue string
func NewProxyValue ¶
func NewProxyValue(value string) *ProxyValue
func (*ProxyValue) Empty ¶
func (p *ProxyValue) Empty() bool
func (*ProxyValue) String ¶
func (p *ProxyValue) String() string
type ResourceDetails ¶ added in v2.21.0
type ResourceDetails struct { // CPU holds the quantity of CPU. For the format, please check k8s.io/apimachinery/pkg/api/resource.Quantity. CPU *resource.Quantity `json:"cpu,omitempty"` // Memory represents the quantity of RAM size. For the format, please check k8s.io/apimachinery/pkg/api/resource.Quantity. Memory *resource.Quantity `json:"memory,omitempty"` // Storage represents the disk size. For the format, please check k8s.io/apimachinery/pkg/api/resource.Quantity. Storage *resource.Quantity `json:"storage,omitempty"` }
ResourceDetails holds the CPU, Memory and Storage quantities.
func NewResourceDetails ¶ added in v2.21.0
func NewResourceDetails(cpu, memory, storage resource.Quantity) *ResourceDetails
func (*ResourceDetails) DeepCopy ¶ added in v2.21.0
func (in *ResourceDetails) DeepCopy() *ResourceDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceDetails.
func (*ResourceDetails) DeepCopyInto ¶ added in v2.21.0
func (in *ResourceDetails) DeepCopyInto(out *ResourceDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ResourceDetails) IsEmpty ¶ added in v2.22.0
func (r ResourceDetails) IsEmpty() bool
type ResourceQuota ¶ added in v2.21.0
type ResourceQuota struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the desired state of the resource quota. Spec ResourceQuotaSpec `json:"spec,omitempty"` // Status holds the current state of the resource quota. Status ResourceQuotaStatus `json:"status,omitempty"` }
ResourceQuota specifies the amount of cluster resources a project can use.
func (*ResourceQuota) DeepCopy ¶ added in v2.21.0
func (in *ResourceQuota) DeepCopy() *ResourceQuota
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuota.
func (*ResourceQuota) DeepCopyInto ¶ added in v2.21.0
func (in *ResourceQuota) DeepCopyInto(out *ResourceQuota)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceQuota) DeepCopyObject ¶ added in v2.21.0
func (in *ResourceQuota) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceQuotaList ¶ added in v2.21.0
type ResourceQuotaList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of the resource quotas. Items []ResourceQuota `json:"items"` }
ResourceQuotaList is a collection of resource quotas.
func (*ResourceQuotaList) DeepCopy ¶ added in v2.21.0
func (in *ResourceQuotaList) DeepCopy() *ResourceQuotaList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotaList.
func (*ResourceQuotaList) DeepCopyInto ¶ added in v2.21.0
func (in *ResourceQuotaList) DeepCopyInto(out *ResourceQuotaList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceQuotaList) DeepCopyObject ¶ added in v2.21.0
func (in *ResourceQuotaList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceQuotaSpec ¶ added in v2.21.0
type ResourceQuotaSpec struct { // Subject specifies to which entity the quota applies to. Subject Subject `json:"subject"` // Quota specifies the current maximum allowed usage of resources. Quota ResourceDetails `json:"quota"` }
ResourceQuotaSpec describes the desired state of a resource quota.
func (*ResourceQuotaSpec) DeepCopy ¶ added in v2.21.0
func (in *ResourceQuotaSpec) DeepCopy() *ResourceQuotaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotaSpec.
func (*ResourceQuotaSpec) DeepCopyInto ¶ added in v2.21.0
func (in *ResourceQuotaSpec) DeepCopyInto(out *ResourceQuotaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceQuotaStatus ¶ added in v2.21.0
type ResourceQuotaStatus struct { // GlobalUsage is holds the current usage of resources for all seeds. GlobalUsage ResourceDetails `json:"globalUsage,omitempty"` // LocalUsage is holds the current usage of resources for the local seed. LocalUsage ResourceDetails `json:"localUsage,omitempty"` }
ResourceQuotaStatus describes the current state of a resource quota.
func (*ResourceQuotaStatus) DeepCopy ¶ added in v2.21.0
func (in *ResourceQuotaStatus) DeepCopy() *ResourceQuotaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceQuotaStatus.
func (*ResourceQuotaStatus) DeepCopyInto ¶ added in v2.21.0
func (in *ResourceQuotaStatus) DeepCopyInto(out *ResourceQuotaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuleGroup ¶
type RuleGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RuleGroupSpec `json:"spec,omitempty"` }
func (*RuleGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleGroup.
func (*RuleGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RuleGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RuleGroupList ¶
type RuleGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RuleGroup `json:"items"` }
func (*RuleGroupList) DeepCopy ¶
func (in *RuleGroupList) DeepCopy() *RuleGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleGroupList.
func (*RuleGroupList) DeepCopyInto ¶
func (in *RuleGroupList) DeepCopyInto(out *RuleGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RuleGroupList) DeepCopyObject ¶
func (in *RuleGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RuleGroupSpec ¶
type RuleGroupSpec struct { // IsDefault indicates whether the ruleGroup is default IsDefault bool `json:"isDefault,omitempty"` // RuleGroupType is the type of this ruleGroup applies to. It can be `Metrics` or `Logs`. RuleGroupType RuleGroupType `json:"ruleGroupType"` // Cluster is the reference to the cluster the ruleGroup should be created in. All fields // except for the name are ignored. Cluster corev1.ObjectReference `json:"cluster"` // Data contains the RuleGroup data. Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group Data []byte `json:"data"` }
func (*RuleGroupSpec) DeepCopy ¶
func (in *RuleGroupSpec) DeepCopy() *RuleGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleGroupSpec.
func (*RuleGroupSpec) DeepCopyInto ¶
func (in *RuleGroupSpec) DeepCopyInto(out *RuleGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RuleGroupType ¶
type RuleGroupType string
const ( // RuleGroupTypeMetrics means the RuleGroup defines the rules to generate alerts from metrics. RuleGroupTypeMetrics RuleGroupType = "Metrics" // RuleGroupTypeLogs means the RuleGroup defines the rules to generate alerts from logs. RuleGroupTypeLogs RuleGroupType = "Logs" )
type SSHKeySpec ¶
type SSHKeySpec struct { // Name is the human readable name for this SSH key. Name string `json:"name"` // Owner is the name of the User object that owns this SSH key. // Deprecated: This field is not used anymore. // +optional Owner string `json:"owner,omitempty"` // Project is the name of the Project object that this SSH key belongs to. // This field is immutable. Project string `json:"project"` // Clusters is the list of cluster names that this SSH key is assigned to. Clusters []string `json:"clusters"` // Fingerprint is calculated server-side based on the supplied public key // and doesn't need to be set by clients. // +optional Fingerprint string `json:"fingerprint"` // PublicKey is the SSH public key. PublicKey string `json:"publicKey"` }
func (*SSHKeySpec) DeepCopy ¶
func (in *SSHKeySpec) DeepCopy() *SSHKeySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKeySpec.
func (*SSHKeySpec) DeepCopyInto ¶
func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretboxEncryptionConfiguration ¶ added in v2.21.0
type SecretboxEncryptionConfiguration struct { // List of 'secretbox' encryption keys. The first element of this list is considered // the "primary" key which will be used for encrypting data while writing it. Additional // keys will be used for decrypting data while reading it, if keys higher in the list // did not succeed in decrypting it. Keys []SecretboxKey `json:"keys"` }
SecretboxEncryptionConfiguration defines static key encryption based on the 'secretbox' solution for Kubernetes.
func (*SecretboxEncryptionConfiguration) DeepCopy ¶ added in v2.21.0
func (in *SecretboxEncryptionConfiguration) DeepCopy() *SecretboxEncryptionConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretboxEncryptionConfiguration.
func (*SecretboxEncryptionConfiguration) DeepCopyInto ¶ added in v2.21.0
func (in *SecretboxEncryptionConfiguration) DeepCopyInto(out *SecretboxEncryptionConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretboxKey ¶ added in v2.21.0
type SecretboxKey struct { // Identifier of a key, used in various places to refer to the key. Name string `json:"name"` // Value contains a 32-byte random key that is base64 encoded. This is the key used // for encryption. Can be generated via `head -c 32 /dev/urandom | base64`, for example. Value string `json:"value,omitempty"` // Instead of passing the sensitive encryption key via the `value` field, a secret can be // referenced. The key of the secret referenced here needs to hold a key equivalent to the `value` field. SecretRef *corev1.SecretKeySelector `json:"secretRef,omitempty"` }
SecretboxKey stores a key or key reference for encrypting Kubernetes API data at rest with a static key.
func (*SecretboxKey) DeepCopy ¶ added in v2.21.0
func (in *SecretboxKey) DeepCopy() *SecretboxKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretboxKey.
func (*SecretboxKey) DeepCopyInto ¶ added in v2.21.0
func (in *SecretboxKey) DeepCopyInto(out *SecretboxKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Seed ¶
type Seed struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes the configuration of the Seed cluster. Spec SeedSpec `json:"spec"` //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator // Status holds the runtime information of the Seed cluster. Status SeedStatus `json:"status,omitempty,omitgenyaml"` }
Seed is the type representing a Seed cluster. Seed clusters host the the control planes for KKP user clusters.
func (*Seed) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Seed.
func (*Seed) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Seed) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Seed) GetEtcdBackupDestination ¶ added in v2.20.0
func (s *Seed) GetEtcdBackupDestination(destinationName string) *BackupDestination
func (*Seed) IsDefaultEtcdAutomaticBackupEnabled ¶
IsDefaultEtcdAutomaticBackupEnabled returns true if etcd automatic backup with default destination is configured for the seed.
func (*Seed) IsEtcdAutomaticBackupEnabled ¶ added in v2.21.6
IsEtcdAutomaticBackupEnabled returns true if etcd automatic backup is configured for the seed.
func (*Seed) IsUpToDate ¶ added in v2.21.0
func (s *Seed) IsUpToDate(masterVersions kubermatic.Versions) bool
IsUpToDate returns true if the seed was successfully reconciled by the KKP operator, meaning it has the same CRDs and controller versions than the master.
func (*Seed) SetDefaults ¶
func (s *Seed) SetDefaults()
func (*Seed) SetKubermaticVersion ¶ added in v2.21.0
func (s *Seed) SetKubermaticVersion(masterVersions kubermatic.Versions)
type SeedCondition ¶ added in v2.21.0
type SeedCondition struct { // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time we got an update on a given condition. LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"` // Last time the condition transit from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // (brief) reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
func (*SeedCondition) DeepCopy ¶ added in v2.21.0
func (in *SeedCondition) DeepCopy() *SeedCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedCondition.
func (*SeedCondition) DeepCopyInto ¶ added in v2.21.0
func (in *SeedCondition) DeepCopyInto(out *SeedCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedConditionType ¶ added in v2.21.0
type SeedConditionType string
SeedConditionType is used to indicate the type of a seed condition. For all condition types, the `true` value must indicate success. All condition types must be registered within the `AllSeedConditionTypes` variable.
const ( // SeedConditionKubeconfigValid indicates that the configured kubeconfig for the seed is valid. // The seed-sync controller manages this condition. SeedConditionKubeconfigValid SeedConditionType = "KubeconfigValid" // SeedConditionResourcesReconciled indicates that the KKP operator has finished setting up the // resources inside the seed cluster. SeedConditionResourcesReconciled SeedConditionType = "ResourcesReconciled" // SeedConditionClusterInitialized indicates that the KKP operator has finished setting up the // CRDs and other prerequisites on the Seed cluster. After this condition is true, other // controllers can begin to create watches and reconcile resources (i.e. this condition is // a precondition to ResourcesReconciled). Once this condition is true, it is never set to false // again. SeedConditionClusterInitialized SeedConditionType = "ClusterInitialized" )
type SeedList ¶
type SeedList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // List of seeds Items []Seed `json:"items"` }
SeedDatacenterList is the type representing a SeedDatacenterList.
func (*SeedList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedList.
func (*SeedList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SeedList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SeedMLASettings ¶
type SeedMLASettings struct { // Optional: UserClusterMLAEnabled controls whether the user cluster MLA (Monitoring, Logging & Alerting) stack is enabled in the seed. UserClusterMLAEnabled bool `json:"userClusterMLAEnabled,omitempty"` //nolint:tagliatelle }
SeedMLASettings allow configuring seed level MLA (Monitoring, Logging & Alerting) stack settings.
func (*SeedMLASettings) DeepCopy ¶
func (in *SeedMLASettings) DeepCopy() *SeedMLASettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedMLASettings.
func (*SeedMLASettings) DeepCopyInto ¶
func (in *SeedMLASettings) DeepCopyInto(out *SeedMLASettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedPhase ¶ added in v2.21.0
type SeedPhase string
const ( // SeedHealthyPhase means the seed is reachable and was successfully reconciled. SeedHealthyPhase SeedPhase = "Healthy" // SeedUnhealthyPhase means the KKP resources on the seed cluster could not be // successfully reconciled. SeedUnhealthyPhase SeedPhase = "Unhealthy" // SeedInvalidPhase means the seed kubeconfig is defunct. SeedInvalidPhase SeedPhase = "Invalid" // SeedTerminatingPhase means the seed is currently being deleted. SeedTerminatingPhase SeedPhase = "Terminating" // SeedPausedPhase means the seed is not being reconciled because the SkipReconciling // annotation is set. SeedPausedPhase SeedPhase = "Paused" )
These are the valid phases of a seed.
type SeedSpec ¶
type SeedSpec struct { // Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. // For informational purposes in the Kubermatic dashboard only. Country string `json:"country,omitempty"` // Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7". // For informational purposes in the Kubermatic dashboard only. Location string `json:"location,omitempty"` // A reference to the Kubeconfig of this cluster. The Kubeconfig must // have cluster-admin privileges. This field is mandatory for every // seed, even if there are no datacenters defined yet. Kubeconfig corev1.ObjectReference `json:"kubeconfig"` // Datacenters contains a map of the possible datacenters (DCs) in this seed. // Each DC must have a globally unique identifier (i.e. names must be unique // across all seeds). Datacenters map[string]Datacenter `json:"datacenters,omitempty"` // Optional: This can be used to override the DNS name used for this seed. // By default the seed name is used. SeedDNSOverwrite string `json:"seedDNSOverwrite,omitempty"` // NodeportProxy can be used to configure the NodePort proxy service that is // responsible for making user-cluster control planes accessible from the outside. NodeportProxy NodeportProxyConfig `json:"nodeportProxy,omitempty"` // Optional: ProxySettings can be used to configure HTTP proxy settings on the // worker nodes in user clusters. However, proxy settings on nodes take precedence. ProxySettings *ProxySettings `json:"proxySettings,omitempty"` // Optional: ExposeStrategy explicitly sets the expose strategy for this seed cluster, if not set, the default provided by the master is used. ExposeStrategy ExposeStrategy `json:"exposeStrategy,omitempty"` // Optional: MLA allows configuring seed level MLA (Monitoring, Logging & Alerting) stack settings. MLA *SeedMLASettings `json:"mla,omitempty"` // DefaultComponentSettings are default values to set for newly created clusters. // Deprecated: Use DefaultClusterTemplate instead. DefaultComponentSettings ComponentSettings `json:"defaultComponentSettings,omitempty"` // DefaultClusterTemplate is the name of a cluster template of scope "seed" that is used // to default all new created clusters DefaultClusterTemplate string `json:"defaultClusterTemplate,omitempty"` // Metering configures the metering tool on user clusters across the seed. Metering *MeteringConfiguration `json:"metering,omitempty"` // EtcdBackupRestore holds the configuration of the automatic etcd backup restores for the Seed; // if this is set, the new backup/restore controllers are enabled for this Seed. EtcdBackupRestore *EtcdBackupRestore `json:"etcdBackupRestore,omitempty"` // OIDCProviderConfiguration allows to configure OIDC provider at the Seed level. OIDCProviderConfiguration *OIDCProviderConfiguration `json:"oidcProviderConfiguration,omitempty"` // KubeLB holds the configuration for the kubeLB at the Seed level. This component is responsible for managing load balancers. // Only available in Enterprise Edition. // //nolint:staticcheck //lint:ignore SA5008 omitcegenyaml is used by the example-yaml-generator KubeLB *KubeLBSettings `json:"kubelb,omitempty,omitcegenyaml"` }
The spec for a seed cluster.
func (*SeedSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedSpec.
func (*SeedSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeedStatus ¶ added in v2.21.0
type SeedStatus struct { // Phase contains a human readable text to indicate the seed cluster status. No logic should be tied // to this field, as its content can change in between KKP releases. Phase SeedPhase `json:"phase,omitempty"` // Clusters is the total number of user clusters that exist on this seed. Clusters int `json:"clusters"` // Versions contains information regarding versions of components in the cluster and the cluster // itself. // +optional Versions SeedVersionsStatus `json:"versions,omitempty"` // Conditions contains conditions the seed is in, its primary use case is status signaling // between controllers or between controllers and the API. // +optional Conditions map[SeedConditionType]SeedCondition `json:"conditions,omitempty"` }
SeedStatus contains runtime information regarding the seed.
func (*SeedStatus) DeepCopy ¶ added in v2.21.0
func (in *SeedStatus) DeepCopy() *SeedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedStatus.
func (*SeedStatus) DeepCopyInto ¶ added in v2.21.0
func (in *SeedStatus) DeepCopyInto(out *SeedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SeedStatus) HasConditionValue ¶ added in v2.21.0
func (ss *SeedStatus) HasConditionValue(conditionType SeedConditionType, conditionStatus corev1.ConditionStatus) bool
HasConditionValue returns true if the seed status has the given condition with the given status.
func (*SeedStatus) IsInitialized ¶ added in v2.22.0
func (ss *SeedStatus) IsInitialized() bool
IsInitialized returns true if the seed cluster was successfully initialized and is ready for controllers to operate on it.
type SeedVersionsStatus ¶ added in v2.21.0
type SeedVersionsStatus struct { // Kubermatic is the version of the currently deployed KKP components. Note that a permanent // version skew between master and seed is not supported and KKP setups should never run for // longer times with a skew between the clusters. Kubermatic string `json:"kubermatic,omitempty"` // Cluster is the Kubernetes version of the cluster's control plane. Cluster string `json:"cluster,omitempty"` }
SeedVersionsStatus contains information regarding versions of components in the cluster and the cluster itself.
func (*SeedVersionsStatus) DeepCopy ¶ added in v2.21.0
func (in *SeedVersionsStatus) DeepCopy() *SeedVersionsStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeedVersionsStatus.
func (*SeedVersionsStatus) DeepCopyInto ¶ added in v2.21.0
func (in *SeedVersionsStatus) DeepCopyInto(out *SeedVersionsStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceAccountSettings ¶
type ServiceAccountSettings struct { TokenVolumeProjectionEnabled bool `json:"tokenVolumeProjectionEnabled,omitempty"` // Issuer is the identifier of the service account token issuer // If this is not specified, it will be set to the URL of apiserver by default Issuer string `json:"issuer,omitempty"` // APIAudiences are the Identifiers of the API // If this is not specified, it will be set to a single element list containing the issuer URL APIAudiences []string `json:"apiAudiences,omitempty"` }
func (*ServiceAccountSettings) DeepCopy ¶
func (in *ServiceAccountSettings) DeepCopy() *ServiceAccountSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountSettings.
func (*ServiceAccountSettings) DeepCopyInto ¶
func (in *ServiceAccountSettings) DeepCopyInto(out *ServiceAccountSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SettingSpec ¶
type SettingSpec struct { // CustomLinks are additional links that can be shown the dashboard's footer. CustomLinks CustomLinks `json:"customLinks"` // DefaultNodeCount is the default number of replicas for the initial MachineDeployment. DefaultNodeCount int8 `json:"defaultNodeCount"` // DisplayDemoInfo controls whether a "Demo System" hint is shown in the footer. DisplayDemoInfo bool `json:"displayDemoInfo"` // DisplayDemoInfo controls whether a a link to the KKP API documentation is shown in the footer. DisplayAPIDocs bool `json:"displayAPIDocs"` // DisplayDemoInfo controls whether a a link to TOS is shown in the footer. DisplayTermsOfService bool `json:"displayTermsOfService"` // EnableDashboard enables the link to the Kubernetes dashboard for a user cluster. EnableDashboard bool `json:"enableDashboard"` // EnableWebTerminal enables the Web Terminal feature for the user clusters. EnableWebTerminal bool `json:"enableWebTerminal,omitempty"` EnableShareCluster *bool `json:"enableShareCluster,omitempty"` EnableOIDCKubeconfig bool `json:"enableOIDCKubeconfig"` //nolint:tagliatelle // EnableClusterBackup enables the Cluster Backup feature in the dashboard. EnableClusterBackups *bool `json:"enableClusterBackup,omitempty"` // DisableAdminKubeconfig disables the admin kubeconfig functionality on the dashboard. DisableAdminKubeconfig bool `json:"disableAdminKubeconfig,omitempty"` // UserProjectsLimit is the maximum number of projects a user can create. UserProjectsLimit int64 `json:"userProjectsLimit"` RestrictProjectCreation bool `json:"restrictProjectCreation"` RestrictProjectDeletion bool `json:"restrictProjectDeletion"` EnableExternalClusterImport bool `json:"enableExternalClusterImport"` // CleanupOptions control what happens when a cluster is deleted via the dashboard. // +optional CleanupOptions CleanupOptions `json:"cleanupOptions,omitempty"` // +optional OpaOptions OpaOptions `json:"opaOptions,omitempty"` // +optional MlaOptions MlaOptions `json:"mlaOptions,omitempty"` MlaAlertmanagerPrefix string `json:"mlaAlertmanagerPrefix"` MlaGrafanaPrefix string `json:"mlaGrafanaPrefix"` // Notifications are the configuration for notifications on dashboard. // +optional Notifications NotificationsOptions `json:"notifications,omitempty"` // ProviderConfiguration are the cloud provider specific configurations on dashboard. // +optional ProviderConfiguration ProviderConfiguration `json:"providerConfiguration,omitempty"` // MachineDeploymentVMResourceQuota is used to filter out allowed machine flavors based on the specified resource limits like CPU, Memory, and GPU etc. MachineDeploymentVMResourceQuota *MachineFlavorFilter `json:"machineDeploymentVMResourceQuota,omitempty"` // AllowedOperatingSystems shows if the operating system is allowed to be use in the machinedeployment. AllowedOperatingSystems allowedOperatingSystems `json:"allowedOperatingSystems,omitempty"` // DefaultProjectResourceQuota allows to configure a default project resource quota which // will be set for all projects that do not have a custom quota already set. EE-version only. // +optional DefaultProjectResourceQuota *DefaultProjectResourceQuota `json:"defaultQuota,omitempty"` // +optional MachineDeploymentOptions MachineDeploymentOptions `json:"machineDeploymentOptions,omitempty"` // DisableChangelogPopup disables the changelog popup in KKP dashboard. DisableChangelogPopup bool `json:"disableChangelogPopup,omitempty"` }
func (*SettingSpec) DeepCopy ¶
func (in *SettingSpec) DeepCopy() *SettingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SettingSpec.
func (*SettingSpec) DeepCopyInto ¶
func (in *SettingSpec) DeepCopyInto(out *SettingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SettingSpec) HasDefaultProjectResourceQuota ¶ added in v2.22.0
func (s SettingSpec) HasDefaultProjectResourceQuota() bool
type StatefulSetSettings ¶
type StatefulSetSettings struct {
Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}
func (*StatefulSetSettings) DeepCopy ¶
func (in *StatefulSetSettings) DeepCopy() *StatefulSetSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatefulSetSettings.
func (*StatefulSetSettings) DeepCopyInto ¶
func (in *StatefulSetSettings) DeepCopyInto(out *StatefulSetSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subject ¶ added in v2.21.0
type Subject struct { // Name of the quota subject. Name string `json:"name"` // Kind of the quota subject. For now the only possible kind is project. Kind string `json:"kind"` }
Subject describes the entity to which the quota applies to.
func (*Subject) DeepCopy ¶ added in v2.21.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subject.
func (*Subject) DeepCopyInto ¶ added in v2.21.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetCIDR ¶ added in v2.21.0
type SubnetCIDR string
+kubebuilder:validation:Pattern="((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$))" SubnetCIDR is used to store IPv4/IPv6 CIDR.
type SystemApplicationsConfiguration ¶ added in v2.22.0
type SystemApplicationsConfiguration struct { // HelmRepository specifies OCI repository containing Helm charts of system Applications. HelmRepository string `json:"helmRepository,omitempty"` // HelmRegistryConfigFile optionally holds the ref and key in the secret for the OCI registry credential file. // The value is dockercfg file that follows the same format rules as ~/.docker/config.json // The Secret must exist in the namespace where KKP is installed (default is "kubermatic"). // The Secret must be annotated with `apps.kubermatic.k8c.io/secret-type:` set to "helm". HelmRegistryConfigFile *corev1.SecretKeySelector `json:"helmRegistryConfigFile,omitempty"` }
SystemApplicationsConfiguration contains configuration for system Applications (e.g. CNI).
func (*SystemApplicationsConfiguration) DeepCopy ¶ added in v2.22.0
func (in *SystemApplicationsConfiguration) DeepCopy() *SystemApplicationsConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemApplicationsConfiguration.
func (*SystemApplicationsConfiguration) DeepCopyInto ¶ added in v2.22.0
func (in *SystemApplicationsConfiguration) DeepCopyInto(out *SystemApplicationsConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Update ¶
type Update struct { // From is the version from which an update is allowed. Wildcards are allowed, e.g. "1.18.*". From string `json:"from,omitempty"` // To is the version to which an update is allowed. // Must be a valid version if `automatic` is set to true, e.g. "1.20.13". // Can be a wildcard otherwise, e.g. "1.20.*". To string `json:"to,omitempty"` // Automatic controls whether this update is executed automatically // for the control plane of all matching user clusters. // --- //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator Automatic *bool `json:"automatic,omitempty,omitgenyaml"` // Automatic controls whether this update is executed automatically // for the worker nodes of all matching user clusters. // --- //nolint:staticcheck //lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator AutomaticNodeUpdate *bool `json:"automaticNodeUpdate,omitempty,omitgenyaml"` }
Update represents an update option for a user cluster.
func (*Update) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Update.
func (*Update) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdateWindow ¶
type UpdateWindow struct { // Sets the start time of the update window. This can be a time of day in 24h format, e.g. `22:30`, // or a day of week plus a time of day, for example `Mon 21:00`. Only short names for week days are supported, // i.e. `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` and `Sun`. Start string `json:"start,omitempty"` // Sets the length of the update window beginning with the start time. This needs to be a valid duration // as parsed by Go's time.ParseDuration (https://pkg.go.dev/time#ParseDuration), e.g. `2h`. Length string `json:"length,omitempty"` }
UpdateWindow allows defining windows for maintenance tasks related to OS updates. This is only applied to cluster nodes using Flatcar Linux. The reference time for this is the node system time and might differ from the user's timezone, which needs to be considered when configuring a window.
func (*UpdateWindow) DeepCopy ¶
func (in *UpdateWindow) DeepCopy() *UpdateWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateWindow.
func (*UpdateWindow) DeepCopyInto ¶
func (in *UpdateWindow) DeepCopyInto(out *UpdateWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type User ¶
type User struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes a KKP user. Spec UserSpec `json:"spec,omitempty"` // Status holds the information about the KKP user. Status UserStatus `json:"status,omitempty"` }
User specifies a KKP user. Users can be either humans or KKP service accounts.
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*User) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*User) GetInvalidTokensReferenceSecretName ¶ added in v2.20.0
type UserList ¶
type UserList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of KKP users. Items []User `json:"items"` }
UserList is a list of users.
func (*UserList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.
func (*UserList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserProjectBinding ¶
type UserProjectBinding struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec describes a KKP user and project binding. Spec UserProjectBindingSpec `json:"spec,omitempty"` }
UserProjectBinding specifies a binding between a user and a project This resource is used by the user management to manipulate members of the given project.
func (*UserProjectBinding) DeepCopy ¶
func (in *UserProjectBinding) DeepCopy() *UserProjectBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserProjectBinding.
func (*UserProjectBinding) DeepCopyInto ¶
func (in *UserProjectBinding) DeepCopyInto(out *UserProjectBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserProjectBinding) DeepCopyObject ¶
func (in *UserProjectBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserProjectBindingList ¶
type UserProjectBindingList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of KKP user and project bindings. Items []UserProjectBinding `json:"items"` }
UserProjectBindingList is a list of KKP user and project bindings.
func (*UserProjectBindingList) DeepCopy ¶
func (in *UserProjectBindingList) DeepCopy() *UserProjectBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserProjectBindingList.
func (*UserProjectBindingList) DeepCopyInto ¶
func (in *UserProjectBindingList) DeepCopyInto(out *UserProjectBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserProjectBindingList) DeepCopyObject ¶
func (in *UserProjectBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserProjectBindingSpec ¶
type UserProjectBindingSpec struct { // UserEmail is the email of the user that is bound to the given project. UserEmail string `json:"userEmail"` // ProjectID is the name of the target project. ProjectID string `json:"projectID"` // Group is the user's group, determining their permissions within the project. // Must be one of `owners`, `editors`, `viewers` or `projectmanagers`. Group string `json:"group"` }
UserProjectBindingSpec specifies a user and project binding.
func (*UserProjectBindingSpec) DeepCopy ¶
func (in *UserProjectBindingSpec) DeepCopy() *UserProjectBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserProjectBindingSpec.
func (*UserProjectBindingSpec) DeepCopyInto ¶
func (in *UserProjectBindingSpec) DeepCopyInto(out *UserProjectBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserSSHKey ¶
type UserSSHKey struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SSHKeySpec `json:"spec,omitempty"` }
UserSSHKey specifies a users UserSSHKey.
func (*UserSSHKey) AddToCluster ¶
func (sk *UserSSHKey) AddToCluster(clustername string)
func (*UserSSHKey) DeepCopy ¶
func (in *UserSSHKey) DeepCopy() *UserSSHKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSSHKey.
func (*UserSSHKey) DeepCopyInto ¶
func (in *UserSSHKey) DeepCopyInto(out *UserSSHKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserSSHKey) DeepCopyObject ¶
func (in *UserSSHKey) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*UserSSHKey) IsUsedByCluster ¶
func (sk *UserSSHKey) IsUsedByCluster(clustername string) bool
func (*UserSSHKey) RemoveFromCluster ¶
func (sk *UserSSHKey) RemoveFromCluster(clustername string)
type UserSSHKeyList ¶
type UserSSHKeyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []UserSSHKey `json:"items"` }
UserSSHKeyList specifies a users UserSSHKey.
func (*UserSSHKeyList) DeepCopy ¶
func (in *UserSSHKeyList) DeepCopy() *UserSSHKeyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSSHKeyList.
func (*UserSSHKeyList) DeepCopyInto ¶
func (in *UserSSHKeyList) DeepCopyInto(out *UserSSHKeyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserSSHKeyList) DeepCopyObject ¶
func (in *UserSSHKeyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UserSettings ¶
type UserSettings struct { SelectedTheme string `json:"selectedTheme,omitempty"` ItemsPerPage int8 `json:"itemsPerPage,omitempty"` SelectedProjectID string `json:"selectedProjectID,omitempty"` SelectProjectTableView bool `json:"selectProjectTableView,omitempty"` DisplayAllProjectsForAdmin bool `json:"displayAllProjectsForAdmin,omitempty"` LastSeenChangelogVersion string `json:"lastSeenChangelogVersion,omitempty"` UseClustersView bool `json:"useClustersView,omitempty"` }
UserSettings represent an user settings.
func (*UserSettings) DeepCopy ¶
func (in *UserSettings) DeepCopy() *UserSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSettings.
func (*UserSettings) DeepCopyInto ¶
func (in *UserSettings) DeepCopyInto(out *UserSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserSpec ¶
type UserSpec struct { // ID is an unused legacy field. // Deprecated: do not set this field anymore. ID string `json:"id,omitempty"` // Name is the full name of this user. Name string `json:"name"` // Email is the email address of this user. Emails must be globally unique across // all KKP users. Email string `json:"email"` // IsAdmin defines whether this user is an administrator with additional permissions. // Admins can for example see all projects and clusters in the KKP dashboard. // +kubebuilder:default=false IsAdmin bool `json:"admin"` // Groups holds the information to which groups the user belongs to. Set automatically when logging in to the // KKP API, and used by the KKP API. Groups []string `json:"groups,omitempty"` // Project is the name of the project that this service account user is tied to. This // field is only applicable to service accounts and regular users must not set this field. // +optional Project string `json:"project,omitempty"` // Settings contains both user-configurable and system-owned configuration for the // KKP dashboard. Settings *UserSettings `json:"settings,omitempty"` // InvalidTokensReference is a reference to a Secret that contains invalidated // login tokens. The tokens are used to provide a safe logout mechanism. InvalidTokensReference *providerconfig.GlobalSecretKeySelector `json:"invalidTokensReference,omitempty"` }
UserSpec specifies a user.
func (*UserSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.
func (*UserSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UserStatus ¶
UserStatus stores status information about a user.
func (*UserStatus) DeepCopy ¶
func (in *UserStatus) DeepCopy() *UserStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.
func (*UserStatus) DeepCopyInto ¶
func (in *UserStatus) DeepCopyInto(out *UserStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMwareCloudDirector ¶ added in v2.21.0
type VMwareCloudDirector struct { ProviderPreset `json:",inline"` // The VMware Cloud Director user name. Username string `json:"username,omitempty"` // The VMware Cloud Director user password. Password string `json:"password,omitempty"` // The VMware Cloud Director API token. APIToken string `json:"apiToken,omitempty"` // The organizational virtual data center. VDC string `json:"vdc"` // The name of organization to use. Organization string `json:"organization"` // The name of organizational virtual data center network that will be associated with the VMs and vApp. // Deprecated: OVDCNetwork has been deprecated starting with KKP 2.25 and will be removed in KKP 2.27+. It is recommended to use OVDCNetworks instead. OVDCNetwork string `json:"ovdcNetwork,omitempty"` // OVDCNetworks is the list of organizational virtual data center networks that will be attached to the vApp and can be consumed the VMs. OVDCNetworks []string `json:"ovdcNetworks,omitempty"` }
func (*VMwareCloudDirector) DeepCopy ¶ added in v2.21.0
func (in *VMwareCloudDirector) DeepCopy() *VMwareCloudDirector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMwareCloudDirector.
func (*VMwareCloudDirector) DeepCopyInto ¶ added in v2.21.0
func (in *VMwareCloudDirector) DeepCopyInto(out *VMwareCloudDirector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VMwareCloudDirector) IsValid ¶ added in v2.21.0
func (s VMwareCloudDirector) IsValid() bool
type VMwareCloudDirectorCSIConfig ¶ added in v2.21.0
type VMwareCloudDirectorCSIConfig struct { // The name of the storage profile to use for disks created by CSI driver StorageProfile string `json:"storageProfile"` // Filesystem to use for named disks, defaults to "ext4" // +optional Filesystem string `json:"filesystem,omitempty"` }
func (*VMwareCloudDirectorCSIConfig) DeepCopy ¶ added in v2.21.0
func (in *VMwareCloudDirectorCSIConfig) DeepCopy() *VMwareCloudDirectorCSIConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMwareCloudDirectorCSIConfig.
func (*VMwareCloudDirectorCSIConfig) DeepCopyInto ¶ added in v2.21.0
func (in *VMwareCloudDirectorCSIConfig) DeepCopyInto(out *VMwareCloudDirectorCSIConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMwareCloudDirectorCloudSpec ¶ added in v2.21.0
type VMwareCloudDirectorCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The VMware Cloud Director user name. // +optional Username string `json:"username,omitempty"` // The VMware Cloud Director user password. // +optional Password string `json:"password,omitempty"` // The VMware Cloud Director API token. // +optional APIToken string `json:"apiToken,omitempty"` // The name of organization to use. // +optional Organization string `json:"organization,omitempty"` // The organizational virtual data center. // +optional VDC string `json:"vdc,omitempty"` // The name of organizational virtual data center network that will be associated with the VMs and vApp. // Deprecated: OVDCNetwork has been deprecated starting with KKP 2.25 and will be removed in KKP 2.27+. It is recommended to use OVDCNetworks instead. OVDCNetwork string `json:"ovdcNetwork,omitempty"` // OVDCNetworks is the list of organizational virtual data center networks that will be attached to the vApp and can be consumed the VMs. OVDCNetworks []string `json:"ovdcNetworks,omitempty"` // VApp used for isolation of VMs and their associated network // +optional VApp string `json:"vapp,omitempty"` // Config for CSI driver CSI *VMwareCloudDirectorCSIConfig `json:"csi"` }
VMwareCloudDirectorCloudSpec specifies access data to VMware Cloud Director cloud.
func (*VMwareCloudDirectorCloudSpec) DeepCopy ¶ added in v2.21.0
func (in *VMwareCloudDirectorCloudSpec) DeepCopy() *VMwareCloudDirectorCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMwareCloudDirectorCloudSpec.
func (*VMwareCloudDirectorCloudSpec) DeepCopyInto ¶ added in v2.21.0
func (in *VMwareCloudDirectorCloudSpec) DeepCopyInto(out *VMwareCloudDirectorCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMwareCloudDirectorSettings ¶ added in v2.25.0
type VMwareCloudDirectorSettings struct {
// IPAllocationModes are the allowed IP allocation modes for the VMware Cloud Director provider. If not set, all modes are allowed.
IPAllocationModes []ipAllocationMode `json:"ipAllocationModes,omitempty"`
}
func (*VMwareCloudDirectorSettings) DeepCopy ¶ added in v2.25.0
func (in *VMwareCloudDirectorSettings) DeepCopy() *VMwareCloudDirectorSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMwareCloudDirectorSettings.
func (*VMwareCloudDirectorSettings) DeepCopyInto ¶ added in v2.25.0
func (in *VMwareCloudDirectorSettings) DeepCopyInto(out *VMwareCloudDirectorSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphere ¶
type VSphere struct { ProviderPreset `json:",inline"` // The vSphere user name. Username string `json:"username"` // The vSphere user password. Password string `json:"password"` // Deprecated: Use networks instead. VMNetName string `json:"vmNetName,omitempty"` // List of vSphere networks. Networks []string `json:"networks,omitempty"` // Datastore to be used for storing virtual machines and as a default for dynamic volume provisioning, it is mutually exclusive with DatastoreCluster. Datastore string `json:"datastore,omitempty"` // DatastoreCluster to be used for storing virtual machines, it is mutually exclusive with Datastore. DatastoreCluster string `json:"datastoreCluster,omitempty"` // ResourcePool is used to manage resources such as cpu and memory for vSphere virtual machines. The resource pool should be defined on vSphere cluster level. ResourcePool string `json:"resourcePool,omitempty"` // BasePath configures a vCenter folder path that KKP will create an individual cluster folder in. // If it's an absolute path, the RootPath configured in the datacenter will be ignored. If it is a relative path, // the BasePath part will be appended to the RootPath to construct the full path. For both cases, // the full folder structure needs to exist. KKP will only try to create the cluster folder. BasePath string `json:"basePath,omitempty"` }
func (*VSphere) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphere.
func (*VSphere) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereCloudSpec ¶
type VSphereCloudSpec struct { CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"` // The vSphere user name. // +optional Username string `json:"username"` // The vSphere user password. // +optional Password string `json:"password"` // The name of the vSphere network. // Deprecated: Use networks instead. // +optional VMNetName string `json:"vmNetName,omitempty"` // List of vSphere networks. // +optional Networks []string `json:"networks,omitempty"` // Folder to be used to group the provisioned virtual // machines. // +optional Folder string `json:"folder"` // Optional: BasePath configures a vCenter folder path that KKP will create an individual cluster folder in. // If it's an absolute path, the RootPath configured in the datacenter will be ignored. If it is a relative path, // the BasePath part will be appended to the RootPath to construct the full path. For both cases, // the full folder structure needs to exist. KKP will only try to create the cluster folder. // +optional BasePath string `json:"basePath,omitempty"` // Datastore to be used for storing virtual machines and as a default for // dynamic volume provisioning, it is mutually exclusive with // DatastoreCluster. // +optional Datastore string `json:"datastore,omitempty"` // DatastoreCluster to be used for storing virtual machines, it is mutually // exclusive with Datastore. // +optional DatastoreCluster string `json:"datastoreCluster,omitempty"` // StoragePolicy to be used for storage provisioning StoragePolicy string `json:"storagePolicy"` // ResourcePool is used to manage resources such as cpu and memory for vSphere virtual machines. The resource pool // should be defined on vSphere cluster level. // +optional ResourcePool string `json:"resourcePool,omitempty"` // This user will be used for everything except cloud provider functionality InfraManagementUser VSphereCredentials `json:"infraManagementUser"` // Tags represents the tags that are attached or created on the cluster level, that are then propagated down to the // MachineDeployments. In order to attach tags on MachineDeployment, users must create the tag on a cluster level first // then attach that tag on the MachineDeployment. Tags *VSphereTag `json:"tags,omitempty"` }
VSphereCloudSpec specifies access data to VSphere cloud.
func (*VSphereCloudSpec) DeepCopy ¶
func (in *VSphereCloudSpec) DeepCopy() *VSphereCloudSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereCloudSpec.
func (*VSphereCloudSpec) DeepCopyInto ¶
func (in *VSphereCloudSpec) DeepCopyInto(out *VSphereCloudSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereCredentials ¶
type VSphereCredentials struct { Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` }
VSphereCredentials credentials represents a credential for accessing vSphere.
func (*VSphereCredentials) DeepCopy ¶
func (in *VSphereCredentials) DeepCopy() *VSphereCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereCredentials.
func (*VSphereCredentials) DeepCopyInto ¶
func (in *VSphereCredentials) DeepCopyInto(out *VSphereCredentials)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VSphereTag ¶ added in v2.22.0
type VSphereTag struct { // Tags represents the name of the created tags. Tags []string `json:"tags"` // CategoryID is the id of the vsphere category that the tag belongs to. If the category id is left empty, the default // category id for the cluster will be used. CategoryID string `json:"categoryID,omitempty"` }
VSphereTag represents the tags that are attached or created on the cluster level, that are then propagated down to the MachineDeployments. In order to attach tags on MachineDeployment, users must create the tag on a cluster level first then attach that tag on the MachineDeployment.
func (*VSphereTag) DeepCopy ¶ added in v2.22.0
func (in *VSphereTag) DeepCopy() *VSphereTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereTag.
func (*VSphereTag) DeepCopyInto ¶ added in v2.22.0
func (in *VSphereTag) DeepCopyInto(out *VSphereTag)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- addon.go
- addon_config.go
- admission_plugin.go
- alertmanager.go
- allowed_registry.go
- audit_logging.go
- cluster.go
- cluster_backup.go
- cluster_template_instance.go
- cluster_templates.go
- common.go
- configuration.go
- constraint.go
- constraint_template.go
- datacenter.go
- defaults.go
- doc.go
- etcd_backup_config.go
- etcd_restore.go
- external_cluster.go
- group_project_binding.go
- ipam_allocation.go
- ipam_pool.go
- mla_admin_settings.go
- preset.go
- project.go
- register.go
- resource_quota.go
- rulegroup.go
- settings.go
- sshkeys.go
- user.go
- user_project_binding.go
- utils.go
- zz_generated.deepcopy.go