v1

package
v3.0.0-...-b0a9388 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

+groupName=ee.kubermatic.k8c.io +groupGoName=KubermaticEnterprise +versionName=v1 +kubebuilder:object:generate=true

Index

Constants

View Source
const (
	// 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"

	// ProjectIDLabelKey is the label on a Cluster resource that points to the project it belongs to.
	ProjectIDLabelKey = "project-id"

	IsCredentialPresetLabelKey = "is-credential-preset"

	UpdatedByVPALabelKey = "updated-by-vpa"

	ExternalClusterIDLabelKey = "external-cluster-id"
)
View Source
const (
	InitialMachineDeploymentRequestAnnotation        = "kubermatic.io/initial-machinedeployment-request"
	InitialApplicationInstallationsRequestAnnotation = "kubermatic.io/initial-application-installations-request"
	InitialCNIValuesRequestAnnotation                = "kubermatic.io/initial-cni-values-request"
)
View Source
const (
	// 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"
)
View Source
const GroupName = "ee.kubermatic.k8c.io"

GroupName is the group name use in this package.

View Source
const GroupVersion = "v1"

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme

	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
)

AllExposeStrategies is a set containing all the expose strategies.

ProtectedClusterLabels is a set of labels that must not be set on clusters manually by users, as they are relevant for the correct functioning of and security in KKP.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type AKSPreset

type AKSPreset struct {
	ProviderPreset `json:",inline"`

	TenantID       string `json:"tenantID"`
	SubscriptionID string `json:"subscriptionID"`
	ClientID       string `json:"clientID"`
	ClientSecret   string `json:"clientSecret"`
}

func (*AKSPreset) DeepCopy

func (in *AKSPreset) DeepCopy() *AKSPreset

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

func (*AKSPreset) DeepCopyInto

func (in *AKSPreset) DeepCopyInto(out *AKSPreset)

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

func (AKSPreset) IsValid

func (s AKSPreset) IsValid() bool

type AWSPreset

type AWSPreset struct {
	ProviderPreset `json:",inline"`

	// Access Key ID to authenticate against AWS.
	AccessKeyID string `json:"accessKeyID"`
	// Secret Access Key to authenticate against AWS.
	SecretAccessKey string `json:"secretAccessKey"`

	AssumeRoleARN        string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle
	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 (*AWSPreset) DeepCopy

func (in *AWSPreset) DeepCopy() *AWSPreset

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

func (*AWSPreset) DeepCopyInto

func (in *AWSPreset) DeepCopyInto(out *AWSPreset)

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

func (AWSPreset) IsValid

func (s AWSPreset) IsValid() bool

type Addon

type Addon struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.Addon `json:",inline"`
}

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.

func (*Addon) DeepCopy

func (in *Addon) DeepCopy() *Addon

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

func (*Addon) DeepCopyInto

func (in *Addon) DeepCopyInto(out *Addon)

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

func (*Addon) DeepCopyObject

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

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

type AddonConfig

type AddonConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.AddonConfig `json:",inline"`
}

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 []AddonConfig `json:"items"`
}

AddonConfigList specifies a list of addon configurations.

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 AddonList

type AddonList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []Addon `json:"items"`
}

AddonList specifies a list of addons.

func (*AddonList) DeepCopy

func (in *AddonList) DeepCopy() *AddonList

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

func (*AddonList) DeepCopyInto

func (in *AddonList) DeepCopyInto(out *AddonList)

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

func (*AddonList) DeepCopyObject

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

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

type AdmissionPlugin

type AdmissionPlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.AdmissionPlugin `json:",inline"`
}

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"`

	// 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 Alertmanager

type Alertmanager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.Alertmanager `json:",inline"`
}

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 AlertmanagerList

type AlertmanagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	// List of Admission Plugins
	Items []Alertmanager `json:"items"`
}

AlertmanagerList is the type representing a list of alertmanagers.

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 AlibabaPreset

type AlibabaPreset struct {
	ProviderPreset `json:",inline"`

	// Access Key ID to authenticate against Alibaba.
	AccessKeyID string `json:"accessKeyID"`
	// Access Key Secret to authenticate against Alibaba.
	AccessKeySecret string `json:"accessKeySecret"`
}

func (*AlibabaPreset) DeepCopy

func (in *AlibabaPreset) DeepCopy() *AlibabaPreset

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

func (*AlibabaPreset) DeepCopyInto

func (in *AlibabaPreset) DeepCopyInto(out *AlibabaPreset)

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

func (AlibabaPreset) IsValid

func (s AlibabaPreset) IsValid() bool

type AllowedRegistry

type AllowedRegistry struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.AllowedRegistry `json:",inline"`
}

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 []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 AnexiaPreset

type AnexiaPreset struct {
	ProviderPreset `json:",inline"`

	// Token is used to authenticate with the Anexia API.
	Token string `json:"token"`
}

func (*AnexiaPreset) DeepCopy

func (in *AnexiaPreset) DeepCopy() *AnexiaPreset

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

func (*AnexiaPreset) DeepCopyInto

func (in *AnexiaPreset) DeepCopyInto(out *AnexiaPreset)

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

func (AnexiaPreset) IsValid

func (s AnexiaPreset) IsValid() bool

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

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

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

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

func (*AuditSidecarConfiguration) DeepCopyInto

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

type AuditSidecarSettings

type AuditSidecarSettings struct {
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	Config    *AuditSidecarConfiguration   `json:"config,omitempty"`
}

func (*AuditSidecarSettings) DeepCopy

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

func (*AuditSidecarSettings) DeepCopyInto

func (in *AuditSidecarSettings) DeepCopyInto(out *AuditSidecarSettings)

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

type AzurePreset

type AzurePreset struct {
	ProviderPreset `json:",inline"`

	TenantID       string `json:"tenantID"`
	SubscriptionID string `json:"subscriptionID"`
	ClientID       string `json:"clientID"`
	ClientSecret   string `json:"clientSecret"`

	ResourceGroup     string `json:"resourceGroup,omitempty"`
	VNetResourceGroup string `json:"vnetResourceGroup,omitempty"`
	VNetName          string `json:"vnet,omitempty"`
	SubnetName        string `json:"subnet,omitempty"`
	RouteTableName    string `json:"routeTable,omitempty"`
	SecurityGroup     string `json:"securityGroup,omitempty"`
	// LoadBalancerSKU sets the LB type that will be used for the Azure cluster;
	// if empty, "basic" will be used.
	LoadBalancerSKU kubermaticv1.AzureLBSKU `json:"loadBalancerSKU"` //nolint:tagliatelle
}

func (*AzurePreset) DeepCopy

func (in *AzurePreset) DeepCopy() *AzurePreset

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

func (*AzurePreset) DeepCopyInto

func (in *AzurePreset) DeepCopyInto(out *AzurePreset)

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

func (AzurePreset) IsValid

func (s AzurePreset) IsValid() bool

type CIDR

type CIDR string

+kubebuilder:validation:Pattern:=`^((\d{1,3}\.){3}\d{1,3}\/([0-9]|[1-2][0-9]|3[0-2]))$`

type CNIPluginType

type CNIPluginType string

CNIPluginType defines the type of CNI plugin installed.

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 CloudProvider

type CloudProvider string

CloudProvider defines the cloud provider where the a cluster's nodes are running. Note that these constants may match the machine-controller's constant, but don't have to. Use the functions in the helper package to translate between the two.

const (
	CloudProviderFake                CloudProvider = "fake"
	CloudProviderAlibaba             CloudProvider = "alibaba"
	CloudProviderAnexia              CloudProvider = "anexia"
	CloudProviderAWS                 CloudProvider = "aws"
	CloudProviderAzure               CloudProvider = "azure"
	CloudProviderBringYourOwn        CloudProvider = "bringyourown"
	CloudProviderDigitalocean        CloudProvider = "digitalocean"
	CloudProviderGCP                 CloudProvider = "gcp"
	CloudProviderHetzner             CloudProvider = "hetzner"
	CloudProviderKubeVirt            CloudProvider = "kubevirt"
	CloudProviderNutanix             CloudProvider = "nutanix"
	CloudProviderOpenStack           CloudProvider = "openstack"
	CloudProviderPacket              CloudProvider = "packet"
	CloudProviderVMwareCloudDirector CloudProvider = "vmwareclouddirector"
	CloudProviderVSphere             CloudProvider = "vsphere"
)

func (CloudProvider) String

func (p CloudProvider) String() string

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

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) IsEncryptionEnabled

func (cluster *Cluster) IsEncryptionEnabled() bool

IsEncryptionConfigurationEnabled returns whether encryption-at-rest is configured on this cluster.

type ClusterEncryptionPhase

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

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,omitempty"`
}

ClusterEncryptionStatus holds status information about the encryption-at-rest feature on the user cluster.

func (*ClusterEncryptionStatus) DeepCopy

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

func (*ClusterEncryptionStatus) DeepCopyInto

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 ClusterReference

type ClusterReference struct {
	// Name of the Cluster object.
	Name string `json:"name"`
}

ClusterReference is a struct that allows referencing a single Cluster object.

func (*ClusterReference) DeepCopy

func (in *ClusterReference) DeepCopy() *ClusterReference

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

func (*ClusterReference) DeepCopyInto

func (in *ClusterReference) DeepCopyInto(out *ClusterReference)

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

type ClusterSpec

type ClusterSpec struct {
	kubermaticv1.ClusterSpec `json:",inline"`

	// 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: 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: Configures encryption-at-rest for Kubernetes API data. This needs the `encryptionAtRest` feature gate.
	EncryptionConfiguration *EncryptionConfiguration `json:"encryptionConfiguration,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.

type ClusterStatus

type ClusterStatus struct {
	kubermaticv1.ClusterStatus `json:",inline"`

	// 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.

type ClusterTemplate

type ClusterTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.ClusterTemplate `json:",inline"`
}

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"`

	kubermaticv1.ClusterTemplateInstance `json:",inline"`
}

ClusterTemplateInstance is the object representing a cluster template instance.

func (*ClusterTemplateInstance) DeepCopy

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 []ClusterTemplateInstance `json:"items"`
}

ClusterTemplateInstanceList specifies a list of cluster template instances.

func (*ClusterTemplateInstanceList) DeepCopy

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

func (*ClusterTemplateInstanceList) DeepCopyInto

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 ClusterTemplateList

type ClusterTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	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 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.
	ConditionAlways ConditionType = "always"
	// ExternalCloudProviderCondition is an incompatibility condition that represents the usage of the external Cloud Provider.
	ConditionExternalCloudProvider ConditionType = kubermaticv1.ClusterFeatureExternalCloudProvider
	// InTreeCloudProviderCondition is an incompatibility condition that represents the usage of the in-tree Cloud Provider.
	ConditionInTreeCloudProvider ConditionType = "inTreeProvider"
)

type Constraint

type Constraint struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.ConstraintSpec `json:",inline"`
}

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 []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 ConstraintTemplate

type ConstraintTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.ConstraintTemplate `json:",inline"`
}

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 []ConstraintTemplate `json:"items"`
}

ConstraintTemplateList specifies a list of constraint templates.

func (*ConstraintTemplateList) DeepCopy

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 DashboardConfiguration

type DashboardConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.DashboardConfiguration `json:",inline"`
}

DashboardConfiguration is the type representing a DashboardConfiguration. These settings affect the KKP dashboard and are not relevant when using the Kube API on the master/seed clusters directly.

func (*DashboardConfiguration) DeepCopy

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

func (*DashboardConfiguration) DeepCopyInto

func (in *DashboardConfiguration) DeepCopyInto(out *DashboardConfiguration)

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

func (*DashboardConfiguration) DeepCopyObject

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

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

type DashboardConfigurationList

type DashboardConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []DashboardConfiguration `json:"items"`
}

DashboardConfigurationList is a list of settings.

func (*DashboardConfigurationList) DeepCopy

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

func (*DashboardConfigurationList) DeepCopyInto

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

func (*DashboardConfigurationList) DeepCopyObject

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

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

type DigitaloceanPreset

type DigitaloceanPreset struct {
	ProviderPreset `json:",inline"`

	// Token is used to authenticate with the DigitalOcean API.
	Token string `json:"token"`
}

func (*DigitaloceanPreset) DeepCopy

func (in *DigitaloceanPreset) DeepCopy() *DigitaloceanPreset

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

func (*DigitaloceanPreset) DeepCopyInto

func (in *DigitaloceanPreset) DeepCopyInto(out *DigitaloceanPreset)

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

func (DigitaloceanPreset) IsValid

func (s DigitaloceanPreset) IsValid() bool

type EKSPreset

type EKSPreset struct {
	ProviderPreset `json:",inline"`

	AccessKeyID          string `json:"accessKeyID"`
	SecretAccessKey      string `json:"secretAccessKey"`
	AssumeRoleARN        string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle
	AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"`
}

func (*EKSPreset) DeepCopy

func (in *EKSPreset) DeepCopy() *EKSPreset

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

func (*EKSPreset) DeepCopyInto

func (in *EKSPreset) DeepCopyInto(out *EKSPreset)

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

func (EKSPreset) IsValid

func (s EKSPreset) IsValid() bool

type EncryptionConfiguration

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

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

func (*EncryptionConfiguration) DeepCopyInto

func (in *EncryptionConfiguration) DeepCopyInto(out *EncryptionConfiguration)

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"`

	kubermaticv1.EtcdBackupConfig `json:",inline"`
}

EtcdBackupConfig specifies the configuration for a usercluster etcd backup.

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.

type EtcdBackupConfigList

type EtcdBackupConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []EtcdBackupConfig `json:"items"`
}

EtcdBackupConfigList is a list of etcd backup configs.

func (*EtcdBackupConfigList) DeepCopy

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 EtcdRestore

type EtcdRestore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.EtcdRestore `json:",inline"`
}

EtcdRestore specifies how to restore an etcd backup for a usercluster.

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 []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 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 (ExposeStrategy) String

func (s ExposeStrategy) String() string

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"`
	CloudProviderInfrastructure  HealthStatus  `json:"cloudProviderInfrastructure,omitempty"`
	UserClusterControllerManager HealthStatus  `json:"userClusterControllerManager,omitempty"`
	ApplicationController        HealthStatus  `json:"applicationController,omitempty"`
	OpenVPN                      *HealthStatus `json:"openvpn,omitempty"`
	Konnectivity                 *HealthStatus `json:"konnectivity,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"`
}

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

func (h *ExtendedClusterHealth) ApplicationControllerHealthy() bool

ApplicationControllerHealthy checks for health of all essential components and the ApplicationController.

func (*ExtendedClusterHealth) ControlPlaneHealthy

func (h *ExtendedClusterHealth) ControlPlaneHealthy() bool

ControlPlaneHealthy returns if all Kubernetes control plane components are healthy.

func (*ExtendedClusterHealth) DeepCopy

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.
	kubermaticv1.ExternalCluster `json:",inline"`
}

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.

type ExternalClusterList

type ExternalClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	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 ExternalClusterProviderVersioningConfiguration

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

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

func (*ExternalClusterProviderVersioningConfiguration) DeepCopyInto

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

type FakePreset

type FakePreset struct {
	ProviderPreset `json:",inline"`

	Token string `json:"token"`
}

func (*FakePreset) DeepCopy

func (in *FakePreset) DeepCopy() *FakePreset

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

func (*FakePreset) DeepCopyInto

func (in *FakePreset) DeepCopyInto(out *FakePreset)

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

func (FakePreset) IsValid

func (s FakePreset) IsValid() bool

type GCPPreset

type GCPPreset struct {
	ProviderPreset `json:",inline"`

	ServiceAccount string `json:"serviceAccount"`

	Network    string `json:"network,omitempty"`
	Subnetwork string `json:"subnetwork,omitempty"`
}

func (*GCPPreset) DeepCopy

func (in *GCPPreset) DeepCopy() *GCPPreset

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

func (*GCPPreset) DeepCopyInto

func (in *GCPPreset) DeepCopyInto(out *GCPPreset)

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

func (GCPPreset) IsValid

func (s GCPPreset) IsValid() bool

type GKEPreset

type GKEPreset struct {
	ProviderPreset `json:",inline"`

	ServiceAccount string `json:"serviceAccount"`
}

func (*GKEPreset) DeepCopy

func (in *GKEPreset) DeepCopy() *GKEPreset

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

func (*GKEPreset) DeepCopyInto

func (in *GKEPreset) DeepCopyInto(out *GKEPreset)

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

func (GKEPreset) IsValid

func (s GKEPreset) IsValid() bool

type GlobalConfigMapKeySelector

type GlobalConfigMapKeySelector GlobalObjectKeySelector

func (*GlobalConfigMapKeySelector) DeepCopy

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

func (*GlobalConfigMapKeySelector) DeepCopyInto

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

type GlobalObjectKeySelector

type GlobalObjectKeySelector struct {
	corev1.ObjectReference `json:",inline"`
	Key                    string `json:"key,omitempty"`
}

GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.

func (*GlobalObjectKeySelector) DeepCopy

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

func (*GlobalObjectKeySelector) DeepCopyInto

func (in *GlobalObjectKeySelector) DeepCopyInto(out *GlobalObjectKeySelector)

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

type GlobalSecretKeySelector

type GlobalSecretKeySelector GlobalObjectKeySelector

func (*GlobalSecretKeySelector) DeepCopy

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

func (*GlobalSecretKeySelector) DeepCopyInto

func (in *GlobalSecretKeySelector) DeepCopyInto(out *GlobalSecretKeySelector)

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

type GroupProjectBinding

type GroupProjectBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	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

func (in *GroupProjectBinding) DeepCopy() *GroupProjectBinding

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

func (*GroupProjectBinding) DeepCopyInto

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

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

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

type GroupProjectBindingList

type GroupProjectBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []GroupProjectBinding `json:"items"`
}

GroupProjectBindingList is a list of group project bindings.

func (*GroupProjectBindingList) DeepCopy

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

func (*GroupProjectBindingList) DeepCopyInto

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

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

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

type GroupProjectBindingSpec

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

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

func (*GroupProjectBindingSpec) DeepCopyInto

func (in *GroupProjectBindingSpec) DeepCopyInto(out *GroupProjectBindingSpec)

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

type HealthStatus

type HealthStatus string
const (
	HealthStatusDown         HealthStatus = "HealthStatusDown"
	HealthStatusUp           HealthStatus = "HealthStatusUp"
	HealthStatusProvisioning HealthStatus = "HealthStatusProvisioning"
)

type HetznerPreset

type HetznerPreset 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 (*HetznerPreset) DeepCopy

func (in *HetznerPreset) DeepCopy() *HetznerPreset

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

func (*HetznerPreset) DeepCopyInto

func (in *HetznerPreset) DeepCopyInto(out *HetznerPreset)

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

func (HetznerPreset) IsValid

func (s HetznerPreset) IsValid() bool

type IPAMAllocation

type IPAMAllocation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.IPAMAllocation `json:",inline"`
}

IPAMAllocation is the object representing an allocation from an IPAMPool made for a particular KKP user cluster.

func (*IPAMAllocation) DeepCopy

func (in *IPAMAllocation) DeepCopy() *IPAMAllocation

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

func (*IPAMAllocation) DeepCopyInto

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

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

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

type IPAMAllocationList

type IPAMAllocationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []IPAMAllocation `json:"items"`
}

func (*IPAMAllocationList) DeepCopy

func (in *IPAMAllocationList) DeepCopy() *IPAMAllocationList

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

func (*IPAMAllocationList) DeepCopyInto

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

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

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

type IPAMPool

type IPAMPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.IPAMPool `json:",inline"`
}

IPAMPool is the object representing Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters.

func (*IPAMPool) DeepCopy

func (in *IPAMPool) DeepCopy() *IPAMPool

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

func (*IPAMPool) DeepCopyInto

func (in *IPAMPool) DeepCopyInto(out *IPAMPool)

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

func (*IPAMPool) DeepCopyObject

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

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

type IPAMPoolList

type IPAMPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []IPAMPool `json:"items"`
}

func (*IPAMPoolList) DeepCopy

func (in *IPAMPoolList) DeepCopy() *IPAMPoolList

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

func (*IPAMPoolList) DeepCopyInto

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

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

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

type Incompatibility

type Incompatibility struct {
	// Provider to which to apply the compatibility check. If this is not specified, the
	// incompatibility is valid for all cloud providers.
	Provider CloudProvider `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 KubeVirtPreset

type KubeVirtPreset struct {
	ProviderPreset `json:",inline"`

	Kubeconfig string `json:"kubeconfig"`
}

func (*KubeVirtPreset) DeepCopy

func (in *KubeVirtPreset) DeepCopy() *KubeVirtPreset

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

func (*KubeVirtPreset) DeepCopyInto

func (in *KubeVirtPreset) DeepCopyInto(out *KubeVirtPreset)

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

func (KubeVirtPreset) IsValid

func (s KubeVirtPreset) IsValid() bool

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

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

func (*KubermaticAPIConfiguration) DeepCopyInto

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. "v3.15.0"), with a
	// suffix it becomes "v3.15.0-SUFFIX".
	DockerTagSuffix string `json:"dockerTagSuffix,omitempty"`
}

KubermaticAddonConfiguration describes the addons for a given cluster runtime.

func (*KubermaticAddonsConfiguration) DeepCopy

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

func (*KubermaticAddonsConfiguration) DeepCopyInto

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

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

func (*KubermaticAuthConfiguration) DeepCopyInto

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

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

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

func (*KubermaticConfigurationList) DeepCopyInto

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.
	Auth *KubermaticAuthConfiguration `json:"auth,omitempty"`
	// 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

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

func (*KubermaticConfigurationSpec) DeepCopyInto

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

type KubermaticConfigurationStatus

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

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

func (*KubermaticConfigurationStatus) DeepCopyInto

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"`

	// 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

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

func (*KubermaticIngressConfiguration) DeepCopyInto

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

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

func (*KubermaticMasterControllerConfiguration) DeepCopyInto

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

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

func (*KubermaticProjectsMigratorConfiguration) DeepCopyInto

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

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

func (*KubermaticProxyConfiguration) DeepCopyInto

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.
	// This container is only relevant when the new backup/restore controllers are enabled.
	BackupDeleteContainer string `json:"backupDeleteContainer,omitempty"`
	// BackupCleanupContainer is the container used for removing expired backups from the storage location.
	// This container is only relevant when the old, deprecated backup controllers are enabled.
	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

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

func (*KubermaticSeedControllerConfiguration) DeepCopyInto

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

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.
	// ---
	//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. "v3.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"`
}

KubermaticUIConfiguration configures the dashboard.

func (*KubermaticUIConfiguration) DeepCopy

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

func (*KubermaticUIConfiguration) DeepCopyInto

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

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

func (*KubermaticUserClusterConfiguration) DeepCopyInto

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

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

func (*KubermaticUserClusterMonitoringConfiguration) DeepCopyInto

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

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

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

func (*KubermaticVPAConfiguration) DeepCopyInto

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[kubermaticv1.ExternalClusterProvider]ExternalClusterProviderVersioningConfiguration `json:"externalClusters,omitempty"`
}

KubermaticVersioningConfiguration configures the available and default Kubernetes versions.

func (*KubermaticVersioningConfiguration) DeepCopy

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

func (*KubermaticVersioningConfiguration) DeepCopyInto

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

type KubermaticWebhookConfiguration

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

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

func (*KubermaticWebhookConfiguration) DeepCopyInto

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

type MLAClusterConfiguration

type MLAClusterConfiguration struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.MLAClusterConfiguration `json:",inline"`
}

MLAClusterConfiguration is the object representing cluster-specific administrator settings for KKP user cluster MLA (monitoring, logging & alerting) stack.

func (*MLAClusterConfiguration) DeepCopy

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

func (*MLAClusterConfiguration) DeepCopyInto

func (in *MLAClusterConfiguration) DeepCopyInto(out *MLAClusterConfiguration)

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

func (*MLAClusterConfiguration) DeepCopyObject

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

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

type MLAClusterConfigurationList

type MLAClusterConfigurationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []MLAClusterConfiguration `json:"items"`
}

MLAClusterConfigurationList specifies a list of administrator settings for KKP user cluster MLA (monitoring, logging & alerting) stack.

func (*MLAClusterConfigurationList) DeepCopy

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

func (*MLAClusterConfigurationList) DeepCopyInto

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

func (*MLAClusterConfigurationList) DeepCopyObject

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

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

type MLARuleGroup

type MLARuleGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.MLARuleGroup `json:",inline"`
}

func (*MLARuleGroup) DeepCopy

func (in *MLARuleGroup) DeepCopy() *MLARuleGroup

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

func (*MLARuleGroup) DeepCopyInto

func (in *MLARuleGroup) DeepCopyInto(out *MLARuleGroup)

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

func (*MLARuleGroup) DeepCopyObject

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

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

type MLARuleGroupList

type MLARuleGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []MLARuleGroup `json:"items"`
}

func (*MLARuleGroupList) DeepCopy

func (in *MLARuleGroupList) DeepCopy() *MLARuleGroupList

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

func (*MLARuleGroupList) DeepCopyInto

func (in *MLARuleGroupList) DeepCopyInto(out *MLARuleGroupList)

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

func (*MLARuleGroupList) DeepCopyObject

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

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

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

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

func (*MachineControllerConfiguration) DeepCopyInto

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

type MachineFlavorFilter

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

func (in *MachineFlavorFilter) DeepCopy() *MachineFlavorFilter

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

func (*MachineFlavorFilter) DeepCopyInto

func (in *MachineFlavorFilter) DeepCopyInto(out *MachineFlavorFilter)

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,omitempty"`
}

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

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

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

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

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

func (r *NetworkRanges) HasIPv4CIDR() bool

HasIPv4CIDR returns true if the network ranges contain any IPv4 CIDR, false otherwise.

func (*NetworkRanges) HasIPv6CIDR

func (r *NetworkRanges) HasIPv6CIDR() bool

HasIPv6CIDR returns true if the network ranges contain any IPv6 CIDR, false otherwise.

func (*NetworkRanges) Validate

func (r *NetworkRanges) Validate() error

Validate validates the network ranges. Returns nil if valid, error otherwise.

type NutanixPreset

type NutanixPreset struct {
	ProviderPreset `json:",inline"`

	// ProxyURL is used to optionally configure a HTTP proxy to access Nutanix Prism Central.
	ProxyURL string `json:"proxyURL,omitempty"`
	// Username is the username to access the Nutanix Prism Central API.
	Username string `json:"username"`
	// Password is the password corresponding to the provided user.
	Password string `json:"password"`

	// ClusterName is the Nutanix cluster to deploy resources and nodes to.
	ClusterName string `json:"clusterName"`
	// ProjectName is the 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 (*NutanixPreset) DeepCopy

func (in *NutanixPreset) DeepCopy() *NutanixPreset

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

func (*NutanixPreset) DeepCopyInto

func (in *NutanixPreset) DeepCopyInto(out *NutanixPreset)

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

func (NutanixPreset) IsValid

func (s NutanixPreset) IsValid() bool

type OpenStackPreset

type OpenStackPreset 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   string `json:"project,omitempty"`
	ProjectID string `json:"projectID,omitempty"`
	Domain    string `json:"domain"`

	Network        string `json:"network,omitempty"`
	SecurityGroups string `json:"securityGroups,omitempty"`
	FloatingIPPool string `json:"floatingIPPool,omitempty"`
	RouterID       string `json:"routerID,omitempty"`
	SubnetID       string `json:"subnetID,omitempty"`
}

func (*OpenStackPreset) DeepCopy

func (in *OpenStackPreset) DeepCopy() *OpenStackPreset

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

func (*OpenStackPreset) DeepCopyInto

func (in *OpenStackPreset) DeepCopyInto(out *OpenStackPreset)

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

func (OpenStackPreset) IsValid

func (s OpenStackPreset) IsValid() bool

type OperatingSystem

type OperatingSystem string

OperatingSystem defines the a node's operating system. Note that these constants may match the machine-controller's constant, but don't have to. Use the functions in the helper package to translate between the two.

const (
	OperatingSystemUbuntu       OperatingSystem = "ubuntu"
	OperatingSystemCentOS       OperatingSystem = "centos"
	OperatingSystemAmazonLinux2 OperatingSystem = "amzn2"
	OperatingSystemRHEL         OperatingSystem = "rhel"
	OperatingSystemFlatcar      OperatingSystem = "flatcar"
	OperatingSystemRockyLinux   OperatingSystem = "rockylinux"
)

func (OperatingSystem) String

func (o OperatingSystem) String() string

type OperatingSystemManager

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

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

func (*OperatingSystemManager) DeepCopyInto

func (in *OperatingSystemManager) DeepCopyInto(out *OperatingSystemManager)

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.
	OperationCreate OperationType = "CREATE"
	// UpdateOperation represents the update of an existing cluster.
	OperationUpdate OperationType = "UPGRADE"
	// SupportOperation represents the possibility to enable a new feature on an existing cluster.
	OperationSupport OperationType = "SUPPORT"
)

type PacketPreset

type PacketPreset struct {
	ProviderPreset `json:",inline"`

	APIKey    string `json:"apiKey"`
	ProjectID string `json:"projectID"`

	BillingCycle string `json:"billingCycle,omitempty"`
}

func (*PacketPreset) DeepCopy

func (in *PacketPreset) DeepCopy() *PacketPreset

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

func (*PacketPreset) DeepCopyInto

func (in *PacketPreset) DeepCopyInto(out *PacketPreset)

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

func (PacketPreset) IsValid

func (s PacketPreset) IsValid() bool

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

func (in *Preset) DeepCopy() *Preset

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

func (*Preset) DeepCopyInto

func (in *Preset) DeepCopyInto(out *Preset)

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

func (*Preset) DeepCopyObject

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

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

type PresetInvalidationReason

type PresetInvalidationReason string

+kubebuilder:validation:Enum=deleted;changed

const (
	PresetInvalidationReasonDeleted PresetInvalidationReason = "deleted"
	PresetInvalidationReasonChanged PresetInvalidationReason = "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 {
	Digitalocean        *DigitaloceanPreset        `json:"digitalocean,omitempty"`
	Hetzner             *HetznerPreset             `json:"hetzner,omitempty"`
	Azure               *AzurePreset               `json:"azure,omitempty"`
	VSphere             *VSpherePreset             `json:"vsphere,omitempty"`
	AWS                 *AWSPreset                 `json:"aws,omitempty"`
	OpenStack           *OpenStackPreset           `json:"openstack,omitempty"`
	Packet              *PacketPreset              `json:"packet,omitempty"`
	GCP                 *GCPPreset                 `json:"gcp,omitempty"`
	KubeVirt            *KubeVirtPreset            `json:"kubevirt,omitempty"`
	Alibaba             *AlibabaPreset             `json:"alibaba,omitempty"`
	Anexia              *AnexiaPreset              `json:"anexia,omitempty"`
	Nutanix             *NutanixPreset             `json:"nutanix,omitempty"`
	VMwareCloudDirector *VMwareCloudDirectorPreset `json:"vmwareclouddirector,omitempty"`
	GKE                 *GKEPreset                 `json:"gke,omitempty"`
	EKS                 *EKSPreset                 `json:"eks,omitempty"`
	AKS                 *AKSPreset                 `json:"aks,omitempty"`

	Fake *FakePreset `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.

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.

type ProxySettings

type ProxySettings struct {
	// Optional: If set, this proxy will be configured for both HTTP and HTTPS.
	HTTPProxy *string `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 *string `json:"noProxy,omitempty"`
}

ProxySettings allow configuring a HTTP proxy for the control planes 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 ResourceDetails

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 (*ResourceDetails) DeepCopy

func (in *ResourceDetails) DeepCopy() *ResourceDetails

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

func (*ResourceDetails) DeepCopyInto

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

func (r *ResourceDetails) IsEmpty() bool

type ResourceQuota

type ResourceQuota struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.ResourceQuota `json:",inline"`
}

ResourceQuota specifies the amount of cluster resources a workspace can use.

func (*ResourceQuota) DeepCopy

func (in *ResourceQuota) DeepCopy() *ResourceQuota

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

func (*ResourceQuota) DeepCopyInto

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

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

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

type ResourceQuotaList

type ResourceQuotaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []ResourceQuota `json:"items"`
}

ResourceQuotaList is a collection of resource quotas.

func (*ResourceQuotaList) DeepCopy

func (in *ResourceQuotaList) DeepCopy() *ResourceQuotaList

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

func (*ResourceQuotaList) DeepCopyInto

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

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

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

type SSHKeyBinding

type SSHKeyBinding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	kubermaticv1.SSHKeyBinding `json:",inline"`
}

SSHKeyBinding sets the relationship between a UserSSHKey and a Cluster.

func (*SSHKeyBinding) DeepCopy

func (in *SSHKeyBinding) DeepCopy() *SSHKeyBinding

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

func (*SSHKeyBinding) DeepCopyInto

func (in *SSHKeyBinding) DeepCopyInto(out *SSHKeyBinding)

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

func (*SSHKeyBinding) DeepCopyObject

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

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

type SSHKeyBindingList

type SSHKeyBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []SSHKeyBinding `json:"items"`
}

SSHKeyBindingList specifies a users SSHKeyBinding.

func (*SSHKeyBindingList) DeepCopy

func (in *SSHKeyBindingList) DeepCopy() *SSHKeyBindingList

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

func (*SSHKeyBindingList) DeepCopyInto

func (in *SSHKeyBindingList) DeepCopyInto(out *SSHKeyBindingList)

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

func (*SSHKeyBindingList) DeepCopyObject

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

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

type SecretboxEncryptionConfiguration

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

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

func (*SecretboxEncryptionConfiguration) DeepCopyInto

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

type SecretboxKey

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

func (in *SecretboxKey) DeepCopy() *SecretboxKey

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

func (*SecretboxKey) DeepCopyInto

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 SeedSpec `json:"spec"`

	//nolint:staticcheck
	//lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator
	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. Seedlets are responsible for registering a seed cluster in the KKP management system, similar to how a kubelet registers a node.

func (*Seed) DeepCopy

func (in *Seed) DeepCopy() *Seed

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

func (*Seed) DeepCopyInto

func (in *Seed) DeepCopyInto(out *Seed)

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

func (*Seed) DeepCopyObject

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

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

type SeedCondition

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

func (in *SeedCondition) DeepCopy() *SeedCondition

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

func (*SeedCondition) DeepCopyInto

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

type SeedConditionType string

SeedConditionType is used to indicate the type of a seed condition. For all condition types, the `true` value must indicate success.

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

SeedList is the type representing a SeedList.

func (*SeedList) DeepCopy

func (in *SeedList) DeepCopy() *SeedList

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

func (*SeedList) DeepCopyInto

func (in *SeedList) DeepCopyInto(out *SeedList)

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

func (*SeedList) DeepCopyObject

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

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

type SeedPhase

type SeedPhase string
const (
	// SeedPhaseHealthy means the seed is reachable and was successfully reconciled.
	SeedPhaseHealthy SeedPhase = "Healthy"

	// SeedPhaseUnhealthy means the KKP resources on the seed cluster could not be
	// successfully reconciled.
	SeedPhaseUnhealthy SeedPhase = "Unhealthy"

	// SeedPhaseInvalid means the seed kubeconfig is defunct.
	SeedPhaseInvalid SeedPhase = "Invalid"

	// SeedPhaseTerminating means the seed is currently being deleted.
	SeedPhaseTerminating SeedPhase = "Terminating"

	// SeedPhasePaused means the seed is not being reconciled because the SkipReconciling
	// annotation is set.
	SeedPhasePaused 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"`
	// Datacenters contains a map of all datacenters (DCs) on this seed. The datacenter
	// names are not globally unique, i.e. two seeds can both have a "test" datacenter.
	Datacenters map[string]kubermaticv1.DatacenterSpec `json:"datacenters,omitempty"`
}

The spec for a seed cluster.

func (*SeedSpec) DeepCopy

func (in *SeedSpec) DeepCopy() *SeedSpec

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

func (*SeedSpec) DeepCopyInto

func (in *SeedSpec) DeepCopyInto(out *SeedSpec)

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

type SeedStatus

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, the sum across all its
	// datacenters.
	Clusters int `json:"clusters"`

	// Versions contains information regarding versions of components in the cluster and the cluster
	// itself.
	// +optional
	Versions SeedVersionsStatus `json:"versions,omitempty"`

	// Datacenters contains a map of all datacenter statuses on this seed.
	Datacenters map[string]kubermaticv1.DatacenterStatus `json:"datacenters,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

func (in *SeedStatus) DeepCopy() *SeedStatus

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

func (*SeedStatus) DeepCopyInto

func (in *SeedStatus) DeepCopyInto(out *SeedStatus)

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

type SeedVersionsStatus

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

func (in *SeedVersionsStatus) DeepCopy() *SeedVersionsStatus

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

func (*SeedVersionsStatus) DeepCopyInto

func (in *SeedVersionsStatus) DeepCopyInto(out *SeedVersionsStatus)

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

type SubnetCIDR

type SubnetCIDR string

SubnetCIDR is used to store IPv4/IPv6 CIDR.

type SystemApplicationsConfiguration

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

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

func (*SystemApplicationsConfiguration) DeepCopyInto

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

func (in *Update) DeepCopy() *Update

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

func (*Update) DeepCopyInto

func (in *Update) DeepCopyInto(out *Update)

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"`

	kubermaticv1.User `json:",inline"`
}

User specifies a KKP user.

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []User `json:"items"`
}

UserList is a list of users.

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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 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 []UserProjectBinding `json:"items"`
}

UserProjectBindingList is a list of users.

func (*UserProjectBindingList) DeepCopy

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.

func (*UserProjectBindingSpec) DeepCopy

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"`

	kubermaticv1.UserSSHKey `json:",inline"`
}

UserSSHKey specifies a user's SSH public key.

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.

type UserSSHKeyList

type UserSSHKeyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`

	Items []UserSSHKey `json:"items"`
}

UserSSHKeyList specifies a list of SSH keys.

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 VMwareCloudDirectorPreset

type VMwareCloudDirectorPreset struct {
	ProviderPreset `json:",inline"`

	Username     string `json:"username"`
	Password     string `json:"password"`
	VDC          string `json:"vdc"`
	Organization string `json:"organization"`
	OVDCNetwork  string `json:"ovdcNetwork"`
}

func (*VMwareCloudDirectorPreset) DeepCopy

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

func (*VMwareCloudDirectorPreset) DeepCopyInto

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

func (VMwareCloudDirectorPreset) IsValid

func (s VMwareCloudDirectorPreset) IsValid() bool

type VSpherePreset

type VSpherePreset struct {
	ProviderPreset `json:",inline"`

	Username string `json:"username"`
	Password string `json:"password"`

	VMNetName        string `json:"vmNetName,omitempty"`
	Datastore        string `json:"datastore,omitempty"`
	DatastoreCluster string `json:"datastoreCluster,omitempty"`
	ResourcePool     string `json:"resourcePool,omitempty"`
}

func (*VSpherePreset) DeepCopy

func (in *VSpherePreset) DeepCopy() *VSpherePreset

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

func (*VSpherePreset) DeepCopyInto

func (in *VSpherePreset) DeepCopyInto(out *VSpherePreset)

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

func (VSpherePreset) IsValid

func (s VSpherePreset) IsValid() bool

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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