v1

package
v2.20.0-beta.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2022 License: Apache-2.0 Imports: 15 Imported by: 3

Documentation

Overview

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

Index

Constants

View Source
const (
	// AddonResourceName represents "Resource" defined in Kubernetes.
	AddonResourceName = "addons"

	// AddonKindName represents "Kind" defined in Kubernetes.
	AddonKindName = "Addon"

	AddonResourcesCreated AddonConditionType = "AddonResourcesCreatedSuccessfully"
)
View Source
const (
	// AlertmanagerResourceName represents "Resource" defined in Kubernetes.
	AlertmanagerResourceName = "alertmanagers"

	// AlertmanagerKindName represents "Kind" defined in Kubernetes.
	AlertmanagerKindName = "Alertmanager"
)
View Source
const (
	// AllowedRegistryResourceName represents "Resource" defined in Kubernetes.
	AllowedRegistryResourceName = "allowedregistry"

	// AllowedRegistryKindName represents "Kind" defined in Kubernetes.
	AllowedRegistryKindName = "AllowedRegistry"
)
View Source
const (
	// ClusterResourceName represents "Resource" defined in Kubernetes.
	ClusterResourceName = "clusters"

	// ClusterKindName represents "Kind" defined in Kubernetes.
	ClusterKindName = "Cluster"

	// AnnotationNameClusterAutoscalerEnabled is the name of the annotation that is being
	// used to determine if the cluster-autoscaler is enabled for this cluster. It is
	// enabled when this Annotation is set with any value.
	AnnotationNameClusterAutoscalerEnabled = "kubermatic.io/cluster-autoscaler-enabled"

	// CredentialPrefix is the prefix used for the secrets containing cloud provider crednentials.
	CredentialPrefix = "credential"

	// ForceRestartAnnotation is key of the annotation used to restart machine deployments.
	ForceRestartAnnotation = "forceRestart"
)
View Source
const (
	CCMMigrationNeededAnnotation = "ccm-migration.k8c.io/migration-needed"
	CSIMigrationNeededAnnotation = "csi-migration.k8c.io/migration-needed"
)
View Source
const (
	WorkerNameLabelKey   = "worker-name"
	ProjectIDLabelKey    = "project-id"
	UpdatedByVPALabelKey = "updated-by-vpa"

	DefaultEtcdClusterSize = 3
	MinEtcdClusterSize     = 3
	MaxEtcdClusterSize     = 9
)
View Source
const (
	AzureStandardLBSKU = LBSKU("standard")
	AzureBasicLBSKU    = LBSKU("basic")
)
View Source
const (
	// ClusterFeatureExternalCloudProvider describes the external cloud provider feature. It is
	// only supported on a limited set of providers for a specific set of Kube versions. It must
	// not be set if its not supported.
	ClusterFeatureExternalCloudProvider = "externalCloudProvider"

	// ClusterFeatureCCMClusterName sets the cluster-name flag on the external CCM deployment.
	// The cluster-name flag is often used for naming cloud resources, such as load balancers.
	ClusterFeatureCCMClusterName = "ccmClusterName"

	// ClusterFeatureVsphereCSIClusterID sets the cluster-id in the vSphere CSI config to
	// the name of the user cluster. Originally, we have been setting cluster-id to the
	// vSphere Compute Cluster name (provided via the Datacenter object), however,
	// this is supposed to identify the Kubernetes cluster, therefore it must be unique.
	// This feature flag is enabled by default for new vSphere clusters, while existing
	// vSphere clusters must be migrated manually (preferably by following advice here:
	// https://kb.vmware.com/s/article/84446).
	ClusterFeatureVsphereCSIClusterID = "vsphereCSIClusterID"

	// ClusterFeatureEtcdLauncher enables features related to the experimental etcd-launcher. This includes user-cluster
	// etcd scaling, automatic volume recovery and new backup/restore contorllers.
	ClusterFeatureEtcdLauncher = "etcdLauncher"

	// ApiserverNetworkPolicy enables the deployment of network policies that
	// restrict the egress traffic from Apiserver pods.
	ApiserverNetworkPolicy = "apiserverNetworkPolicy"

	// KubeSystemNetworkPolicies enables the deployment of network policies to kube-system namespace that
	// restrict traffic from all pods in the namespace.
	KubeSystemNetworkPolicies = "kubeSystemNetworkPolicies"
)
View Source
const (
	HealthStatusDown         = HealthStatus("HealthStatusDown")
	HealthStatusUp           = HealthStatus("HealthStatusUp")
	HealthStatusProvisioning = HealthStatus("HealthStatusProvisioning")
)
View Source
const (
	// ClusterTemplateInstanceResourceName represents "Resource" defined in Kubernetes.
	ClusterTemplateInstanceResourceName = "clustertemplateinstances"

	// ClusterTemplateInstanceKindName represents "Kind" defined in Kubernetes.
	ClusterTemplateInstanceKindName = "ClusterTemplateInstance"
)
View Source
const (
	UserClusterTemplateScope    = "user"
	ProjectClusterTemplateScope = "project"
	GlobalClusterTemplateScope  = "global"
	SeedTemplateScope           = "seed"
)
View Source
const (
	ClusterTemplateScopeLabelKey             = "scope"
	ClusterTemplateUserAnnotationKey         = "user"
	ClusterTemplateProjectLabelKey           = "project-id"
	ClusterTemplateHumanReadableNameLabelKey = "name"
)
View Source
const (
	// ClusterTemplateResourceName represents "Resource" defined in Kubernetes.
	ClusterTemplateResourceName = "clustertemplates"

	// ClusterTemplateKindName represents "Kind" defined in Kubernetes.
	ClusterTemplateKindName = "ClusterTemplate"
)
View Source
const (

	// ConstraintResourceName represents "Resource" defined in Kubernetes.
	ConstraintResourceName = "constraints"

	// ConstraintKind represents "Kind" defined in Kubernetes.
	ConstraintKind = "Constraint"
)
View Source
const (

	// ConstraintTemplateResourceName represents "Resource" defined in Kubernetes.
	ConstraintTemplateResourceName = "constrainttemplates"

	// ConstraintTemplateKind represents "Kind" defined in Kubernetes.
	ConstraintTemplateKind = "ConstraintTemplate"
)
View Source
const (
	// EtcdBackupConfigResourceName represents "Resource" defined in Kubernetes.
	EtcdBackupConfigResourceName = "etcdbackupconfigs"

	// EtcdBackupConfigKindName represents "Kind" defined in Kubernetes.
	EtcdBackupConfigKindName = "EtcdBackupConfig"

	DefaultKeptBackupsCount = 20
	MaxKeptBackupsCount     = 50

	// BackupStatusPhase value indicating that the corresponding job has started.
	BackupStatusPhaseRunning = "Running"

	// BackupStatusPhase value indicating that the corresponding job has completed successfully.
	BackupStatusPhaseCompleted = "Completed"

	// BackupStatusPhase value indicating that the corresponding job has completed with an error.
	BackupStatusPhaseFailed = "Failed"
)
View Source
const (
	// ExternalClusterResourceName represents "Resource" defined in Kubernetes.
	ExternalClusterResourceName = "externalclusters"

	// ExternalClusterKind represents "Kind" defined in Kubernetes.
	ExternalClusterKind = "ExternalCluster"
)
View Source
const (
	// MLAAdminSettingResourceName represents "Resource" defined in Kubernetes.
	MLAAdminSettingResourceName = "mlaadminsettings"

	// MLAAdminSettingKindName represents "Kind" defined in Kubernetes.
	MLAAdminSettingKindName = "MLAAdminSetting"
)
View Source
const (
	// ProjectResourceName represents "Resource" defined in Kubernetes.
	ProjectResourceName = "projects"

	// ProjectKindName represents "Kind" defined in Kubernetes.
	ProjectKindName = "Project"
)
View Source
const (
	// RuleGroupResourceName represents "Resource" defined in Kubernetes.
	RuleGroupResourceName = "rulegroups"

	// RuleGroupKindName represents "Kind" defined in Kubernetes.
	RuleGroupKindName = "RuleGroup"
)
View Source
const (
	// SSHKeyResourceName represents "Resource" defined in Kubernetes.
	SSHKeyResourceName = "usersshkeies"

	// SSHKeyKind represents "Kind" defined in Kubernetes.
	SSHKeyKind = "UserSSHKey"
)
View Source
const (
	// UserResourceName represents "Resource" defined in Kubernetes.
	UserResourceName = "users"

	// UserKindName represents "Kind" defined in Kubernetes.
	UserKindName = "User"
)
View Source
const (

	// UserProjectBindingResourceName represents "Resource" defined in Kubernetes.
	UserProjectBindingResourceName = "userprojectbindings"

	// UserProjectBindingKind represents "Kind" defined in Kubernetes.
	UserProjectBindingKind = "UserProjectBinding"
)
View Source
const DefaultNodeAccessNetwork = "10.254.0.0/16"

DefaultNodeAccessNetwork is the default CIDR used for the VPNs transit network through which we route the ControlPlane -> Node/Pod traffic.

View Source
const GlobalSettingsName = "globalsettings"
View Source
const GroupName = "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
)

AllExposeStrategies is a set containing all the ExposeStrategy.

ProtectedClusterLabels is a set of labels that must not be set by users on clusters, as they are security relevant.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}

SchemeGroupVersion is group version used to register these objects.

Functions

func IsProviderSupported

func IsProviderSupported(name string) bool

func Resource

func Resource(resource string) schema.GroupResource

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

Types

type AKS

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

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

func (*AKS) DeepCopy

func (in *AKS) DeepCopy() *AKS

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

func (*AKS) DeepCopyInto

func (in *AKS) DeepCopyInto(out *AKS)

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

func (AKS) IsValid

func (s AKS) IsValid() bool

type APIServerSettings

type APIServerSettings struct {
	DeploymentSettings `json:",inline"`

	EndpointReconcilingDisabled *bool  `json:"endpointReconcilingDisabled,omitempty"`
	NodePortRange               string `json:"nodePortRange,omitempty"`
}

func (*APIServerSettings) DeepCopy

func (in *APIServerSettings) DeepCopy() *APIServerSettings

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

func (*APIServerSettings) DeepCopyInto

func (in *APIServerSettings) DeepCopyInto(out *APIServerSettings)

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

type AWS

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

	AccessKeyID     string `json:"accessKeyID"`
	SecretAccessKey string `json:"secretAccessKey"`

	AssumeRoleARN        string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle
	AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"`

	VPCID               string `json:"vpcID,omitempty"`
	RouteTableID        string `json:"routeTableID,omitempty"`
	InstanceProfileName string `json:"instanceProfileName,omitempty"`
	SecurityGroupID     string `json:"securityGroupID,omitempty"`
	ControlPlaneRoleARN string `json:"roleARN,omitempty"` //nolint:tagliatelle
}

func (*AWS) DeepCopy

func (in *AWS) DeepCopy() *AWS

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

func (*AWS) DeepCopyInto

func (in *AWS) DeepCopyInto(out *AWS)

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

func (AWS) IsValid

func (s AWS) IsValid() bool

type AWSCloudSpec

type AWSCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	AccessKeyID          string `json:"accessKeyID,omitempty"`
	SecretAccessKey      string `json:"secretAccessKey,omitempty"`
	AssumeRoleARN        string `json:"assumeRoleARN,omitempty"` //nolint:tagliatelle
	AssumeRoleExternalID string `json:"assumeRoleExternalID,omitempty"`
	VPCID                string `json:"vpcID"`
	// The IAM role, the control plane will use. The control plane will perform an assume-role
	ControlPlaneRoleARN     string `json:"roleARN"` //nolint:tagliatelle
	RouteTableID            string `json:"routeTableID"`
	InstanceProfileName     string `json:"instanceProfileName"`
	SecurityGroupID         string `json:"securityGroupID"`
	NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"`
}

AWSCloudSpec specifies access data to Amazon Web Services.

func (*AWSCloudSpec) DeepCopy

func (in *AWSCloudSpec) DeepCopy() *AWSCloudSpec

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

func (*AWSCloudSpec) DeepCopyInto

func (in *AWSCloudSpec) DeepCopyInto(out *AWSCloudSpec)

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

type Addon

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

	Spec   AddonSpec   `json:"spec,omitempty"`
	Status AddonStatus `json:"status,omitempty"`
}

Addon specifies a add-on.

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 AddonCondition

type AddonCondition struct {
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time we got an update on a given condition.
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
}

func (*AddonCondition) DeepCopy

func (in *AddonCondition) DeepCopy() *AddonCondition

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

func (*AddonCondition) DeepCopyInto

func (in *AddonCondition) DeepCopyInto(out *AddonCondition)

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

type AddonConditionType

type AddonConditionType string

type AddonConfig

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

	Spec AddonConfigSpec `json:"spec,omitempty"`
}

AddonConfig specifies addon configuration.

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 is a list of addon configs.

func (*AddonConfigList) DeepCopy

func (in *AddonConfigList) DeepCopy() *AddonConfigList

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

func (*AddonConfigList) DeepCopyInto

func (in *AddonConfigList) DeepCopyInto(out *AddonConfigList)

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

func (*AddonConfigList) DeepCopyObject

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

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

type AddonConfigSpec

type AddonConfigSpec struct {
	// ShortDescription of the configured addon that contains more detailed information about the addon,
	// it will be displayed in the addon details view in the UI
	ShortDescription string `json:"shortDescription,omitempty"`
	// Description of the configured addon, it will be displayed in the addon overview in the UI
	Description string `json:"description,omitempty"`
	Logo string `json:"logo,omitempty"`
	// LogoFormat contains logo format of the configured addon, i.e. svg+xml
	LogoFormat string `json:"logoFormat,omitempty"`
	// Controls that can be set for configured addon
	Controls []AddonFormControl `json:"formSpec,omitempty"`
}

AddonConfigSpec specifies configuration of addon.

func (*AddonConfigSpec) DeepCopy

func (in *AddonConfigSpec) DeepCopy() *AddonConfigSpec

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

func (*AddonConfigSpec) DeepCopyInto

func (in *AddonConfigSpec) DeepCopyInto(out *AddonConfigSpec)

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

type AddonFormControl

type AddonFormControl struct {
	// DisplayName is visible in the UI
	DisplayName string `json:"displayName,omitempty"`
	// InternalName is used internally to save in the addon object
	InternalName string `json:"internalName,omitempty"`
	// HelpText is visible in the UI next to the control
	HelpText string `json:"helpText,omitempty"`
	// Required indicates if the control has to be set
	Required bool `json:"required,omitempty"`
	// Type of displayed control
	Type string `json:"type,omitempty"`
}

AddonFormControl specifies addon form control.

func (*AddonFormControl) DeepCopy

func (in *AddonFormControl) DeepCopy() *AddonFormControl

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

func (*AddonFormControl) DeepCopyInto

func (in *AddonFormControl) DeepCopyInto(out *AddonFormControl)

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

type AddonList

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

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

AddonList is 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 AddonSpec

type AddonSpec struct {
	// Name defines the name of the addon to install
	Name string `json:"name"`
	// Cluster is the reference to the cluster the addon should be installed in
	Cluster corev1.ObjectReference `json:"cluster"`
	// Variables is free form data to use for parsing the manifest templates
	Variables *runtime.RawExtension `json:"variables,omitempty"`
	// RequiredResourceTypes allows to indicate that this addon needs some resource type before it
	// can be installed. This can be used to indicate that a specific CRD and/or extension
	// apiserver must be installed before this addon can be installed. The addon will not
	// be installed until that resource is served.
	RequiredResourceTypes []GroupVersionKind `json:"requiredResourceTypes,omitempty"`
	// IsDefault indicates whether the addon is default
	IsDefault bool `json:"isDefault,omitempty"`
}

AddonSpec specifies details of an addon.

func (*AddonSpec) DeepCopy

func (in *AddonSpec) DeepCopy() *AddonSpec

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

func (*AddonSpec) DeepCopyInto

func (in *AddonSpec) DeepCopyInto(out *AddonSpec)

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

type AddonStatus

type AddonStatus struct {
	Conditions map[AddonConditionType]AddonCondition `json:"conditions,omitempty"`
}

func (*AddonStatus) DeepCopy

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

type AdmissionPlugin

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

	Spec AdmissionPluginSpec `json:"spec,omitempty"`
}

AdmissionPlugin is the type representing a AdmissionPlugin.

func (*AdmissionPlugin) DeepCopy

func (in *AdmissionPlugin) DeepCopy() *AdmissionPlugin

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

func (*AdmissionPlugin) DeepCopyInto

func (in *AdmissionPlugin) DeepCopyInto(out *AdmissionPlugin)

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

func (*AdmissionPlugin) DeepCopyObject

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

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

type AdmissionPluginList

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

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

AdmissionPluginList is the type representing a AdmissionPluginList.

func (*AdmissionPluginList) DeepCopy

func (in *AdmissionPluginList) DeepCopy() *AdmissionPluginList

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

func (*AdmissionPluginList) DeepCopyInto

func (in *AdmissionPluginList) DeepCopyInto(out *AdmissionPluginList)

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

func (*AdmissionPluginList) DeepCopyObject

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

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

type AdmissionPluginSpec

type AdmissionPluginSpec struct {
	PluginName string `json:"pluginName"`

	// FromVersion flag can be empty. It means the plugin fit to all k8s versions
	FromVersion *semver.Semver `json:"fromVersion,omitempty"`
}

AdmissionPluginSpec specifies admission plugin name and from which k8s version is supported.

func (*AdmissionPluginSpec) DeepCopy

func (in *AdmissionPluginSpec) DeepCopy() *AdmissionPluginSpec

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

func (*AdmissionPluginSpec) DeepCopyInto

func (in *AdmissionPluginSpec) DeepCopyInto(out *AdmissionPluginSpec)

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

type Alertmanager

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

	Spec   AlertmanagerSpec   `json:"spec,omitempty"`
	Status AlertmanagerStatus `json:"status,omitempty"`
}

func (*Alertmanager) DeepCopy

func (in *Alertmanager) DeepCopy() *Alertmanager

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

func (*Alertmanager) DeepCopyInto

func (in *Alertmanager) DeepCopyInto(out *Alertmanager)

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

func (*Alertmanager) DeepCopyObject

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

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

type AlertmanagerConfigurationStatus

type AlertmanagerConfigurationStatus struct {
	// LastUpdated stores the last successful time when the configuration was successfully applied
	LastUpdated metav1.Time `json:"lastUpdated,omitempty"`
	// Status of whether the configuration was applied, one of True, False
	Status corev1.ConditionStatus `json:"status"`
	// ErrorMessage contains a default error message in case the configuration could not be applied.
	// Will be reset if the error was resolved and condition becomes True
	ErrorMessage string `json:"errorMessage,omitempty"`
}

AlertmanagerConfigurationStatus stores status information about the AlertManager configuration.

func (*AlertmanagerConfigurationStatus) DeepCopy

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

func (*AlertmanagerConfigurationStatus) DeepCopyInto

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

type AlertmanagerList

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

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

func (*AlertmanagerList) DeepCopy

func (in *AlertmanagerList) DeepCopy() *AlertmanagerList

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

func (*AlertmanagerList) DeepCopyInto

func (in *AlertmanagerList) DeepCopyInto(out *AlertmanagerList)

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

func (*AlertmanagerList) DeepCopyObject

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

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

type AlertmanagerSpec

type AlertmanagerSpec struct {
	// ConfigSecret refers to the Secret in the same namespace as the Alertmanager object,
	// which contains configuration for this Alertmanager.
	ConfigSecret corev1.LocalObjectReference `json:"configSecret"`
}

func (*AlertmanagerSpec) DeepCopy

func (in *AlertmanagerSpec) DeepCopy() *AlertmanagerSpec

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

func (*AlertmanagerSpec) DeepCopyInto

func (in *AlertmanagerSpec) DeepCopyInto(out *AlertmanagerSpec)

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

type AlertmanagerStatus

type AlertmanagerStatus struct {
	ConfigStatus AlertmanagerConfigurationStatus `json:"configStatus,omitempty"`
}

AlertmanagerStatus stores status information about the AlertManager.

func (*AlertmanagerStatus) DeepCopy

func (in *AlertmanagerStatus) DeepCopy() *AlertmanagerStatus

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

func (*AlertmanagerStatus) DeepCopyInto

func (in *AlertmanagerStatus) DeepCopyInto(out *AlertmanagerStatus)

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

type Alibaba

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

	AccessKeyID     string `json:"accessKeyID"`
	AccessKeySecret string `json:"accessKeySecret"`
}

func (*Alibaba) DeepCopy

func (in *Alibaba) DeepCopy() *Alibaba

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

func (*Alibaba) DeepCopyInto

func (in *Alibaba) DeepCopyInto(out *Alibaba)

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

func (Alibaba) IsValid

func (s Alibaba) IsValid() bool

type AlibabaCloudSpec

type AlibabaCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	AccessKeyID     string `json:"accessKeyID,omitempty"`
	AccessKeySecret string `json:"accessKeySecret,omitempty"`
}

AlibabaCloudSpec specifies the access data to Alibaba.

func (*AlibabaCloudSpec) DeepCopy

func (in *AlibabaCloudSpec) DeepCopy() *AlibabaCloudSpec

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

func (*AlibabaCloudSpec) DeepCopyInto

func (in *AlibabaCloudSpec) DeepCopyInto(out *AlibabaCloudSpec)

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

type AllowedRegistry

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

	Spec AllowedRegistrySpec `json:"spec,omitempty"`
}

AllowedRegistry is the object representing an allowed registry.

func (*AllowedRegistry) DeepCopy

func (in *AllowedRegistry) DeepCopy() *AllowedRegistry

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

func (*AllowedRegistry) DeepCopyInto

func (in *AllowedRegistry) DeepCopyInto(out *AllowedRegistry)

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

func (*AllowedRegistry) DeepCopyObject

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

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

type AllowedRegistryList

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

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

AllowedRegistryList specifies a list of allowed registries.

func (*AllowedRegistryList) DeepCopy

func (in *AllowedRegistryList) DeepCopy() *AllowedRegistryList

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

func (*AllowedRegistryList) DeepCopyInto

func (in *AllowedRegistryList) DeepCopyInto(out *AllowedRegistryList)

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

func (*AllowedRegistryList) DeepCopyObject

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

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

type AllowedRegistrySpec

type AllowedRegistrySpec struct {
	// RegistryPrefix contains the prefix of the registry which will be allowed. User clusters will be able to deploy
	// only images which are prefixed with one of the allowed image registry prefixes.
	RegistryPrefix string `json:"registryPrefix"`
}

AllowedRegistrySpec specifies the data for allowed registry spec.

func (*AllowedRegistrySpec) DeepCopy

func (in *AllowedRegistrySpec) DeepCopy() *AllowedRegistrySpec

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

func (*AllowedRegistrySpec) DeepCopyInto

func (in *AllowedRegistrySpec) DeepCopyInto(out *AllowedRegistrySpec)

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

type Anexia

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

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

func (*Anexia) DeepCopy

func (in *Anexia) DeepCopy() *Anexia

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

func (*Anexia) DeepCopyInto

func (in *Anexia) DeepCopyInto(out *Anexia)

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

func (Anexia) IsValid

func (s Anexia) IsValid() bool

type AnexiaCloudSpec

type AnexiaCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	Token string `json:"token,omitempty"`
}

AnexiaCloudSpec specifies the access data to Anexia.

func (*AnexiaCloudSpec) DeepCopy

func (in *AnexiaCloudSpec) DeepCopy() *AnexiaCloudSpec

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

func (*AnexiaCloudSpec) DeepCopyInto

func (in *AnexiaCloudSpec) DeepCopyInto(out *AnexiaCloudSpec)

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

type AuditLoggingSettings

type AuditLoggingSettings struct {
	Enabled      bool              `json:"enabled,omitempty"`
	PolicyPreset AuditPolicyPreset `json:"policyPreset,omitempty"`
}

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
const (
	AuditPolicyMetadata    AuditPolicyPreset = "metadata"
	AuditPolicyRecommended AuditPolicyPreset = "recommended"
	AuditPolicyMinimal     AuditPolicyPreset = "minimal"
)

type Azure

type Azure 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, possible values are "basic" and "standard", if empty, "basic" will be used
	LoadBalancerSKU LBSKU `json:"loadBalancerSKU"` //nolint:tagliatelle
}

func (*Azure) DeepCopy

func (in *Azure) DeepCopy() *Azure

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

func (*Azure) DeepCopyInto

func (in *Azure) DeepCopyInto(out *Azure)

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

func (Azure) IsValid

func (s Azure) IsValid() bool

type AzureCloudSpec

type AzureCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

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

	ResourceGroup           string `json:"resourceGroup"`
	VNetResourceGroup       string `json:"vnetResourceGroup"`
	VNetName                string `json:"vnet"`
	SubnetName              string `json:"subnet"`
	RouteTableName          string `json:"routeTable"`
	SecurityGroup           string `json:"securityGroup"`
	NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"`
	AssignAvailabilitySet   *bool  `json:"assignAvailabilitySet,omitempty"`
	AvailabilitySet         string `json:"availabilitySet"`
	// LoadBalancerSKU sets the LB type that will be used for the Azure cluster, possible values are "basic" and "standard", if empty, "basic" will be used
	LoadBalancerSKU LBSKU `json:"loadBalancerSKU"` //nolint:tagliatelle
}

AzureCloudSpec specifies access credentials to Azure cloud.

func (*AzureCloudSpec) DeepCopy

func (in *AzureCloudSpec) DeepCopy() *AzureCloudSpec

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

func (*AzureCloudSpec) DeepCopyInto

func (in *AzureCloudSpec) DeepCopyInto(out *AzureCloudSpec)

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

type BackupDestination

type BackupDestination struct {
	// Endpoint is the API endpoint to use for backup and restore.
	Endpoint string `json:"endpoint"`
	// BucketName is the bucket name to use for backup and restore.
	BucketName string `json:"bucketName"`
	// Credentials hold the ref to the secret with backup credentials
	Credentials *corev1.SecretReference `json:"credentials,omitempty"`
}

BackupDestination defines the bucket name and endpoint as a backup destination, and holds reference to the credentials secret.

func (*BackupDestination) DeepCopy

func (in *BackupDestination) DeepCopy() *BackupDestination

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

func (*BackupDestination) DeepCopyInto

func (in *BackupDestination) DeepCopyInto(out *BackupDestination)

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

type BackupStatus

type BackupStatus struct {
	// ScheduledTime will always be set when the BackupStatus is created, so it'll never be nil
	// +optional
	ScheduledTime metav1.Time `json:"scheduledTime,omitempty"`
	BackupName    string      `json:"backupName,omitempty"`
	JobName       string      `json:"jobName,omitempty"`
	// +optional
	BackupStartTime metav1.Time `json:"backupStartTime,omitempty"`
	// +optional
	BackupFinishedTime metav1.Time       `json:"backupFinishedTime,omitempty"`
	BackupPhase        BackupStatusPhase `json:"backupPhase,omitempty"`
	BackupMessage      string            `json:"backupMessage,omitempty"`
	DeleteJobName      string            `json:"deleteJobName,omitempty"`
	// +optional
	DeleteStartTime metav1.Time `json:"deleteStartTime,omitempty"`
	// +optional
	DeleteFinishedTime metav1.Time       `json:"deleteFinishedTime,omitempty"`
	DeletePhase        BackupStatusPhase `json:"deletePhase,omitempty"`
	DeleteMessage      string            `json:"deleteMessage,omitempty"`
}

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type BackupStatusPhase

type BackupStatusPhase string

type BringYourOwnCloudSpec

type BringYourOwnCloudSpec struct{}

BringYourOwnCloudSpec specifies access data for a bring your own cluster.

func (*BringYourOwnCloudSpec) DeepCopy

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

func (*BringYourOwnCloudSpec) DeepCopyInto

func (in *BringYourOwnCloudSpec) DeepCopyInto(out *BringYourOwnCloudSpec)

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

type Bytes

type Bytes []byte

func NewBytes

func NewBytes(b64 string) Bytes

NewBytes creates a Bytes instance from a base64 string, returning nil for an empty base64 string.

func (Bytes) Base64

func (bs Bytes) Base64() string

Base64 converts a Bytes instance to a base64 string.

func (Bytes) DeepCopy

func (in Bytes) DeepCopy() Bytes

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

func (Bytes) DeepCopyInto

func (in Bytes) DeepCopyInto(out *Bytes)

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

func (Bytes) MarshalJSON

func (bs Bytes) MarshalJSON() ([]byte, error)

MarshalJSON adds base64 json encoding to the Bytes type.

func (*Bytes) UnmarshalJSON

func (bs *Bytes) UnmarshalJSON(src []byte) error

UnmarshalJSON adds base64 json decoding to the Bytes type.

type CNIPluginSettings

type CNIPluginSettings struct {
	Type    CNIPluginType `json:"type"`
	Version string        `json:"version"`
}

CNIPluginSettings contains the spec of the CNI plugin used by the Cluster.

func (*CNIPluginSettings) DeepCopy

func (in *CNIPluginSettings) DeepCopy() *CNIPluginSettings

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

func (*CNIPluginSettings) DeepCopyInto

func (in *CNIPluginSettings) DeepCopyInto(out *CNIPluginSettings)

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

type CNIPluginType

type CNIPluginType string

CNIPluginType define the type of CNI plugin installed. e.g. Canal.

const (
	// CNIPluginTypeCanal corresponds to Canal CNI plugin (i.e. Flannel +
	// Calico for policy enforcement).
	CNIPluginTypeCanal CNIPluginType = "canal"

	// CNIPluginTypeCilium corresponds to Cilium CNI plugin.
	CNIPluginTypeCilium CNIPluginType = "cilium"

	// CNIPluginTypeNone corresponds to no CNI plugin managed by KKP
	// (cluster users are responsible for managing the CNI in the cluster themselves).
	CNIPluginTypeNone CNIPluginType = "none"
)

func (CNIPluginType) String

func (c CNIPluginType) String() string

type CleanupOptions

type CleanupOptions struct {
	Enabled  bool `json:"enabled,omitempty"`
	Enforced bool `json:"enforced,omitempty"`
}

func (*CleanupOptions) DeepCopy

func (in *CleanupOptions) DeepCopy() *CleanupOptions

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

func (*CleanupOptions) DeepCopyInto

func (in *CleanupOptions) DeepCopyInto(out *CleanupOptions)

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

type CloudSpec

type CloudSpec struct {
	// DatacenterName where the users 'cloud' lives in.
	DatacenterName string `json:"dc"`

	// ProviderName is the name of the cloud provider used for this cluster.
	// This must match the given provider spec (e.g. if the providerName is
	// "aws", then the AWSCloudSpec must be set)
	ProviderName string `json:"providerName"`

	Fake         *FakeCloudSpec         `json:"fake,omitempty"`
	Digitalocean *DigitaloceanCloudSpec `json:"digitalocean,omitempty"`
	BringYourOwn *BringYourOwnCloudSpec `json:"bringyourown,omitempty"`
	AWS          *AWSCloudSpec          `json:"aws,omitempty"`
	Azure        *AzureCloudSpec        `json:"azure,omitempty"`
	Openstack    *OpenstackCloudSpec    `json:"openstack,omitempty"`
	Packet       *PacketCloudSpec       `json:"packet,omitempty"`
	Hetzner      *HetznerCloudSpec      `json:"hetzner,omitempty"`
	VSphere      *VSphereCloudSpec      `json:"vsphere,omitempty"`
	GCP          *GCPCloudSpec          `json:"gcp,omitempty"`
	Kubevirt     *KubevirtCloudSpec     `json:"kubevirt,omitempty"`
	Alibaba      *AlibabaCloudSpec      `json:"alibaba,omitempty"`
	Anexia       *AnexiaCloudSpec       `json:"anexia,omitempty"`
	Nutanix      *NutanixCloudSpec      `json:"nutanix,omitempty"`
}

CloudSpec mutually stores access data to a cloud provider.

func (*CloudSpec) DeepCopy

func (in *CloudSpec) DeepCopy() *CloudSpec

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

func (*CloudSpec) DeepCopyInto

func (in *CloudSpec) DeepCopyInto(out *CloudSpec)

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

type Cluster

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

	Spec    ClusterSpec    `json:"spec,omitempty"`
	Address ClusterAddress `json:"address,omitempty"`
	Status  ClusterStatus  `json:"status,omitempty"`
}

Cluster is the object representing a cluster.

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) GetSecretName

func (cluster *Cluster) GetSecretName() string

func (*Cluster) GetUserClusterMLAResourceRequirements

func (cluster *Cluster) GetUserClusterMLAResourceRequirements() map[string]*corev1.ResourceRequirements

func (*Cluster) GetUserClusterOPAResourceRequirements

func (cluster *Cluster) GetUserClusterOPAResourceRequirements() map[string]*corev1.ResourceRequirements

type ClusterAddress

type ClusterAddress struct {
	// URL under which the Apiserver is available
	URL string `json:"url"`
	// Port is the port the API server listens on
	Port int32 `json:"port"`
	// ExternalName is the DNS name for this cluster
	ExternalName string `json:"externalName"`
	// InternalName is the seed cluster internal absolute DNS name to the API server
	InternalName string `json:"internalURL"`
	// AdminToken is the token for the kubeconfig, the user can download
	AdminToken string `json:"adminToken"`
	// IP is the external IP under which the apiserver is available
	IP string `json:"ip"`
}

ClusterAddress stores access and address information of a cluster.

func (*ClusterAddress) DeepCopy

func (in *ClusterAddress) DeepCopy() *ClusterAddress

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

func (*ClusterAddress) DeepCopyInto

func (in *ClusterAddress) DeepCopyInto(out *ClusterAddress)

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

type ClusterCondition

type ClusterCondition struct {
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// KubermaticVersion current kubermatic version.
	KubermaticVersion string `json:"kubermaticVersion"`
	// Last time we got an update on a given condition.
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*ClusterCondition) DeepCopy

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ClusterConditionType

type ClusterConditionType string

ClusterConditionType is used to indicate the type of a cluster condition. For all condition types, the `true` value must indicate success. All condition types must be registered within the `AllClusterConditionTypes` variable.

const (
	// ClusterConditionSeedResourcesUpToDate indicates that all controllers have finished setting up the
	// resources for a user clusters that run inside the seed cluster, i.e. this ignores
	// the status of cloud provider resources for a given cluster.
	ClusterConditionSeedResourcesUpToDate ClusterConditionType = "SeedResourcesUpToDate"

	ClusterConditionClusterControllerReconcilingSuccess           ClusterConditionType = "ClusterControllerReconciledSuccessfully"
	ClusterConditionAddonControllerReconcilingSuccess             ClusterConditionType = "AddonControllerReconciledSuccessfully"
	ClusterConditionAddonInstallerControllerReconcilingSuccess    ClusterConditionType = "AddonInstallerControllerReconciledSuccessfully"
	ClusterConditionBackupControllerReconcilingSuccess            ClusterConditionType = "BackupControllerReconciledSuccessfully"
	ClusterConditionCloudControllerReconcilingSuccess             ClusterConditionType = "CloudControllerReconcilledSuccessfully"
	ClusterConditionUpdateControllerReconcilingSuccess            ClusterConditionType = "UpdateControllerReconciledSuccessfully"
	ClusterConditionMonitoringControllerReconcilingSuccess        ClusterConditionType = "MonitoringControllerReconciledSuccessfully"
	ClusterConditionMachineDeploymentControllerReconcilingSuccess ClusterConditionType = "MachineDeploymentReconciledSuccessfully"
	ClusterConditionMLAControllerReconcilingSuccess               ClusterConditionType = "MLAControllerReconciledSuccessfully"
	ClusterConditionClusterInitialized                            ClusterConditionType = "ClusterInitialized"

	ClusterConditionEtcdClusterInitialized ClusterConditionType = "EtcdClusterInitialized"

	// ClusterConditionNone is a special value indicating that no cluster condition should be set.
	ClusterConditionNone ClusterConditionType = ""
	// This condition is met when a CSI migration is ongoing and the CSI
	// migration feature gates are activated on the Kubelets of all the nodes.
	// When this condition is `true` CSIMigration{provider}Complete can be
	// enabled.
	ClusterConditionCSIKubeletMigrationCompleted ClusterConditionType = "CSIKubeletMigrationCompleted"

	ReasonClusterUpdateSuccessful             = "ClusterUpdateSuccessful"
	ReasonClusterUpdateInProgress             = "ClusterUpdateInProgress"
	ReasonClusterCSIKubeletMigrationCompleted = "CSIKubeletMigrationSuccess"
	ReasonClusterCCMMigrationInProgress       = "CSIKubeletMigrationInProgress"
)

type ClusterList

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

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

ClusterList specifies a list of clusters.

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterNetworkingConfig

type ClusterNetworkingConfig struct {
	// The network ranges from which service VIPs are allocated.
	Services NetworkRanges `json:"services"`

	// The network ranges from which POD networks are allocated.
	Pods NetworkRanges `json:"pods"`

	// Domain name for services.
	DNSDomain string `json:"dnsDomain"`

	// ProxyMode defines the kube-proxy mode ("ipvs" / "iptables" / "ebpf").
	// Defaults to "ipvs". "ebpf" disables kube-proxy and requires CNI support.
	ProxyMode string `json:"proxyMode"`

	// IPVS defines kube-proxy ipvs configuration options
	IPVS *IPVSConfiguration `json:"ipvs,omitempty"`

	// NodeLocalDNSCacheEnabled controls whether the NodeLocal DNS Cache feature is enabled.
	// Defaults to true.
	NodeLocalDNSCacheEnabled *bool `json:"nodeLocalDNSCacheEnabled,omitempty"`

	// KonnectivityEnabled enables konnectivity for controlplane to node network communication.
	KonnectivityEnabled *bool `json:"konnectivityEnabled,omitempty"`
}

ClusterNetworkingConfig specifies the different networking parameters for a cluster.

func (*ClusterNetworkingConfig) DeepCopy

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

func (*ClusterNetworkingConfig) DeepCopyInto

func (in *ClusterNetworkingConfig) DeepCopyInto(out *ClusterNetworkingConfig)

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

type ClusterSpec

type ClusterSpec struct {
	Cloud           CloudSpec                 `json:"cloud"`
	ClusterNetwork  ClusterNetworkingConfig   `json:"clusterNetwork"`
	MachineNetworks []MachineNetworkingConfig `json:"machineNetworks,omitempty"`

	// Version defines the wanted version of the control plane
	Version semver.Semver `json:"version"`

	// HumanReadableName is the cluster name provided by the user
	HumanReadableName string `json:"humanReadableName"`

	// ExposeStrategy is the approach we use to expose this cluster, either via NodePort
	// or via a dedicated LoadBalancer
	ExposeStrategy ExposeStrategy `json:"exposeStrategy"`

	// Pause tells that this cluster is currently not managed by the controller.
	// It indicates that the user needs to do some action to resolve the pause.
	Pause bool `json:"pause"`
	// PauseReason is the reason why the cluster is no being managed.
	PauseReason string `json:"pauseReason,omitempty"`

	// DebugLog enables more verbose logging by KKP's usercluster-controller-manager.
	DebugLog bool `json:"debugLog,omitempty"`

	// Optional component specific overrides
	ComponentsOverride ComponentSettings `json:"componentsOverride,omitempty"`

	OIDC OIDCSettings `json:"oidc,omitempty"`

	// Feature flags
	// This unfortunately has to be a string map, because we use it in templating and that
	// can not cope with string types
	Features map[string]bool `json:"features,omitempty"`

	UpdateWindow *UpdateWindow `json:"updateWindow,omitempty"`

	UsePodSecurityPolicyAdmissionPlugin bool `json:"usePodSecurityPolicyAdmissionPlugin,omitempty"`
	UsePodNodeSelectorAdmissionPlugin   bool `json:"usePodNodeSelectorAdmissionPlugin,omitempty"`
	UseEventRateLimitAdmissionPlugin    bool `json:"useEventRateLimitAdmissionPlugin,omitempty"`

	// EnableUserSSHKeyAgent control whether the UserSSHKeyAgent will be deployed in the user cluster or not.
	// If it was enabled, the agent will be deployed and used to sync the user ssh keys, that the user attach
	// to the created cluster. If the agent was disabled, it won't be deployed in the user cluster, thus after
	// the cluster creation any attached ssh keys won't be synced to the worker nodes. Once the agent is enabled/disabled
	// it cannot be changed after the cluster is being created.
	EnableUserSSHKeyAgent *bool `json:"enableUserSSHKeyAgent,omitempty"`

	// EnableOperatingSystemManager enables OSM which in-turn is responsible for creating and managing worker node configuration
	EnableOperatingSystemManager bool `json:"enableOperatingSystemManager,omitempty"`

	// PodNodeSelectorAdmissionPluginConfig provides the configuration for the PodNodeSelector.
	// It's used by the backend to create a configuration file for this plugin.
	// The key:value from the map is converted to the namespace:<node-selectors-labels> in the file.
	// The format in a file:
	// podNodeSelectorPluginConfig:
	//  clusterDefaultNodeSelector: <node-selectors-labels>
	//  namespace1: <node-selectors-labels>
	//  namespace2: <node-selectors-labels>
	PodNodeSelectorAdmissionPluginConfig map[string]string `json:"podNodeSelectorAdmissionPluginConfig,omitempty"`

	// EventRateLimitConfig allows configuring the EventRateLimit admission plugin (if enabled via useEventRateLimitAdmissionPlugin)
	// to create limits on Kubernetes event generation. The EventRateLimit plugin is capable of comparing incoming Events
	// to several configured buckets based on the type of event rate limit.
	EventRateLimitConfig *EventRateLimitConfig `json:"eventRateLimitConfig,omitempty"`

	// AdmissionPlugins provides the ability to pass arbitrary names of admission plugins to kube-apiserver
	AdmissionPlugins []string `json:"admissionPlugins,omitempty"`

	AuditLogging *AuditLoggingSettings `json:"auditLogging,omitempty"`

	// OPAIntegration is a preview feature that enables OPA integration with Kubermatic for the cluster.
	// Enabling it causes gatekeeper and its resources to be deployed on the user cluster.
	// By default it is disabled.
	OPAIntegration *OPAIntegrationSettings `json:"opaIntegration,omitempty"`

	// ServiceAccount contains service account related settings for the kube-apiserver of user cluster.
	ServiceAccount *ServiceAccountSettings `json:"serviceAccount,omitempty"`

	// MLA contains monitoring, logging and alerting related settings for the user cluster.
	MLA *MLASettings `json:"mla,omitempty"`

	// ContainerRuntime to use, i.e. Docker or containerd. By default containerd will be used.
	ContainerRuntime string `json:"containerRuntime,omitempty"`

	// CNIPlugin contains the spec of the CNI plugin to be installed in the cluster.
	CNIPlugin *CNIPluginSettings `json:"cniPlugin,omitempty"`
}

ClusterSpec specifies the data for a new 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 {
	// +optional
	LastUpdated metav1.Time `json:"lastUpdated,omitempty"`
	// ExtendedHealth exposes information about the current health state.
	// Extends standard health status for new states.
	// +optional
	ExtendedHealth ExtendedClusterHealth `json:"extendedHealth,omitempty"`
	// LastProviderReconciliation is the time when the cloud provider resources
	// were last fully reconciled (during normal cluster reconciliation, KKP does
	// not re-check things like security groups, networks etc.).
	// +optional
	LastProviderReconciliation metav1.Time `json:"lastProviderReconciliation,omitempty"`
	// NamespaceName defines the namespace the control plane of this cluster is deployed in
	// +optional
	NamespaceName string `json:"namespaceName"`

	// UserName contains the name of the owner of this cluster
	// +optional
	UserName string `json:"userName,omitempty"`
	// UserEmail contains the email of the owner of this cluster
	// +optional
	UserEmail string `json:"userEmail"`

	// ErrorReason contains a error reason in case the controller encountered an error. Will be reset if the error was resolved
	// +optional
	ErrorReason *ClusterStatusError `json:"errorReason,omitempty"`
	// ErrorMessage contains a default error message in case the controller encountered an error. Will be reset if the error was resolved
	// +optional
	ErrorMessage *string `json:"errorMessage,omitempty"`

	// Conditions contains conditions the cluster is in, its primary use case is status signaling between controllers or between
	// controllers and the API
	// +optional
	Conditions map[ClusterConditionType]ClusterCondition `json:"conditions,omitempty"`

	// CloudMigrationRevision describes the latest version of the migration that has been done
	// It is used to avoid redundant and potentially costly migrations
	// +optional
	CloudMigrationRevision int `json:"cloudMigrationRevision,omitempty"`

	// InheritedLabels are labels the cluster inherited from the project. They are read-only for users.
	// +optional
	InheritedLabels map[string]string `json:"inheritedLabels,omitempty"`
}

ClusterStatus stores status information about a cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

func (*ClusterStatus) HasConditionValue

func (cs *ClusterStatus) HasConditionValue(conditionType ClusterConditionType, conditionStatus corev1.ConditionStatus) bool

HasConditionValue returns true if the cluster status has the given condition with the given status. It does not verify that the condition has been set by a certain Kubermatic version, it just checks the existence.

type ClusterStatusError

type ClusterStatusError string
const (
	InvalidConfigurationClusterError ClusterStatusError = "InvalidConfiguration"
	UnsupportedChangeClusterError    ClusterStatusError = "UnsupportedChange"
	ReconcileClusterError            ClusterStatusError = "ReconcileError"
)

type ClusterTemplate

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

	ClusterLabels          map[string]string       `json:"clusterLabels,omitempty"`
	InheritedClusterLabels map[string]string       `json:"inheritedClusterLabels,omitempty"`
	Credential             string                  `json:"credential"`
	UserSSHKeys            []ClusterTemplateSSHKey `json:"userSSHKeys,omitempty"`
	Spec                   ClusterSpec             `json:"spec,omitempty"`
}

ClusterTemplate is the object representing a cluster template.

func (*ClusterTemplate) DeepCopy

func (in *ClusterTemplate) DeepCopy() *ClusterTemplate

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

func (*ClusterTemplate) DeepCopyInto

func (in *ClusterTemplate) DeepCopyInto(out *ClusterTemplate)

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

func (*ClusterTemplate) DeepCopyObject

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

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

type ClusterTemplateInstance

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

	Spec ClusterTemplateInstanceSpec `json:"spec,omitempty"`
}

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 ClusterTemplateInstanceSpec

type ClusterTemplateInstanceSpec struct {
	ProjectID           string `json:"projectID"`
	ClusterTemplateID   string `json:"clusterTemplateID"`
	ClusterTemplateName string `json:"clusterTemplateName"`
	Replicas            int64  `json:"replicas"`
}

ClusterTemplateInstanceSpec specifies the data for cluster instances.

func (*ClusterTemplateInstanceSpec) DeepCopy

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

func (*ClusterTemplateInstanceSpec) DeepCopyInto

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

type ClusterTemplateList

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

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

ClusterTemplateList specifies a list of cluster templates.

func (*ClusterTemplateList) DeepCopy

func (in *ClusterTemplateList) DeepCopy() *ClusterTemplateList

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

func (*ClusterTemplateList) DeepCopyInto

func (in *ClusterTemplateList) DeepCopyInto(out *ClusterTemplateList)

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

func (*ClusterTemplateList) DeepCopyObject

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

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

type ClusterTemplateSSHKey

type ClusterTemplateSSHKey struct {
	Name string `json:"name"`
	ID   string `json:"id"`
}

ClusterTemplateSSHKey is the object for holding SSH key.

func (*ClusterTemplateSSHKey) DeepCopy

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

func (*ClusterTemplateSSHKey) DeepCopyInto

func (in *ClusterTemplateSSHKey) DeepCopyInto(out *ClusterTemplateSSHKey)

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

type ComponentSettings

type ComponentSettings struct {
	Apiserver          APIServerSettings       `json:"apiserver"`
	ControllerManager  ControllerSettings      `json:"controllerManager"`
	Scheduler          ControllerSettings      `json:"scheduler"`
	Etcd               EtcdStatefulSetSettings `json:"etcd"`
	Prometheus         StatefulSetSettings     `json:"prometheus"`
	NodePortProxyEnvoy NodeportProxyComponent  `json:"nodePortProxyEnvoy"`
}

func (*ComponentSettings) DeepCopy

func (in *ComponentSettings) DeepCopy() *ComponentSettings

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

func (*ComponentSettings) DeepCopyInto

func (in *ComponentSettings) DeepCopyInto(out *ComponentSettings)

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

type ConditionType

type ConditionType string

ConditionType is the type defining the cluster or datacenter condition that must be met to block a specific version.

const (
	// AlwaysCondition represent an always true matching condition used while checking provider incompatibilities.
	AlwaysCondition ConditionType = "always"
	// ExternalCloudProviderCondition is an incompatibility condition that represents the usage of the external Cloud Provider.
	ExternalCloudProviderCondition ConditionType = ClusterFeatureExternalCloudProvider
)

type Constraint

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

	Spec ConstraintSpec `json:"spec,omitempty"`
}

Constraint specifies a kubermatic wrapper for the gatekeeper constraints.

func (*Constraint) DeepCopy

func (in *Constraint) DeepCopy() *Constraint

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

func (*Constraint) DeepCopyInto

func (in *Constraint) DeepCopyInto(out *Constraint)

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

func (*Constraint) DeepCopyObject

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

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

type ConstraintList

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

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

ConstraintList specifies a list of constraints.

func (*ConstraintList) DeepCopy

func (in *ConstraintList) DeepCopy() *ConstraintList

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

func (*ConstraintList) DeepCopyInto

func (in *ConstraintList) DeepCopyInto(out *ConstraintList)

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

func (*ConstraintList) DeepCopyObject

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

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

type ConstraintSelector

type ConstraintSelector struct {
	// Providers is a list of cloud providers to which the Constraint applies to. Empty means all providers are selected.
	Providers []string `json:"providers,omitempty"`
	// LabelSelector selects the Clusters to which the Constraint applies based on their labels
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`
}

ConstraintSelector is the object holding the cluster selection filters.

func (*ConstraintSelector) DeepCopy

func (in *ConstraintSelector) DeepCopy() *ConstraintSelector

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

func (*ConstraintSelector) DeepCopyInto

func (in *ConstraintSelector) DeepCopyInto(out *ConstraintSelector)

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

type ConstraintSpec

type ConstraintSpec struct {
	// ConstraintType specifies the type of gatekeeper constraint that the constraint applies to
	ConstraintType string `json:"constraintType"`
	// Disabled  is the flag for disabling OPA constraints
	Disabled bool `json:"disabled,omitempty"`
	// Match contains the constraint to resource matching data
	Match Match `json:"match,omitempty"`
	// Parameters specifies the parameters used by the constraint template REGO.
	// It supports both the legacy rawJSON parameters, in which all the parameters are set in a JSON string, and regular
	// parameters like in Gatekeeper Constraints.
	// If rawJSON is set, during constraint syncing to the user cluster, the other parameters are ignored
	// Example with rawJSON parameters:
	//
	// parameters:
	//   rawJSON: '{"labels":["gatekeeper"]}'
	//
	// And with regular parameters:
	//
	// parameters:
	//   labels: ["gatekeeper"]
	//
	// +kubebuilder:validation:Schemaless
	// +kubebuilder:pruning:PreserveUnknownFields
	Parameters Parameters `json:"parameters,omitempty"`
	// Selector specifies the cluster selection filters
	Selector ConstraintSelector `json:"selector,omitempty"`
}

ConstraintSpec specifies the data for the constraint.

func (*ConstraintSpec) DeepCopy

func (in *ConstraintSpec) DeepCopy() *ConstraintSpec

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

func (*ConstraintSpec) DeepCopyInto

func (in *ConstraintSpec) DeepCopyInto(out *ConstraintSpec)

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

type ConstraintTemplate

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

	Spec ConstraintTemplateSpec `json:"spec,omitempty"`
}

ConstraintTemplate is the object representing a kubermatic wrapper for a gatekeeper constraint template.

func (*ConstraintTemplate) DeepCopy

func (in *ConstraintTemplate) DeepCopy() *ConstraintTemplate

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

func (*ConstraintTemplate) DeepCopyInto

func (in *ConstraintTemplate) DeepCopyInto(out *ConstraintTemplate)

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

func (*ConstraintTemplate) DeepCopyObject

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

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

type ConstraintTemplateList

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

	Items []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 ConstraintTemplateSelector

type ConstraintTemplateSelector struct {
	// Providers is a list of cloud providers to which the Constraint Template applies to. Empty means all providers are selected.
	Providers []string `json:"providers,omitempty"`
	// LabelSelector selects the Clusters to which the Constraint Template applies based on their labels
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`
}

ConstraintTemplateSelector is the object holding the cluster selection filters.

func (*ConstraintTemplateSelector) DeepCopy

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

func (*ConstraintTemplateSelector) DeepCopyInto

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

type ConstraintTemplateSpec

type ConstraintTemplateSpec struct {
	CRD      v1beta1.CRD                `json:"crd,omitempty"`
	Targets  []v1beta1.Target           `json:"targets,omitempty"`
	Selector ConstraintTemplateSelector `json:"selector,omitempty"`
}

ConstraintTemplateSpec is the object representing the gatekeeper constraint template spec and kubermatic related spec.

func (*ConstraintTemplateSpec) DeepCopy

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

func (*ConstraintTemplateSpec) DeepCopyInto

func (in *ConstraintTemplateSpec) DeepCopyInto(out *ConstraintTemplateSpec)

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

type ControllerSettings

type ControllerSettings struct {
	DeploymentSettings     `json:",inline"`
	LeaderElectionSettings `json:"leaderElection,omitempty"`
}

func (*ControllerSettings) DeepCopy

func (in *ControllerSettings) DeepCopy() *ControllerSettings

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

func (*ControllerSettings) DeepCopyInto

func (in *ControllerSettings) DeepCopyInto(out *ControllerSettings)

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

type CustomLink struct {
	Label    string `json:"label"`
	URL      string `json:"url"`
	Icon     string `json:"icon"`
	Location string `json:"location"`
}

func (*CustomLink) DeepCopy

func (in *CustomLink) DeepCopy() *CustomLink

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

func (*CustomLink) DeepCopyInto

func (in *CustomLink) DeepCopyInto(out *CustomLink)

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

type CustomLinks []CustomLink

func (CustomLinks) DeepCopy

func (in CustomLinks) DeepCopy() CustomLinks

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

func (CustomLinks) DeepCopyInto

func (in CustomLinks) DeepCopyInto(out *CustomLinks)

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

type Datacenter

type Datacenter struct {
	// Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK.
	// For informational purposes in the Kubermatic dashboard only.
	Country string `json:"country,omitempty"`
	// Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7".
	// For informational purposes in the Kubermatic dashboard only.
	Location string `json:"location,omitempty"`
	// Node holds node-specific settings, like e.g. HTTP proxy, Docker
	// registries and the like. Proxy settings are inherited from the seed if
	// not specified here.
	Node *NodeSettings `json:"node,omitempty"`
	// Spec describes the cloud provider settings used to manage resources
	// in this datacenter. Exactly one cloud provider must be defined.
	Spec DatacenterSpec `json:"spec"`
}

func (*Datacenter) DeepCopy

func (in *Datacenter) DeepCopy() *Datacenter

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

func (*Datacenter) DeepCopyInto

func (in *Datacenter) DeepCopyInto(out *Datacenter)

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

type DatacenterSpec

type DatacenterSpec struct {
	Digitalocean *DatacenterSpecDigitalocean `json:"digitalocean,omitempty"`
	// BringYourOwn contains settings for clusters using manually created
	// nodes via kubeadm.
	BringYourOwn *DatacenterSpecBringYourOwn `json:"bringyourown,omitempty"`
	AWS          *DatacenterSpecAWS          `json:"aws,omitempty"`
	Azure        *DatacenterSpecAzure        `json:"azure,omitempty"`
	Openstack    *DatacenterSpecOpenstack    `json:"openstack,omitempty"`
	Packet       *DatacenterSpecPacket       `json:"packet,omitempty"`
	Hetzner      *DatacenterSpecHetzner      `json:"hetzner,omitempty"`
	VSphere      *DatacenterSpecVSphere      `json:"vsphere,omitempty"`
	GCP          *DatacenterSpecGCP          `json:"gcp,omitempty"`
	Kubevirt     *DatacenterSpecKubevirt     `json:"kubevirt,omitempty"`
	Alibaba      *DatacenterSpecAlibaba      `json:"alibaba,omitempty"`
	Anexia       *DatacenterSpecAnexia       `json:"anexia,omitempty"`
	// Nutanix is experimental and unsupported
	Nutanix *DatacenterSpecNutanix `json:"nutanix,omitempty"`

	//nolint:staticcheck
	//lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator
	Fake *DatacenterSpecFake `json:"fake,omitempty,omitgenyaml"`

	// Optional: When defined, only users with an e-mail address on the
	// given domains can make use of this datacenter. You can define multiple
	// domains, e.g. "example.com", one of which must match the email domain
	// exactly (i.e. "example.com" will not match "user@test.example.com").
	RequiredEmails []string `json:"requiredEmails,omitempty"`

	// EnforceAuditLogging enforces audit logging on every cluster within the DC,
	// ignoring cluster-specific settings.
	EnforceAuditLogging bool `json:"enforceAuditLogging,omitempty"`

	// EnforcePodSecurityPolicy enforces pod security policy plugin on every clusters within the DC,
	// ignoring cluster-specific settings
	EnforcePodSecurityPolicy bool `json:"enforcePodSecurityPolicy,omitempty"`

	// ProviderReconciliationInterval is the time that must have passed since a
	// Cluster's status.lastProviderReconciliation to make the cliuster controller
	// perform an in-depth provider reconciliation, where for example missing security
	// groups will be reconciled.
	// Setting this too low can cause rate limits by the cloud provider, setting this
	// too high means that *if* a resource at a cloud provider is removed/changed outside
	// of KKP, it will take this long to fix it.
	ProviderReconciliationInterval *metav1.Duration `json:"providerReconciliationInterval,omitempty"`
}

DatacenterSpec mutually points to provider datacenter spec.

func (*DatacenterSpec) DeepCopy

func (in *DatacenterSpec) DeepCopy() *DatacenterSpec

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

func (*DatacenterSpec) DeepCopyInto

func (in *DatacenterSpec) DeepCopyInto(out *DatacenterSpec)

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

type DatacenterSpecAWS

type DatacenterSpecAWS struct {
	// The AWS region to use, e.g. "us-east-1". For a list of available regions, see
	// https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
	Region string `json:"region"`

	// List of AMIs to use for a given operating system.
	// This gets defaulted by querying for the latest AMI for the given distribution
	// when machines are created, so under normal circumstances it is not necessary
	// to define the AMIs statically.
	Images ImageList `json:"images,omitempty"`
}

DatacenterSpecAWS describes an AWS datacenter.

func (*DatacenterSpecAWS) DeepCopy

func (in *DatacenterSpecAWS) DeepCopy() *DatacenterSpecAWS

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

func (*DatacenterSpecAWS) DeepCopyInto

func (in *DatacenterSpecAWS) DeepCopyInto(out *DatacenterSpecAWS)

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

type DatacenterSpecAlibaba

type DatacenterSpecAlibaba struct {
	// Region to use, for a full list of regions see
	// https://www.alibabacloud.com/help/doc-detail/40654.htm
	Region string `json:"region"`
}

DatacenterSpecAlibaba describes a alibaba datacenter.

func (*DatacenterSpecAlibaba) DeepCopy

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

func (*DatacenterSpecAlibaba) DeepCopyInto

func (in *DatacenterSpecAlibaba) DeepCopyInto(out *DatacenterSpecAlibaba)

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

type DatacenterSpecAnexia

type DatacenterSpecAnexia struct {
	// LocationID the location of the region
	LocationID string `json:"locationID"`
}

DatacenterSpecAnexia describes a anexia datacenter.

func (*DatacenterSpecAnexia) DeepCopy

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

func (*DatacenterSpecAnexia) DeepCopyInto

func (in *DatacenterSpecAnexia) DeepCopyInto(out *DatacenterSpecAnexia)

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

type DatacenterSpecAzure

type DatacenterSpecAzure struct {
	// Region to use, for example "westeurope". A list of available regions can be
	// found at https://azure.microsoft.com/en-us/global-infrastructure/locations/
	Location string `json:"location"`
}

DatacenterSpecAzure describes an Azure cloud datacenter.

func (*DatacenterSpecAzure) DeepCopy

func (in *DatacenterSpecAzure) DeepCopy() *DatacenterSpecAzure

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

func (*DatacenterSpecAzure) DeepCopyInto

func (in *DatacenterSpecAzure) DeepCopyInto(out *DatacenterSpecAzure)

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

type DatacenterSpecBringYourOwn

type DatacenterSpecBringYourOwn struct {
}

DatacenterSpecBringYourOwn describes a datacenter our of bring your own nodes.

func (*DatacenterSpecBringYourOwn) DeepCopy

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

func (*DatacenterSpecBringYourOwn) DeepCopyInto

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

type DatacenterSpecDigitalocean

type DatacenterSpecDigitalocean struct {
	// Datacenter location, e.g. "ams3". A list of existing datacenters can be found
	// at https://www.digitalocean.com/docs/platform/availability-matrix/
	Region string `json:"region"`
}

DatacenterSpecDigitalocean describes a DigitalOcean datacenter.

func (*DatacenterSpecDigitalocean) DeepCopy

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

func (*DatacenterSpecDigitalocean) DeepCopyInto

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

type DatacenterSpecFake

type DatacenterSpecFake struct {
	FakeProperty string `json:"fakeProperty,omitempty"`
}

DatacenterSpecFake describes a fake datacenter.

func (*DatacenterSpecFake) DeepCopy

func (in *DatacenterSpecFake) DeepCopy() *DatacenterSpecFake

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

func (*DatacenterSpecFake) DeepCopyInto

func (in *DatacenterSpecFake) DeepCopyInto(out *DatacenterSpecFake)

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

type DatacenterSpecGCP

type DatacenterSpecGCP struct {
	// Region to use, for example "europe-west3", for a full list of regions see
	// https://cloud.google.com/compute/docs/regions-zones/
	Region string `json:"region"`
	// List of enabled zones, for example [a, c]. See the link above for the available
	// zones in your chosen region.
	ZoneSuffixes []string `json:"zoneSuffixes"`

	// Optional: Regional clusters spread their resources across multiple availability zones.
	// Refer to the official documentation for more details on this:
	// https://cloud.google.com/kubernetes-engine/docs/concepts/regional-clusters
	Regional bool `json:"regional,omitempty"`
}

DatacenterSpecGCP describes a GCP datacenter.

func (*DatacenterSpecGCP) DeepCopy

func (in *DatacenterSpecGCP) DeepCopy() *DatacenterSpecGCP

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

func (*DatacenterSpecGCP) DeepCopyInto

func (in *DatacenterSpecGCP) DeepCopyInto(out *DatacenterSpecGCP)

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

type DatacenterSpecHetzner

type DatacenterSpecHetzner struct {
	// Datacenter location, e.g. "nbg1-dc3". A list of existing datacenters can be found
	// at https://wiki.hetzner.de/index.php/Rechenzentren_und_Anbindung/en
	Datacenter string `json:"datacenter"`
	// Network is the pre-existing Hetzner network in which the machines are running.
	// While machines can be in multiple networks, a single one must be chosen for the
	// HCloud CCM to work.
	Network string `json:"network"`
	// Optional: Detailed location of the datacenter, like "Hamburg" or "Datacenter 7".
	// For informational purposes only.
	Location string `json:"location,omitempty"`
}

DatacenterSpecHetzner describes a Hetzner cloud datacenter.

func (*DatacenterSpecHetzner) DeepCopy

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

func (*DatacenterSpecHetzner) DeepCopyInto

func (in *DatacenterSpecHetzner) DeepCopyInto(out *DatacenterSpecHetzner)

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

type DatacenterSpecKubevirt

type DatacenterSpecKubevirt struct {

	// DNSPolicy represents the dns policy for the pod. Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst',
	// 'Default' or 'None'. Defaults to "ClusterFirst". DNS parameters given in DNSConfig will be merged with the
	// policy selected with DNSPolicy.
	DNSPolicy string `json:"dnsPolicy,omitempty"`

	// DNSConfig represents the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	DNSConfig *corev1.PodDNSConfig `json:"dnsConfig,omitempty"`
}

DatacenterSpecKubevirt describes a kubevirt datacenter.

func (*DatacenterSpecKubevirt) DeepCopy

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

func (*DatacenterSpecKubevirt) DeepCopyInto

func (in *DatacenterSpecKubevirt) DeepCopyInto(out *DatacenterSpecKubevirt)

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

type DatacenterSpecNutanix

type DatacenterSpecNutanix struct {
	// Endpoint to use for accessing Nutanix Prism Central. No protocol or port should be passed,
	// for example "nutanix.example.com" or "10.0.0.1"
	Endpoint string `json:"endpoint"`
	// Optional: Port to use when connecting to the Nutanix Prism Central endpoint (defaults to 9440)
	Port *int32 `json:"port,omitempty"`

	// Optional: AllowInsecure allows to disable the TLS certificate check against the endpoint (defaults to false)
	AllowInsecure bool `json:"allowInsecure,omitempty"`
	// Images to use for each supported operating system
	Images ImageList `json:"images"`
}

DatacenterSpecNutanix describes a Nutanix datacenter.

func (*DatacenterSpecNutanix) DeepCopy

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

func (*DatacenterSpecNutanix) DeepCopyInto

func (in *DatacenterSpecNutanix) DeepCopyInto(out *DatacenterSpecNutanix)

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

type DatacenterSpecOpenstack

type DatacenterSpecOpenstack struct {
	AuthURL          string `json:"authURL"`
	AvailabilityZone string `json:"availabilityZone"`
	Region           string `json:"region"`
	// Optional
	IgnoreVolumeAZ bool `json:"ignoreVolumeAZ,omitempty"` //nolint:tagliatelle
	// Optional
	EnforceFloatingIP bool `json:"enforceFloatingIP,omitempty"`
	// Used for automatic network creation
	DNSServers []string `json:"dnsServers"`
	// Images to use for each supported operating system.
	Images ImageList `json:"images"`
	// Optional: Gets mapped to the "manage-security-groups" setting in the cloud config.
	// See https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#load-balancer
	// This setting defaults to true.
	ManageSecurityGroups *bool `json:"manageSecurityGroups,omitempty"`
	// Optional: Gets mapped to the "use-octavia" setting in the cloud config.
	// use-octavia is enabled by default in CCM since v1.17.0, and disabled by
	// default with the in-tree cloud provider.
	UseOctavia *bool `json:"useOctavia,omitempty"`
	// Optional: Gets mapped to the "trust-device-path" setting in the cloud config.
	// See https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#block-storage
	// This setting defaults to false.
	TrustDevicePath      *bool                         `json:"trustDevicePath,omitempty"`
	NodeSizeRequirements OpenstackNodeSizeRequirements `json:"nodeSizeRequirements"`
	// Optional: List of enabled flavors for the given datacenter
	EnabledFlavors []string `json:"enabledFlavors,omitempty"`
}

DatacenterSpecOpenstack describes an OpenStack datacenter.

func (*DatacenterSpecOpenstack) DeepCopy

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

func (*DatacenterSpecOpenstack) DeepCopyInto

func (in *DatacenterSpecOpenstack) DeepCopyInto(out *DatacenterSpecOpenstack)

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

type DatacenterSpecPacket

type DatacenterSpecPacket struct {
	// The list of enabled facilities, for example "ams1", for a full list of available
	// facilities see https://support.packet.com/kb/articles/data-centers
	Facilities []string `json:"facilities"`
}

DatacenterSpecPacket describes a Packet datacenter.

func (*DatacenterSpecPacket) DeepCopy

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

func (*DatacenterSpecPacket) DeepCopyInto

func (in *DatacenterSpecPacket) DeepCopyInto(out *DatacenterSpecPacket)

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

type DatacenterSpecVSphere

type DatacenterSpecVSphere struct {
	// Endpoint URL to use, including protocol, for example "https://vcenter.example.com".
	Endpoint string `json:"endpoint"`
	// If set to true, disables the TLS certificate check against the endpoint.
	AllowInsecure bool `json:"allowInsecure,omitempty"`
	// The default Datastore to be used for provisioning volumes using storage
	// classes/dynamic provisioning and for storing virtual machine files in
	// case no `Datastore` or `DatastoreCluster` is provided at Cluster level.
	DefaultDatastore string `json:"datastore"`
	// The name of the datacenter to use.
	Datacenter string `json:"datacenter"`
	// The name of the vSphere cluster to use. Used for out-of-tree CSI Driver.
	Cluster string `json:"cluster"`
	// The name of the storage policy to use for the storage class created in the user cluster.
	DefaultStoragePolicy string `json:"storagePolicy,omitempty"`
	// Optional: The root path for cluster specific VM folders. Each cluster gets its own
	// folder below the root folder. Must be the FQDN (for example
	// "/datacenter-1/vm/all-kubermatic-vms-in-here") and defaults to the root VM
	// folder: "/datacenter-1/vm"
	RootPath string `json:"rootPath,omitempty"`
	// A list of VM templates to use for a given operating system. You must
	// define at least one template.
	// See: https://github.com/kubermatic/machine-controller/blob/master/docs/vsphere.md#template-vms-preparation
	Templates ImageList `json:"templates"`
	// Optional: Infra management user is the user that will be used for everything
	// except the cloud provider functionality, which will still use the credentials
	// passed in via the Kubermatic dashboard/API.
	InfraManagementUser *VSphereCredentials `json:"infraManagementUser,omitempty"`
}

DatacenterSpecVSphere describes a vSphere datacenter.

func (*DatacenterSpecVSphere) DeepCopy

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

func (*DatacenterSpecVSphere) DeepCopyInto

func (in *DatacenterSpecVSphere) DeepCopyInto(out *DatacenterSpecVSphere)

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

type DeploymentSettings

type DeploymentSettings struct {
	Replicas    *int32                       `json:"replicas,omitempty"`
	Resources   *corev1.ResourceRequirements `json:"resources,omitempty"`
	Tolerations []corev1.Toleration          `json:"tolerations,omitempty"`
}

func (*DeploymentSettings) DeepCopy

func (in *DeploymentSettings) DeepCopy() *DeploymentSettings

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

func (*DeploymentSettings) DeepCopyInto

func (in *DeploymentSettings) DeepCopyInto(out *DeploymentSettings)

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

type Digitalocean

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

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

func (*Digitalocean) DeepCopy

func (in *Digitalocean) DeepCopy() *Digitalocean

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

func (*Digitalocean) DeepCopyInto

func (in *Digitalocean) DeepCopyInto(out *Digitalocean)

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

func (Digitalocean) IsValid

func (s Digitalocean) IsValid() bool

type DigitaloceanCloudSpec

type DigitaloceanCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

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

DigitaloceanCloudSpec specifies access data to DigitalOcean.

func (*DigitaloceanCloudSpec) DeepCopy

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

func (*DigitaloceanCloudSpec) DeepCopyInto

func (in *DigitaloceanCloudSpec) DeepCopyInto(out *DigitaloceanCloudSpec)

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

type EKS

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

	AccessKeyID     string `json:"accessKeyID"`
	SecretAccessKey string `json:"secretAccessKey"`
	Region          string `json:"region"`
}

func (*EKS) DeepCopy

func (in *EKS) DeepCopy() *EKS

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

func (*EKS) DeepCopyInto

func (in *EKS) DeepCopyInto(out *EKS)

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

func (EKS) IsValid

func (s EKS) IsValid() bool

type EtcdBackupConfig

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

	Spec   EtcdBackupConfigSpec   `json:"spec,omitempty"`
	Status EtcdBackupConfigStatus `json:"status,omitempty"`
}

EtcdBackupConfig specifies a add-on.

func (*EtcdBackupConfig) DeepCopy

func (in *EtcdBackupConfig) DeepCopy() *EtcdBackupConfig

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

func (*EtcdBackupConfig) DeepCopyInto

func (in *EtcdBackupConfig) DeepCopyInto(out *EtcdBackupConfig)

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

func (*EtcdBackupConfig) DeepCopyObject

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

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

func (*EtcdBackupConfig) GetKeptBackupsCount

func (bc *EtcdBackupConfig) GetKeptBackupsCount() int

type EtcdBackupConfigCondition

type EtcdBackupConfigCondition struct {
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// Last time we got an update on a given condition.
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime"`
	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*EtcdBackupConfigCondition) DeepCopy

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

func (*EtcdBackupConfigCondition) DeepCopyInto

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

type EtcdBackupConfigConditionType

type EtcdBackupConfigConditionType string

EtcdBackupConfigConditionType is used to indicate the type of a EtcdBackupConfig condition. For all condition types, the `true` value must indicate success. All condition types must be registered within the `AllClusterConditionTypes` variable.

const (
	// EtcdBackupConfigConditionSchedulingActive indicates that the EtcdBackupConfig is active, i.e.
	// new backups are being scheduled according to the config's schedule.
	EtcdBackupConfigConditionSchedulingActive EtcdBackupConfigConditionType = "SchedulingActive"
)

type EtcdBackupConfigList

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

	Items []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 EtcdBackupConfigSpec

type EtcdBackupConfigSpec struct {
	// Name defines the name of the backup
	// The name of the backup file in S3 will be <cluster>-<backup name>
	// If a schedule is set (see below), -<timestamp> will be appended.
	Name string `json:"name"`
	// Cluster is the reference to the cluster whose etcd will be backed up
	Cluster corev1.ObjectReference `json:"cluster"`
	// Schedule is a cron expression defining when to perform
	// the backup. If not set, the backup is performed exactly
	// once, immediately.
	Schedule string `json:"schedule,omitempty"`
	// Keep is the number of backups to keep around before deleting the oldest one
	// If not set, defaults to DefaultKeptBackupsCount. Only used if Schedule is set.
	Keep *int `json:"keep,omitempty"`
	// Destination indicates where the backup will be stored. The destination name must correspond to a destination in
	// the cluster's Seed.Spec.EtcdBackupRestore.
	Destination string `json:"destination"`
}

EtcdBackupConfigSpec specifies details of an etcd backup.

func (*EtcdBackupConfigSpec) DeepCopy

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

func (*EtcdBackupConfigSpec) DeepCopyInto

func (in *EtcdBackupConfigSpec) DeepCopyInto(out *EtcdBackupConfigSpec)

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

type EtcdBackupConfigStatus

type EtcdBackupConfigStatus struct {
	// CurrentBackups tracks the creation and deletion progress of all backups managed by the EtcdBackupConfig
	CurrentBackups []BackupStatus `json:"currentBackups,omitempty"`
	// Conditions contains conditions of the EtcdBackupConfig
	Conditions map[EtcdBackupConfigConditionType]EtcdBackupConfigCondition `json:"conditions,omitempty"`
	// If the controller was configured with a cleanupContainer, CleanupRunning keeps track of the corresponding job
	CleanupRunning bool `json:"cleanupRunning,omitempty"`
}

func (*EtcdBackupConfigStatus) DeepCopy

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

func (*EtcdBackupConfigStatus) DeepCopyInto

func (in *EtcdBackupConfigStatus) DeepCopyInto(out *EtcdBackupConfigStatus)

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

type EtcdBackupRestore

type EtcdBackupRestore struct {
	// Destinations stores all the possible destinations where the backups for the Seed can be stored. If not empty,
	// it enables automatic backup and restore for the seed.
	Destinations map[string]*BackupDestination `json:"destinations,omitempty"`
	// DefaultDestination marks the default destination that will be used for the default etcd backup config which is
	// created for every user cluster. Has to correspond to a destination in Destinations.
	// If removed, it removes the related default etcd backup configs.
	DefaultDestination string `json:"defaultDestination"`
}

EtcdBackupRestore holds the configuration of the automatic backup and restores.

func (*EtcdBackupRestore) DeepCopy

func (in *EtcdBackupRestore) DeepCopy() *EtcdBackupRestore

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

func (*EtcdBackupRestore) DeepCopyInto

func (in *EtcdBackupRestore) DeepCopyInto(out *EtcdBackupRestore)

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

type EtcdRestore

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

	Spec   EtcdRestoreSpec   `json:"spec,omitempty"`
	Status EtcdRestoreStatus `json:"status,omitempty"`
}

EtcdRestore specifies a add-on.

func (*EtcdRestore) DeepCopy

func (in *EtcdRestore) DeepCopy() *EtcdRestore

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

func (*EtcdRestore) DeepCopyInto

func (in *EtcdRestore) DeepCopyInto(out *EtcdRestore)

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

func (*EtcdRestore) DeepCopyObject

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

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

type EtcdRestoreList

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

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

EtcdRestoreList is a list of etcd restores.

func (*EtcdRestoreList) DeepCopy

func (in *EtcdRestoreList) DeepCopy() *EtcdRestoreList

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

func (*EtcdRestoreList) DeepCopyInto

func (in *EtcdRestoreList) DeepCopyInto(out *EtcdRestoreList)

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

func (*EtcdRestoreList) DeepCopyObject

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

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

type EtcdRestorePhase

type EtcdRestorePhase string

EtcdRestorePhase represents the lifecycle phase of an EtcdRestore.

const (
	// EtcdRestoreResourceName represents "Resource" defined in Kubernetes.
	EtcdRestoreResourceName = "etcdrestores"

	// EtcdRestoreKindName represents "Kind" defined in Kubernetes.
	EtcdRestoreKindName = "EtcdRestore"

	// EtcdRestorePhaseStarted value indicating that the restore has started.
	EtcdRestorePhaseStarted EtcdRestorePhase = "Started"

	// EtcdRestorePhaseStsRebuilding value indicating that the old Etcd statefulset has been deleted and is now rebuilding.
	EtcdRestorePhaseStsRebuilding EtcdRestorePhase = "StsRebuilding"

	// EtcdRestorePhaseCompleted value indicating that the old Etcd statefulset has completed successfully.
	EtcdRestorePhaseCompleted EtcdRestorePhase = "Completed"
)

type EtcdRestoreSpec

type EtcdRestoreSpec struct {
	// Name defines the name of the restore
	// The name of the restore file in S3 will be <cluster>-<restore name>
	// If a schedule is set (see below), -<timestamp> will be appended.
	Name string `json:"name"`
	// Cluster is the reference to the cluster whose etcd will be backed up
	Cluster corev1.ObjectReference `json:"cluster"`
	// BackupName is the name of the backup to restore from
	BackupName string `json:"backupName"`
	// BackupDownloadCredentialsSecret is the name of a secret in the cluster-xxx namespace containing
	// credentials needed to download the backup
	BackupDownloadCredentialsSecret string `json:"backupDownloadCredentialsSecret,omitempty"`
	// Destination indicates where the backup was stored. The destination name should correspond to a destination in
	// the cluster's Seed.Spec.EtcdBackupRestore. If empty, it will use the legacy destination configured in Seed.Spec.BackupRestore
	Destination string `json:"destination,omitempty"`
}

EtcdRestoreSpec specifies details of an etcd restore.

func (*EtcdRestoreSpec) DeepCopy

func (in *EtcdRestoreSpec) DeepCopy() *EtcdRestoreSpec

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

func (*EtcdRestoreSpec) DeepCopyInto

func (in *EtcdRestoreSpec) DeepCopyInto(out *EtcdRestoreSpec)

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

type EtcdRestoreStatus

type EtcdRestoreStatus struct {
	Phase EtcdRestorePhase `json:"phase"`
	// +optional
	RestoreTime metav1.Time `json:"restoreTime,omitempty"`
}

func (*EtcdRestoreStatus) DeepCopy

func (in *EtcdRestoreStatus) DeepCopy() *EtcdRestoreStatus

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

func (*EtcdRestoreStatus) DeepCopyInto

func (in *EtcdRestoreStatus) DeepCopyInto(out *EtcdRestoreStatus)

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

type EtcdStatefulSetSettings

type EtcdStatefulSetSettings struct {
	ClusterSize  *int32                       `json:"clusterSize,omitempty"`
	StorageClass string                       `json:"storageClass,omitempty"`
	DiskSize     *resource.Quantity           `json:"diskSize,omitempty"`
	Resources    *corev1.ResourceRequirements `json:"resources,omitempty"`
	Tolerations  []corev1.Toleration          `json:"tolerations,omitempty"`
}

func (*EtcdStatefulSetSettings) DeepCopy

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

func (*EtcdStatefulSetSettings) DeepCopyInto

func (in *EtcdStatefulSetSettings) DeepCopyInto(out *EtcdStatefulSetSettings)

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

type EventRateLimitConfig

type EventRateLimitConfig struct {
	Server          *EventRateLimitConfigItem `json:"server,omitempty"`
	Namespace       *EventRateLimitConfigItem `json:"namespace,omitempty"`
	User            *EventRateLimitConfigItem `json:"user,omitempty"`
	SourceAndObject *EventRateLimitConfigItem `json:"sourceAndObject,omitempty"`
}

func (*EventRateLimitConfig) DeepCopy

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

func (*EventRateLimitConfig) DeepCopyInto

func (in *EventRateLimitConfig) DeepCopyInto(out *EventRateLimitConfig)

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

type EventRateLimitConfigItem

type EventRateLimitConfigItem struct {
	QPS       int32 `json:"qps"`
	Burst     int32 `json:"burst"`
	CacheSize int32 `json:"cacheSize,omitempty"`
}

func (*EventRateLimitConfigItem) DeepCopy

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

func (*EventRateLimitConfigItem) DeepCopyInto

func (in *EventRateLimitConfigItem) DeepCopyInto(out *EventRateLimitConfigItem)

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

type ExposeStrategiesSet

type ExposeStrategiesSet map[ExposeStrategy]struct{}

ExposeStrategiesSet is a set of ExposeStrategies.

func NewExposeStrategiesSet

func NewExposeStrategiesSet(items ...ExposeStrategy) ExposeStrategiesSet

NewByte creates a ExposeStrategiesSet from a list of values.

func (ExposeStrategiesSet) DeepCopy

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

func (ExposeStrategiesSet) DeepCopyInto

func (in ExposeStrategiesSet) DeepCopyInto(out *ExposeStrategiesSet)

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

func (ExposeStrategiesSet) Has

Has returns true if and only if item is contained in the set.

func (ExposeStrategiesSet) Items

func (e ExposeStrategiesSet) Items() []string

func (ExposeStrategiesSet) String

func (e ExposeStrategiesSet) String() string

Has returns true if and only if item is contained in the set.

type ExposeStrategy

type ExposeStrategy string

ExposeStrategy is the strategy to expose the cluster with.

const (
	// ExposeStrategyNodePort creates a NodePort with a "nodeport-proxy.k8s.io/expose": "true" annotation to expose
	// all clusters on one central Service of type LoadBalancer via the NodePort proxy.
	ExposeStrategyNodePort ExposeStrategy = "NodePort"
	// ExposeStrategyLoadBalancer creates a LoadBalancer service per cluster.
	ExposeStrategyLoadBalancer ExposeStrategy = "LoadBalancer"
	// ExposeStrategyTunneling allows to reach the control plane components by
	// tunneling L4 traffic (TCP only is supported at the moment).
	// The traffic is encapsulated by mean of an agent deployed on the worker
	// nodes.
	// The traffic is decapsulated and forwarded to the recipients by
	// mean of a proxy deployed on the Seed Cluster.
	// The same proxy is also capable of routing TLS traffic without
	// termination, this is to allow the Kubelet to reach the control plane
	// before the agents are running.
	//
	// This strategy has the inconvenience of requiring an agent on worker
	// nodes, but has the notable advantage of requiring one single entry point
	// (e.g. Service of type LoadBalancer) without consuming one or more ports
	// for each user cluster.
	ExposeStrategyTunneling ExposeStrategy = "Tunneling"
)

func ExposeStrategyFromString

func ExposeStrategyFromString(s string) (ExposeStrategy, bool)

ExposeStrategyFromString returns the expose strategy which String representation corresponds to the input string, and a bool saying whether a match was found or not.

func (ExposeStrategy) String

func (e ExposeStrategy) String() string

String returns the string representation of the ExposeStrategy.

type ExtendedClusterHealth

type ExtendedClusterHealth struct {
	Apiserver                    HealthStatus  `json:"apiserver,omitempty"`
	Scheduler                    HealthStatus  `json:"scheduler,omitempty"`
	Controller                   HealthStatus  `json:"controller,omitempty"`
	MachineController            HealthStatus  `json:"machineController,omitempty"`
	Etcd                         HealthStatus  `json:"etcd,omitempty"`
	OpenVPN                      HealthStatus  `json:"openvpn,omitempty"`
	CloudProviderInfrastructure  HealthStatus  `json:"cloudProviderInfrastructure,omitempty"`
	UserClusterControllerManager HealthStatus  `json:"userClusterControllerManager,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"`
}

ExtendedClusterHealth stores health information of a cluster.

func (*ExtendedClusterHealth) AllHealthy

func (h *ExtendedClusterHealth) AllHealthy() bool

AllHealthy returns if all components are healthy. Gatekeeper components not included as they are optional and not crucial for cluster functioning.

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 ExternalClusterSpec `json:"spec,omitempty"`
}

ExternalCluster is the object representing an external kubernetes cluster.

func (*ExternalCluster) DeepCopy

func (in *ExternalCluster) DeepCopy() *ExternalCluster

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

func (*ExternalCluster) DeepCopyInto

func (in *ExternalCluster) DeepCopyInto(out *ExternalCluster)

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

func (*ExternalCluster) DeepCopyObject

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

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

func (*ExternalCluster) GetCredentialsSecretName

func (i *ExternalCluster) GetCredentialsSecretName() string

func (*ExternalCluster) GetKubeconfigSecretName

func (i *ExternalCluster) GetKubeconfigSecretName() string

type ExternalClusterAKSCloudSpec

type ExternalClusterAKSCloudSpec struct {
	Name                 string                                  `json:"name"`
	TenantID             string                                  `json:"tenantID"`
	SubscriptionID       string                                  `json:"subscriptionID"`
	ClientID             string                                  `json:"clientID"`
	ClientSecret         string                                  `json:"clientSecret"`
	ResourceGroup        string                                  `json:"resourceGroup"`
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference"`
}

func (*ExternalClusterAKSCloudSpec) DeepCopy

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

func (*ExternalClusterAKSCloudSpec) DeepCopyInto

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

type ExternalClusterCloudSpec

type ExternalClusterCloudSpec struct {
	GKE *ExternalClusterGKECloudSpec `json:"gke,omitempty"`
	EKS *ExternalClusterEKSCloudSpec `json:"eks,omitempty"`
	AKS *ExternalClusterAKSCloudSpec `json:"aks,omitempty"`
}

ExternalClusterCloudSpec mutually stores access data to a cloud provider.

func (*ExternalClusterCloudSpec) DeepCopy

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

func (*ExternalClusterCloudSpec) DeepCopyInto

func (in *ExternalClusterCloudSpec) DeepCopyInto(out *ExternalClusterCloudSpec)

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

type ExternalClusterEKSCloudSpec

type ExternalClusterEKSCloudSpec struct {
	Name                 string                                  `json:"name"`
	AccessKeyID          string                                  `json:"accessKeyID"`
	SecretAccessKey      string                                  `json:"secretAccessKey"`
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`
	Region               string                                  `json:"region"`
}

func (*ExternalClusterEKSCloudSpec) DeepCopy

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

func (*ExternalClusterEKSCloudSpec) DeepCopyInto

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

type ExternalClusterGKECloudSpec

type ExternalClusterGKECloudSpec struct {
	Name                 string                                  `json:"name"`
	ServiceAccount       string                                  `json:"serviceAccount"`
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`
	Zone                 string                                  `json:"zone,omitempty"`
}

func (*ExternalClusterGKECloudSpec) DeepCopy

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

func (*ExternalClusterGKECloudSpec) DeepCopyInto

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

type ExternalClusterList

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

	Items []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 ExternalClusterSpec

type ExternalClusterSpec struct {
	// HumanReadableName is the cluster name provided by the user
	HumanReadableName string `json:"humanReadableName"`

	KubeconfigReference *providerconfig.GlobalSecretKeySelector `json:"kubeconfigReference,omitempty"`
	CloudSpec           *ExternalClusterCloudSpec               `json:"cloudSpec,omitempty"`
}

ExternalClusterSpec specifies the data for a new external kubernetes cluster.

func (*ExternalClusterSpec) DeepCopy

func (in *ExternalClusterSpec) DeepCopy() *ExternalClusterSpec

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

func (*ExternalClusterSpec) DeepCopyInto

func (in *ExternalClusterSpec) DeepCopyInto(out *ExternalClusterSpec)

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

type Fake

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

	Token string `json:"token"`
}

func (*Fake) DeepCopy

func (in *Fake) DeepCopy() *Fake

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

func (*Fake) DeepCopyInto

func (in *Fake) DeepCopyInto(out *Fake)

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

func (Fake) IsValid

func (s Fake) IsValid() bool

type FakeCloudSpec

type FakeCloudSpec struct {
	Token string `json:"token,omitempty"`
}

FakeCloudSpec specifies access data for a fake cloud.

func (*FakeCloudSpec) DeepCopy

func (in *FakeCloudSpec) DeepCopy() *FakeCloudSpec

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

func (*FakeCloudSpec) DeepCopyInto

func (in *FakeCloudSpec) DeepCopyInto(out *FakeCloudSpec)

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

type GCP

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

	ServiceAccount string `json:"serviceAccount"`

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

func (*GCP) DeepCopy

func (in *GCP) DeepCopy() *GCP

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

func (*GCP) DeepCopyInto

func (in *GCP) DeepCopyInto(out *GCP)

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

func (GCP) IsValid

func (s GCP) IsValid() bool

type GCPCloudSpec

type GCPCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	ServiceAccount          string `json:"serviceAccount,omitempty"`
	Network                 string `json:"network"`
	Subnetwork              string `json:"subnetwork"`
	NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"`
}

GCPCloudSpec specifies access data to GCP.

func (*GCPCloudSpec) DeepCopy

func (in *GCPCloudSpec) DeepCopy() *GCPCloudSpec

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

func (*GCPCloudSpec) DeepCopyInto

func (in *GCPCloudSpec) DeepCopyInto(out *GCPCloudSpec)

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

type GKE

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

	ServiceAccount string `json:"serviceAccount"`
}

func (*GKE) DeepCopy

func (in *GKE) DeepCopy() *GKE

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

func (*GKE) DeepCopyInto

func (in *GKE) DeepCopyInto(out *GKE)

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

func (GKE) IsValid

func (s GKE) IsValid() bool

type GroupVersionKind

type GroupVersionKind struct {
	Group   string `json:"group,omitempty"`
	Version string `json:"version,omitempty"`
	Kind    string `json:"kind,omitempty"`
}

GroupVersionKind unambiguously identifies a kind. It doesn't anonymously include GroupVersion to avoid automatic coercion. It doesn't use a GroupVersion to avoid custom marshalling.

func (*GroupVersionKind) DeepCopy

func (in *GroupVersionKind) DeepCopy() *GroupVersionKind

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

func (*GroupVersionKind) DeepCopyInto

func (in *GroupVersionKind) DeepCopyInto(out *GroupVersionKind)

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

type HealthStatus

type HealthStatus string

type Hetzner

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

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

	// Network is the pre-existing Hetzner network in which the machines are running.
	// While machines can be in multiple networks, a single one must be chosen for the
	// HCloud CCM to work.
	// If this is empty, the network configured on the datacenter will be used.
	Network string `json:"network,omitempty"`
}

func (*Hetzner) DeepCopy

func (in *Hetzner) DeepCopy() *Hetzner

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

func (*Hetzner) DeepCopyInto

func (in *Hetzner) DeepCopyInto(out *Hetzner)

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

func (Hetzner) IsValid

func (s Hetzner) IsValid() bool

type HetznerCloudSpec

type HetznerCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	// Token is used to authenticate with the Hetzner cloud API.
	Token string `json:"token,omitempty"`
	// Network is the pre-existing Hetzner network in which the machines are running.
	// While machines can be in multiple networks, a single one must be chosen for the
	// HCloud CCM to work.
	// If this is empty, the network configured on the datacenter will be used.
	Network string `json:"network,omitempty"`
}

HetznerCloudSpec specifies access data to hetzner cloud.

func (*HetznerCloudSpec) DeepCopy

func (in *HetznerCloudSpec) DeepCopy() *HetznerCloudSpec

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

func (*HetznerCloudSpec) DeepCopyInto

func (in *HetznerCloudSpec) DeepCopyInto(out *HetznerCloudSpec)

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

type IPVSConfiguration

type IPVSConfiguration struct {

	// StrictArp configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface.
	// defaults to true.
	StrictArp *bool `json:"strictArp,omitempty"`
}

IPVSConfiguration contains ipvs-related configuration details for kube-proxy.

func (*IPVSConfiguration) DeepCopy

func (in *IPVSConfiguration) DeepCopy() *IPVSConfiguration

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

func (*IPVSConfiguration) DeepCopyInto

func (in *IPVSConfiguration) DeepCopyInto(out *IPVSConfiguration)

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

type ImageList

ImageList defines a map of operating system and the image to use.

func (ImageList) DeepCopy

func (in ImageList) DeepCopy() ImageList

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

func (ImageList) DeepCopyInto

func (in ImageList) DeepCopyInto(out *ImageList)

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

type Incompatibility

type Incompatibility struct {
	// Provider to which to apply the compatibility check
	Provider ProviderType `json:"provider,omitempty"`
	// Version is the Kubernetes version that must be checked. Wildcards are allowed, e.g. "1.22.*".
	Version string `json:"version,omitempty"`
	// Condition is the cluster or datacenter condition that must be met to block a specific version
	Condition ConditionType `json:"condition,omitempty"`
	// Operation is the operation triggering the compatibility check (CREATE or UPDATE)
	Operation OperationType `json:"operation,omitempty"`
}

Incompatibility represents a version incompatibility for a user cluster.

func (*Incompatibility) DeepCopy

func (in *Incompatibility) DeepCopy() *Incompatibility

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

func (*Incompatibility) DeepCopyInto

func (in *Incompatibility) DeepCopyInto(out *Incompatibility)

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

type Kind

type Kind struct {
	// Kinds specifies the kinds of the resources
	Kinds []string `json:"kinds,omitempty"`
	// APIGroups specifies the APIGroups of the resources
	APIGroups []string `json:"apiGroups,omitempty"`
}

Kind specifies the resource Kind and APIGroup.

func (*Kind) DeepCopy

func (in *Kind) DeepCopy() *Kind

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

func (*Kind) DeepCopyInto

func (in *Kind) DeepCopyInto(out *Kind)

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

type KubermaticAPIConfiguration

type KubermaticAPIConfiguration struct {
	// DockerRepository is the repository containing the Kubermatic REST API image.
	DockerRepository string `json:"dockerRepository,omitempty"`
	// AccessibleAddons is a list of addons that should be enabled in the API.
	AccessibleAddons []string `json:"accessibleAddons,omitempty"`
	// PProfEndpoint controls the port the API should listen on to provide pprof
	// data. This port is never exposed from the container and only available via port-forwardings.
	PProfEndpoint *string `json:"pprofEndpoint,omitempty"`
	// Resources describes the requested and maximum allowed CPU/memory usage.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
	// DebugLog enables more verbose logging.
	DebugLog bool `json:"debugLog,omitempty"`
	// Replicas sets the number of pod replicas for the API deployment.
	Replicas *int32 `json:"replicas,omitempty"`
}

KubermaticAPIConfiguration configures the dashboard.

func (*KubermaticAPIConfiguration) DeepCopy

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

KubermaticAddonConfiguration describes the addons for a given cluster runtime.

func (*KubermaticAddonsConfiguration) DeepCopy

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

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.
	Auth KubermaticAuthConfiguration `json:"auth"`
	// FeatureGates are used to optionally enable certain features.
	FeatureGates map[string]bool `json:"featureGates,omitempty"`
	// UI configures the dashboard.
	UI KubermaticUIConfiguration `json:"ui,omitempty"`
	// API configures the frontend REST API used by the dashboard.
	API KubermaticAPIConfiguration `json:"api,omitempty"`
	// SeedController configures the seed-controller-manager.
	SeedController KubermaticSeedControllerConfiguration `json:"seedController,omitempty"`
	// MasterController configures the master-controller-manager.
	MasterController KubermaticMasterControllerConfiguration `json:"masterController,omitempty"`
	// 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 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 KubermaticSetting

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

	Spec SettingSpec `json:"spec,omitempty"`
}

KubermaticSetting is the type representing a KubermaticSetting.

func (*KubermaticSetting) DeepCopy

func (in *KubermaticSetting) DeepCopy() *KubermaticSetting

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

func (*KubermaticSetting) DeepCopyInto

func (in *KubermaticSetting) DeepCopyInto(out *KubermaticSetting)

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

func (*KubermaticSetting) DeepCopyObject

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

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

type KubermaticSettingList

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

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

KubermaticSettingList is a list of settings.

func (*KubermaticSettingList) DeepCopy

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

func (*KubermaticSettingList) DeepCopyInto

func (in *KubermaticSettingList) DeepCopyInto(out *KubermaticSettingList)

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

func (*KubermaticSettingList) DeepCopyObject

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

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

type KubermaticUIConfiguration

type KubermaticUIConfiguration struct {
	// DockerRepository is the repository containing the Kubermatic dashboard image.
	DockerRepository string `json:"dockerRepository,omitempty"`
	// DockerTag is used to overwrite the dashboard Docker image tag and is only for development
	// purposes. This field must not be set in production environments.
	// ---
	//nolint:staticcheck
	//lint:ignore SA5008 omitgenyaml is used by the example-yaml-generator
	DockerTag string `json:"dockerTag,omitempty,omitgenyaml"`
	// 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"`
	// NodePortRange is the port range for customer 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"`
}

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/2.14/configuration/alerting_rules/.
	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/2.14/configuration/configuration/#scrape_config.
	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"`
}

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 Kubevirt

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

	Kubeconfig string `json:"kubeconfig"`
}

func (*Kubevirt) DeepCopy

func (in *Kubevirt) DeepCopy() *Kubevirt

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

func (*Kubevirt) DeepCopyInto

func (in *Kubevirt) DeepCopyInto(out *Kubevirt)

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

func (Kubevirt) IsValid

func (s Kubevirt) IsValid() bool

type KubevirtCloudSpec

type KubevirtCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	Kubeconfig string `json:"kubeconfig,omitempty"`
}

KubevirtCloudSpec specifies the access data to Kubevirt.

func (*KubevirtCloudSpec) DeepCopy

func (in *KubevirtCloudSpec) DeepCopy() *KubevirtCloudSpec

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

func (*KubevirtCloudSpec) DeepCopyInto

func (in *KubevirtCloudSpec) DeepCopyInto(out *KubevirtCloudSpec)

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

type LBSKU

type LBSKU string

+kubebuilder:validation:Enum=standard;basic

type LeaderElectionSettings

type LeaderElectionSettings struct {
	// LeaseDurationSeconds is the duration in seconds that non-leader candidates
	// will wait to force acquire leadership. This is measured against time of
	// last observed ack.
	// +optional
	LeaseDurationSeconds *int32 `json:"leaseDurationSeconds,omitempty"`
	// RenewDeadlineSeconds is the duration in seconds that the acting controlplane
	// will retry refreshing leadership before giving up.
	// +optional
	RenewDeadlineSeconds *int32 `json:"renewDeadlineSeconds,omitempty"`
	// RetryPeriodSeconds is the duration in seconds the LeaderElector clients
	// should wait between tries of actions.
	// +optional
	RetryPeriodSeconds *int32 `json:"retryPeriodSeconds,omitempty"`
}

func (*LeaderElectionSettings) DeepCopy

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

func (*LeaderElectionSettings) DeepCopyInto

func (in *LeaderElectionSettings) DeepCopyInto(out *LeaderElectionSettings)

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

type LoggingRateLimitSettings

type LoggingRateLimitSettings struct {
	// IngestionRate represents ingestion rate limit in requests per second (nginx `rate` in `r/s`).
	IngestionRate int32 `json:"ingestionRate,omitempty"`
	// IngestionBurstSize represents ingestion burst size in number of requests (nginx `burst`).
	IngestionBurstSize int32 `json:"ingestionBurstSize,omitempty"` //

	// QueryRate represents query request rate limit per second (nginx `rate` in `r/s`).
	QueryRate int32 `json:"queryRate,omitempty"`
	// QueryBurstSize represents query burst size in number of requests (nginx `burst`).
	QueryBurstSize int32 `json:"queryBurstSize,omitempty"`
}

LoggingRateLimitSettings contains rate-limiting configuration for logging in the user cluster.

func (*LoggingRateLimitSettings) DeepCopy

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

func (*LoggingRateLimitSettings) DeepCopyInto

func (in *LoggingRateLimitSettings) DeepCopyInto(out *LoggingRateLimitSettings)

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

type MLAAdminSetting

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

	Spec MLAAdminSettingSpec `json:"spec,omitempty"`
}

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

func (*MLAAdminSetting) DeepCopy

func (in *MLAAdminSetting) DeepCopy() *MLAAdminSetting

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

func (*MLAAdminSetting) DeepCopyInto

func (in *MLAAdminSetting) DeepCopyInto(out *MLAAdminSetting)

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

func (*MLAAdminSetting) DeepCopyObject

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

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

type MLAAdminSettingList

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

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

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

func (*MLAAdminSettingList) DeepCopy

func (in *MLAAdminSettingList) DeepCopy() *MLAAdminSettingList

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

func (*MLAAdminSettingList) DeepCopyInto

func (in *MLAAdminSettingList) DeepCopyInto(out *MLAAdminSettingList)

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

func (*MLAAdminSettingList) DeepCopyObject

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

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

type MLAAdminSettingSpec

type MLAAdminSettingSpec struct {
	// ClusterName is the name of the user cluster whose MLA settings are defined in this object.
	ClusterName string `json:"clusterName"`
	// MonitoringRateLimits contains rate-limiting configuration for monitoring in the user cluster.
	MonitoringRateLimits *MonitoringRateLimitSettings `json:"monitoringRateLimits,omitempty"`
	// LoggingRateLimits contains rate-limiting configuration logging in the user cluster.
	LoggingRateLimits *LoggingRateLimitSettings `json:"loggingRateLimits,omitempty"`
}

MLAAdminSettingSpec specifies the cluster-specific administrator settings for KKP user cluster MLA (monitoring, logging & alerting) stack.

func (*MLAAdminSettingSpec) DeepCopy

func (in *MLAAdminSettingSpec) DeepCopy() *MLAAdminSettingSpec

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

func (*MLAAdminSettingSpec) DeepCopyInto

func (in *MLAAdminSettingSpec) DeepCopyInto(out *MLAAdminSettingSpec)

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

type MLASettings

type MLASettings struct {
	// MonitoringEnabled is the flag for enabling monitoring in user cluster.
	MonitoringEnabled bool `json:"monitoringEnabled,omitempty"`
	// LoggingEnabled is the flag for enabling logging in user cluster.
	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
	// MonitoringResources is the resource requirements for user cluster prometheus.
	MonitoringResources *corev1.ResourceRequirements `json:"monitoringResources,omitempty"`
	// LoggingResources is the resource requirements for user cluster promtail.
	LoggingResources *corev1.ResourceRequirements `json:"loggingResources,omitempty"`
	// MonitoringReplicas is the number of desired pods of user cluster prometheus deployment.
	MonitoringReplicas *int32 `json:"monitoringReplicas,omitempty"`
}

func (*MLASettings) DeepCopy

func (in *MLASettings) DeepCopy() *MLASettings

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

func (*MLASettings) DeepCopyInto

func (in *MLASettings) DeepCopyInto(out *MLASettings)

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

type MachineControllerConfiguration

type MachineControllerConfiguration struct {
	// ImageRepository is used to override the Machine Controller image repository.
	// It is only for development, tests and PoC purposes. This field must not be set in production environments.
	ImageRepository string `json:"imageRepository,omitempty"`
	// ImageTag is used to override the Machine Controller image.
	// It is only for development, tests and PoC purposes. This field must not be set in production environments.
	ImageTag string `json:"imageTag,omitempty"`
}

MachineControllerConfiguration configures Machine Controller.

func (*MachineControllerConfiguration) DeepCopy

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 MachineDeploymentVMResourceQuota

type MachineDeploymentVMResourceQuota struct {
	// Minimal number of vCPU
	MinCPU int `json:"minCPU"`
	// Maximal number of vCPU
	MaxCPU int `json:"maxCPU"`
	// Minimal RAM size in GB
	MinRAM int `json:"minRAM"`
	// Maximum RAM size in GB
	MaxRAM int `json:"maxRAM"`

	EnableGPU bool `json:"enableGPU"` //nolint:tagliatelle
}

func (*MachineDeploymentVMResourceQuota) DeepCopy

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

func (*MachineDeploymentVMResourceQuota) DeepCopyInto

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

type MachineNetworkingConfig

type MachineNetworkingConfig struct {
	CIDR       string   `json:"cidr"`
	Gateway    string   `json:"gateway"`
	DNSServers []string `json:"dnsServers"`
}

MachineNetworkingConfig specifies the networking parameters used for IPAM.

func (*MachineNetworkingConfig) DeepCopy

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

func (*MachineNetworkingConfig) DeepCopyInto

func (in *MachineNetworkingConfig) DeepCopyInto(out *MachineNetworkingConfig)

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

type Match

type Match struct {
	// Kinds accepts a list of objects with apiGroups and kinds fields that list the groups/kinds of objects to which
	// the constraint will apply. If multiple groups/kinds objects are specified, only one match is needed for the resource to be in scope
	Kinds []Kind `json:"kinds,omitempty"`
	// Scope accepts *, Cluster, or Namespaced which determines if cluster-scoped and/or namesapced-scoped resources are selected. (defaults to *)
	Scope string `json:"scope,omitempty"`
	// Namespaces is a list of namespace names. If defined, a constraint will only apply to resources in a listed namespace.
	Namespaces []string `json:"namespaces,omitempty"`
	// ExcludedNamespaces is a list of namespace names. If defined, a constraint will only apply to resources not in a listed namespace.
	ExcludedNamespaces []string `json:"excludedNamespaces,omitempty"`
	// LabelSelector is a standard Kubernetes label selector.
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`
	// NamespaceSelector  is a standard Kubernetes namespace selector. If defined, make sure to add Namespaces to your
	// configs.config.gatekeeper.sh object to ensure namespaces are synced into OPA
	NamespaceSelector metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

Match contains the constraint to resource matching data.

func (*Match) DeepCopy

func (in *Match) DeepCopy() *Match

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

func (*Match) DeepCopyInto

func (in *Match) DeepCopyInto(out *Match)

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

type MeteringConfiguration

type MeteringConfiguration struct {
	Enabled bool `json:"enabled"`
	// StorageClassName is the name of the storage class that the metering tool uses to save processed files before
	// exporting it to s3 bucket. Default value is kubermatic-fast.
	StorageClassName string `json:"storageClassName"`
	// StorageSize is the size of the storage class. Default value is 100Gi.
	StorageSize string `json:"storageSize"`
}

MeteringConfiguration contains all the configuration for the metering tool.

func (*MeteringConfiguration) DeepCopy

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

func (*MeteringConfiguration) DeepCopyInto

func (in *MeteringConfiguration) DeepCopyInto(out *MeteringConfiguration)

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

type MlaOptions

type MlaOptions struct {
	LoggingEnabled     bool `json:"loggingEnabled,omitempty"`
	LoggingEnforced    bool `json:"loggingEnforced,omitempty"`
	MonitoringEnabled  bool `json:"monitoringEnabled,omitempty"`
	MonitoringEnforced bool `json:"monitoringEnforced,omitempty"`
}

func (*MlaOptions) DeepCopy

func (in *MlaOptions) DeepCopy() *MlaOptions

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

func (*MlaOptions) DeepCopyInto

func (in *MlaOptions) DeepCopyInto(out *MlaOptions)

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

type MonitoringRateLimitSettings

type MonitoringRateLimitSettings struct {
	// IngestionRate represents the ingestion rate limit in samples per second (Cortex `ingestion_rate`).
	IngestionRate int32 `json:"ingestionRate,omitempty"`
	// IngestionBurstSize represents ingestion burst size in samples per second (Cortex `ingestion_burst_size`).
	IngestionBurstSize int32 `json:"ingestionBurstSize,omitempty"`
	// MaxSeriesPerMetric represents maximum number of series per metric (Cortex `max_series_per_metric`).
	MaxSeriesPerMetric int32 `json:"maxSeriesPerMetric,omitempty"`
	// MaxSeriesTotal represents maximum number of series per this user cluster (Cortex `max_series_per_user`).
	MaxSeriesTotal int32 `json:"maxSeriesTotal,omitempty"`

	// QueryRate represents  query request rate limit per second (nginx `rate` in `r/s`).
	QueryRate int32 `json:"queryRate,omitempty"`
	// QueryBurstSize represents query burst size in number of requests (nginx `burst`).
	QueryBurstSize int32 `json:"queryBurstSize,omitempty"`
	// MaxSamplesPerQuery represents maximum number of samples during a query (Cortex `max_samples_per_query`).
	MaxSamplesPerQuery int32 `json:"maxSamplesPerQuery,omitempty"`
	// MaxSeriesPerQuery represents maximum number of timeseries during a query (Cortex `max_series_per_query`).
	MaxSeriesPerQuery int32 `json:"maxSeriesPerQuery,omitempty"`
}

MonitoringRateLimitSettings contains rate-limiting configuration for monitoring in the user cluster.

func (*MonitoringRateLimitSettings) DeepCopy

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

func (*MonitoringRateLimitSettings) DeepCopyInto

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

type NetworkRanges

type NetworkRanges struct {
	CIDRBlocks []string `json:"cidrBlocks"`
}

NetworkRanges represents ranges of network addresses.

func (*NetworkRanges) DeepCopy

func (in *NetworkRanges) DeepCopy() *NetworkRanges

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

func (*NetworkRanges) DeepCopyInto

func (in *NetworkRanges) DeepCopyInto(out *NetworkRanges)

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

type NodeSettings

type NodeSettings struct {
	// Optional: Proxy settings for the Nodes in this datacenter.
	// Defaults to the Proxy settings of the seed.
	ProxySettings `json:",inline"`
	// Optional: These image registries will be configured as insecure
	// on the container runtime.
	InsecureRegistries []string `json:"insecureRegistries,omitempty"`
	// Optional: These image registries will be configured as registry mirrors
	// on the container runtime.
	RegistryMirrors []string `json:"registryMirrors,omitempty"`
	// Optional: Translates to --pod-infra-container-image on the kubelet.
	// If not set, the kubelet will default it.
	PauseImage string `json:"pauseImage,omitempty"`
	// Optional: The hyperkube image to use. Currently only Flatcar
	// makes use of this option.
	HyperkubeImage string `json:"hyperkubeImage,omitempty"`
}

NodeSettings are node specific flags which can be configured on datacenter level.

func (*NodeSettings) DeepCopy

func (in *NodeSettings) DeepCopy() *NodeSettings

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

func (*NodeSettings) DeepCopyInto

func (in *NodeSettings) DeepCopyInto(out *NodeSettings)

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

type NodeportProxyComponent

type NodeportProxyComponent struct {
	// DockerRepository is the repository containing the component's image.
	DockerRepository string `json:"dockerRepository,omitempty"`
	// Resources describes the requested and maximum allowed CPU/memory usage.
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*NodeportProxyComponent) DeepCopy

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

func (*NodeportProxyComponent) DeepCopyInto

func (in *NodeportProxyComponent) DeepCopyInto(out *NodeportProxyComponent)

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

type NodeportProxyConfig

type NodeportProxyConfig struct {
	// Disable will prevent the Kubermatic Operator from creating a nodeport-proxy
	// setup on the seed cluster. This should only be used if a suitable replacement
	// is installed (like the nodeport-proxy Helm chart).
	Disable bool `json:"disable,omitempty"`
	// Annotations are used to further tweak the LoadBalancer integration with the
	// cloud provider where the seed cluster is running.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Envoy configures the Envoy application itself.
	Envoy NodeportProxyComponent `json:"envoy,omitempty"`
	// EnvoyManager configures the Kubermatic-internal Envoy manager.
	EnvoyManager NodeportProxyComponent `json:"envoyManager,omitempty"`
	// Updater configures the component responsible for updating the LoadBalancer
	// service.
	Updater NodeportProxyComponent `json:"updater,omitempty"`
}

func (*NodeportProxyConfig) DeepCopy

func (in *NodeportProxyConfig) DeepCopy() *NodeportProxyConfig

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

func (*NodeportProxyConfig) DeepCopyInto

func (in *NodeportProxyConfig) DeepCopyInto(out *NodeportProxyConfig)

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

type Nutanix

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

func (in *Nutanix) DeepCopy() *Nutanix

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

func (*Nutanix) DeepCopyInto

func (in *Nutanix) DeepCopyInto(out *Nutanix)

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

func (Nutanix) IsValid

func (s Nutanix) IsValid() bool

type NutanixCSIConfig added in v2.20.0

type NutanixCSIConfig struct {

	// Prism Element Username for csi driver
	Username string `json:"username,omitempty"`

	// Prism Element Password for csi driver
	Password string `json:"password,omitempty"`

	// Prism Element Endpoint to access Nutanix Prism Element for csi driver
	Endpoint string `json:"endpoint"`

	// Optional: Port to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440)
	// +optional
	Port *int32 `json:"port,omitempty"`

	// Optional: defaults to "Default"
	// +optional
	StorageContainer string `json:"storageContainer,omitempty"`

	// Optional: defaults to "xfs"
	// +optional
	Fstype string `json:"fstype,omitempty"`

	// Optional: defaults to "false"
	// +optional
	SsSegmentedIscsiNetwork *bool `json:"ssSegmentedIscsiNetwork,omitempty"`
}

NutanixCSIConfig contains credentials and the endpoint for the Nutanix Prism Element to which the CSI driver connects.

func (*NutanixCSIConfig) DeepCopy added in v2.20.0

func (in *NutanixCSIConfig) DeepCopy() *NutanixCSIConfig

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

func (*NutanixCSIConfig) DeepCopyInto added in v2.20.0

func (in *NutanixCSIConfig) DeepCopyInto(out *NutanixCSIConfig)

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

type NutanixCloudSpec

type NutanixCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	// ClusterName is the Nutanix cluster that this user cluster will be deployed to.
	ClusterName string `json:"clusterName"`

	// ProjectName is the project that this cluster is deployed into. If none is given, no project will be used.
	// +optional
	ProjectName string `json:"projectName,omitempty"`

	ProxyURL string `json:"proxyURL,omitempty"`
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`

	// NutanixCSIConfig for csi driver that connects to a prism element
	// +optional
	CSI *NutanixCSIConfig `json:"csi,omitempty"`
}

NutanixCloudSpec specifies the access data to Nutanix.

func (*NutanixCloudSpec) DeepCopy

func (in *NutanixCloudSpec) DeepCopy() *NutanixCloudSpec

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

func (*NutanixCloudSpec) DeepCopyInto

func (in *NutanixCloudSpec) DeepCopyInto(out *NutanixCloudSpec)

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

type OIDCSettings

type OIDCSettings struct {
	IssuerURL     string `json:"issuerURL,omitempty"`
	ClientID      string `json:"clientID,omitempty"`
	ClientSecret  string `json:"clientSecret,omitempty"`
	UsernameClaim string `json:"usernameClaim,omitempty"`
	GroupsClaim   string `json:"groupsClaim,omitempty"`
	RequiredClaim string `json:"requiredClaim,omitempty"`
	ExtraScopes   string `json:"extraScopes,omitempty"`
}

func (*OIDCSettings) DeepCopy

func (in *OIDCSettings) DeepCopy() *OIDCSettings

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

func (*OIDCSettings) DeepCopyInto

func (in *OIDCSettings) DeepCopyInto(out *OIDCSettings)

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

type OPAIntegrationSettings

type OPAIntegrationSettings struct {
	// Enabled is the flag for enabling OPA integration
	Enabled bool `json:"enabled,omitempty"`

	// WebhookTimeout is the timeout that is set for the gatekeeper validating webhook admission review calls.
	// By default 10 seconds.
	WebhookTimeoutSeconds *int32 `json:"webhookTimeoutSeconds,omitempty"`
	// Enable mutation
	ExperimentalEnableMutation bool `json:"experimentalEnableMutation,omitempty"`
	// ControllerResources is the resource requirements for user cluster gatekeeper controller.
	ControllerResources *corev1.ResourceRequirements `json:"controllerResources,omitempty"`
	// AuditResources is the resource requirements for user cluster gatekeeper audit.
	AuditResources *corev1.ResourceRequirements `json:"auditResources,omitempty"`
}

func (*OPAIntegrationSettings) DeepCopy

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

func (*OPAIntegrationSettings) DeepCopyInto

func (in *OPAIntegrationSettings) DeepCopyInto(out *OPAIntegrationSettings)

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

type OpaOptions

type OpaOptions struct {
	Enabled  bool `json:"enabled,omitempty"`
	Enforced bool `json:"enforced,omitempty"`
}

func (*OpaOptions) DeepCopy

func (in *OpaOptions) DeepCopy() *OpaOptions

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

func (*OpaOptions) DeepCopyInto

func (in *OpaOptions) DeepCopyInto(out *OpaOptions)

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

type Openstack

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

	UseToken bool `json:"useToken,omitempty"`

	ApplicationCredentialID     string `json:"applicationCredentialID,omitempty"`
	ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"`

	Username  string `json:"username"`
	Password  string `json:"password"`
	Project   string `json:"project"`
	ProjectID string `json:"projectID"`
	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 (*Openstack) DeepCopy

func (in *Openstack) DeepCopy() *Openstack

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

func (*Openstack) DeepCopyInto

func (in *Openstack) DeepCopyInto(out *Openstack)

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

func (Openstack) IsValid

func (s Openstack) IsValid() bool

type OpenstackCloudSpec

type OpenstackCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

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

	// project, formally known as tenant.
	Project string `json:"project,omitempty"`
	// project id, formally known as tenantID.
	ProjectID string `json:"projectID,omitempty"`

	Domain                      string `json:"domain,omitempty"`
	ApplicationCredentialID     string `json:"applicationCredentialID,omitempty"`
	ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"`
	UseToken                    bool   `json:"useToken,omitempty"`
	// Used internally during cluster creation
	Token string `json:"token,omitempty"`

	// Network holds the name of the internal network
	// When specified, all worker nodes will be attached to this network. If not specified, a network, subnet & router will be created
	//
	// Note that the network is internal if the "External" field is set to false
	Network                 string `json:"network"`
	SecurityGroups          string `json:"securityGroups"`
	NodePortsAllowedIPRange string `json:"nodePortsAllowedIPRange,omitempty"`
	// FloatingIPPool holds the name of the public network
	// The public network is reachable from the outside world
	// and should provide the pool of IP addresses to choose from.
	//
	// When specified, all worker nodes will receive a public ip from this floating ip pool
	//
	// Note that the network is external if the "External" field is set to true
	FloatingIPPool string `json:"floatingIPPool"`
	RouterID       string `json:"routerID"`
	SubnetID       string `json:"subnetID"`
	// Whether or not to use Octavia for LoadBalancer type of Service
	// implementation instead of using Neutron-LBaaS.
	// Attention:Openstack CCM use Octavia as default load balancer
	// implementation since v1.17.0
	//
	// Takes precedence over the 'use_octavia' flag provided at datacenter
	// level if both are specified.
	// +optional
	UseOctavia *bool `json:"useOctavia,omitempty"`
}

OpenstackCloudSpec specifies access data to an OpenStack cloud.

func (*OpenstackCloudSpec) DeepCopy

func (in *OpenstackCloudSpec) DeepCopy() *OpenstackCloudSpec

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

func (*OpenstackCloudSpec) DeepCopyInto

func (in *OpenstackCloudSpec) DeepCopyInto(out *OpenstackCloudSpec)

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

type OpenstackNodeSizeRequirements

type OpenstackNodeSizeRequirements struct {
	// VCPUs is the minimum required amount of (virtual) CPUs
	MinimumVCPUs int `json:"minimumVCPUs"` //nolint:tagliatelle
	// MinimumMemory is the minimum required amount of memory, measured in MB
	MinimumMemory int `json:"minimumMemory"`
}

func (*OpenstackNodeSizeRequirements) DeepCopy

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

func (*OpenstackNodeSizeRequirements) DeepCopyInto

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

type OperationType

type OperationType string

OperationType is the type defining the operations triggering the compatibility check (CREATE or UPDATE).

const (
	// CreateOperation represents the creation of a new cluster.
	CreateOperation OperationType = "CREATE"
	// UpdateOperation represents the update of an existing cluster.
	UpdateOperation OperationType = "UPGRADE"
	// SupportOperation represents the possibility to enable a new feature on an existing cluster.
	SupportOperation OperationType = "SUPPORT"
)

type Packet

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

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

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

func (*Packet) DeepCopy

func (in *Packet) DeepCopy() *Packet

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

func (*Packet) DeepCopyInto

func (in *Packet) DeepCopyInto(out *Packet)

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

func (Packet) IsValid

func (s Packet) IsValid() bool

type PacketCloudSpec

type PacketCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	APIKey       string `json:"apiKey,omitempty"`
	ProjectID    string `json:"projectID,omitempty"`
	BillingCycle string `json:"billingCycle"`
}

PacketCloudSpec specifies access data to a Packet cloud.

func (*PacketCloudSpec) DeepCopy

func (in *PacketCloudSpec) DeepCopy() *PacketCloudSpec

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

func (*PacketCloudSpec) DeepCopyInto

func (in *PacketCloudSpec) DeepCopyInto(out *PacketCloudSpec)

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

type Parameters

type Parameters map[string]json.RawMessage

func (Parameters) DeepCopy

func (in Parameters) DeepCopy() Parameters

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

func (Parameters) DeepCopyInto

func (in Parameters) DeepCopyInto(out *Parameters)

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

type Preset

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

	Spec PresetSpec `json:"spec"`
}

Preset is the type representing a Preset.

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 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 *Digitalocean `json:"digitalocean,omitempty"`
	Hetzner      *Hetzner      `json:"hetzner,omitempty"`
	Azure        *Azure        `json:"azure,omitempty"`
	VSphere      *VSphere      `json:"vsphere,omitempty"`
	AWS          *AWS          `json:"aws,omitempty"`
	Openstack    *Openstack    `json:"openstack,omitempty"`
	Packet       *Packet       `json:"packet,omitempty"`
	GCP          *GCP          `json:"gcp,omitempty"`
	Kubevirt     *Kubevirt     `json:"kubevirt,omitempty"`
	Alibaba      *Alibaba      `json:"alibaba,omitempty"`
	Anexia       *Anexia       `json:"anexia,omitempty"`
	Nutanix      *Nutanix      `json:"nutanix,omitempty"`
	GKE          *GKE          `json:"gke,omitempty"`
	EKS          *EKS          `json:"eks,omitempty"`
	AKS          *AKS          `json:"aks,omitempty"`

	Fake           *Fake    `json:"fake,omitempty"`
	RequiredEmails []string `json:"requiredEmails,omitempty"`
	Enabled        *bool    `json:"enabled,omitempty"`
}

Presets specifies default presets for supported providers.

func (*PresetSpec) DeepCopy

func (in *PresetSpec) DeepCopy() *PresetSpec

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

func (*PresetSpec) DeepCopyInto

func (in *PresetSpec) DeepCopyInto(out *PresetSpec)

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

func (PresetSpec) IsEnabled

func (s PresetSpec) IsEnabled() bool

func (*PresetSpec) SetEnabled

func (s *PresetSpec) SetEnabled(enabled bool)

type Project

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

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project is the type describing a project.

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

type ProjectGroup

type ProjectGroup struct {
	Name  string `json:"name"`
	Group string `json:"group"`
}

ProjectGroup is a helper data structure that stores the information about a project and a group that a user belongs to.

func (*ProjectGroup) DeepCopy

func (in *ProjectGroup) DeepCopy() *ProjectGroup

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

func (*ProjectGroup) DeepCopyInto

func (in *ProjectGroup) DeepCopyInto(out *ProjectGroup)

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

type ProjectList

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

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

ProjectList is a collection of projects.

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

type ProjectPhase

type ProjectPhase string
const (
	// ProjectActive means the project is available for use in the system.
	ProjectActive ProjectPhase = "Active"

	// ProjectInactive means the project is inactive and requires further initialization.
	ProjectInactive ProjectPhase = "Inactive"

	// ProjectTerminating means the project is undergoing graceful termination.
	ProjectTerminating ProjectPhase = "Terminating"
)

These are the valid phases of a project.

type ProjectSpec

type ProjectSpec struct {
	Name string `json:"name"`
}

ProjectSpec is a specification of a project.

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus

type ProjectStatus struct {
	Phase ProjectPhase `json:"phase"`
}

ProjectStatus represents the current status of a project.

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type ProviderPreset

type ProviderPreset struct {
	Enabled    *bool  `json:"enabled,omitempty"`
	Datacenter string `json:"datacenter,omitempty"`
}

func (*ProviderPreset) DeepCopy

func (in *ProviderPreset) DeepCopy() *ProviderPreset

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

func (*ProviderPreset) DeepCopyInto

func (in *ProviderPreset) DeepCopyInto(out *ProviderPreset)

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

func (ProviderPreset) IsEnabled

func (s ProviderPreset) IsEnabled() bool

type ProviderType

type ProviderType string
const (
	// Constants defining known cloud providers.
	FakeCloudProvider         ProviderType = "fake"
	AKSCloudProvider          ProviderType = "aks"
	AlibabaCloudProvider      ProviderType = "alibaba"
	AnexiaCloudProvider       ProviderType = "anexia"
	AWSCloudProvider          ProviderType = "aws"
	AzureCloudProvider        ProviderType = "azure"
	BringYourOwnCloudProvider ProviderType = "bringyourown"
	DigitaloceanCloudProvider ProviderType = "digitalocean"
	EKSCloudProvider          ProviderType = "eks"
	GCPCloudProvider          ProviderType = "gcp"
	GKECloudProvider          ProviderType = "gke"
	HetznerCloudProvider      ProviderType = "hetzner"
	KubevirtCloudProvider     ProviderType = "kubevirt"
	NutanixCloudProvider      ProviderType = "nutanix"
	OpenstackCloudProvider    ProviderType = "openstack"
	PacketCloudProvider       ProviderType = "packet"
	VSphereCloudProvider      ProviderType = "vsphere"

	DefaultSSHPort     = 22
	DefaultKubeletPort = 10250

	DefaultKubeconfigFieldPath = "kubeconfig"
)

type ProxySettings

type ProxySettings struct {
	// Optional: If set, this proxy will be configured for both HTTP and HTTPS.
	HTTPProxy *ProxyValue `json:"httpProxy,omitempty"`
	// Optional: If set this will be set as NO_PROXY environment variable on the node;
	// The value must be a comma-separated list of domains for which no proxy
	// should be used, e.g. "*.example.com,internal.dev".
	// Note that the in-cluster apiserver URL will be automatically prepended
	// to this value.
	NoProxy *ProxyValue `json:"noProxy,omitempty"`
}

ProxySettings allow configuring a HTTP proxy for the controlplanes and nodes.

func (*ProxySettings) DeepCopy

func (in *ProxySettings) DeepCopy() *ProxySettings

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

func (*ProxySettings) DeepCopyInto

func (in *ProxySettings) DeepCopyInto(out *ProxySettings)

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

func (*ProxySettings) Empty

func (p *ProxySettings) Empty() bool

Empty returns true if p or all of its children are nil or empty strings.

func (*ProxySettings) Merge

func (p *ProxySettings) Merge(dst *ProxySettings)

Merge applies the settings from p into dst if the corresponding setting in dst is nil or an empty string.

type ProxyValue

type ProxyValue string

func NewProxyValue

func NewProxyValue(value string) *ProxyValue

func (*ProxyValue) Empty

func (p *ProxyValue) Empty() bool

func (*ProxyValue) String

func (p *ProxyValue) String() string

type RuleGroup

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

	Spec RuleGroupSpec `json:"spec,omitempty"`
}

func (*RuleGroup) DeepCopy

func (in *RuleGroup) DeepCopy() *RuleGroup

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

func (*RuleGroup) DeepCopyInto

func (in *RuleGroup) DeepCopyInto(out *RuleGroup)

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

func (*RuleGroup) DeepCopyObject

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

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

type RuleGroupList

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

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

func (*RuleGroupList) DeepCopy

func (in *RuleGroupList) DeepCopy() *RuleGroupList

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

func (*RuleGroupList) DeepCopyInto

func (in *RuleGroupList) DeepCopyInto(out *RuleGroupList)

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

func (*RuleGroupList) DeepCopyObject

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

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

type RuleGroupSpec

type RuleGroupSpec struct {
	// RuleGroupType is the type of this ruleGroup applies to. It can be `Metrics` or `Logs`.
	RuleGroupType RuleGroupType `json:"ruleGroupType"`
	// Cluster is the reference to the cluster the ruleGroup should be created in.
	Cluster corev1.ObjectReference `json:"cluster"`
	// Data contains the RuleGroup data. Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group
	Data []byte `json:"data"`
}

func (*RuleGroupSpec) DeepCopy

func (in *RuleGroupSpec) DeepCopy() *RuleGroupSpec

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

func (*RuleGroupSpec) DeepCopyInto

func (in *RuleGroupSpec) DeepCopyInto(out *RuleGroupSpec)

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

type RuleGroupType

type RuleGroupType string
const (
	// RuleGroupTypeMetrics means the RuleGroup defines the rules to generate alerts from metrics.
	RuleGroupTypeMetrics RuleGroupType = "Metrics"
	// RuleGroupTypeLogs means the RuleGroup defines the rules to generate alerts from logs.
	RuleGroupTypeLogs RuleGroupType = "Logs"
)

type SSHKeySpec

type SSHKeySpec struct {
	Owner       string   `json:"owner"`
	Name        string   `json:"name"`
	Fingerprint string   `json:"fingerprint"`
	PublicKey   string   `json:"publicKey"`
	Clusters    []string `json:"clusters"`
}

func (*SSHKeySpec) DeepCopy

func (in *SSHKeySpec) DeepCopy() *SSHKeySpec

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

func (*SSHKeySpec) DeepCopyInto

func (in *SSHKeySpec) DeepCopyInto(out *SSHKeySpec)

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

type Seed

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

	Spec SeedSpec `json:"spec"`
}

Seed is the type representing a SeedDatacenter.

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.

func (*Seed) GetEtcdBackupDestination added in v2.20.0

func (s *Seed) GetEtcdBackupDestination(destinationName string) *BackupDestination

func (*Seed) IsDefaultEtcdAutomaticBackupEnabled

func (s *Seed) IsDefaultEtcdAutomaticBackupEnabled() bool

IsDefaultEtcdAutomaticBackupEnabled returns true if etcd automatic backup is configured for the seed.

func (*Seed) SetDefaults

func (s *Seed) SetDefaults()

type SeedList

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

	// List of seeds
	Items []Seed `json:"items"`
}

SeedDatacenterList is the type representing a SeedDatacenterList.

func (*SeedList) DeepCopy

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 SeedMLASettings

type SeedMLASettings struct {
	// Optional: UserClusterMLAEnabled controls whether the user cluster MLA (Monitoring, Logging & Alerting) stack is enabled in the seed.
	UserClusterMLAEnabled bool `json:"userClusterMLAEnabled,omitempty"` //nolint:tagliatelle
}

SeedMLASettings allow configuring seed level MLA (Monitoring, Logging & Alerting) stack settings.

func (*SeedMLASettings) DeepCopy

func (in *SeedMLASettings) DeepCopy() *SeedMLASettings

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

func (*SeedMLASettings) DeepCopyInto

func (in *SeedMLASettings) DeepCopyInto(out *SeedMLASettings)

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

type SeedSpec

type SeedSpec struct {
	// Optional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK.
	// For informational purposes in the Kubermatic dashboard only.
	Country string `json:"country,omitempty"`
	// Optional: Detailed location of the cluster, like "Hamburg" or "Datacenter 7".
	// For informational purposes in the Kubermatic dashboard only.
	Location string `json:"location,omitempty"`
	// A reference to the Kubeconfig of this cluster. The Kubeconfig must
	// have cluster-admin privileges. This field is mandatory for every
	// seed, even if there are no datacenters defined yet.
	Kubeconfig corev1.ObjectReference `json:"kubeconfig"`
	// Datacenters contains a map of the possible datacenters (DCs) in this seed.
	// Each DC must have a globally unique identifier (i.e. names must be unique
	// across all seeds).
	Datacenters map[string]Datacenter `json:"datacenters,omitempty"`
	// Optional: This can be used to override the DNS name used for this seed.
	// By default the seed name is used.
	SeedDNSOverwrite string `json:"seedDNSOverwrite,omitempty"`
	// NodeportProxy can be used to configure the NodePort proxy service that is
	// responsible for making user-cluster control planes accessible from the outside.
	NodeportProxy NodeportProxyConfig `json:"nodeportProxy,omitempty"`
	// Optional: ProxySettings can be used to configure HTTP proxy settings on the
	// worker nodes in user clusters. However, proxy settings on nodes take precedence.
	ProxySettings *ProxySettings `json:"proxySettings,omitempty"`
	// Optional: ExposeStrategy explicitly sets the expose strategy for this seed cluster, if not set, the default provided by the master is used.
	ExposeStrategy ExposeStrategy `json:"exposeStrategy,omitempty"`
	// Optional: MLA allows configuring seed level MLA (Monitoring, Logging & Alerting) stack settings.
	MLA *SeedMLASettings `json:"mla,omitempty"`
	// DefaultComponentSettings are default values to set for newly created clusters.
	// Deprecated: Use DefaultClusterTemplate instead.
	DefaultComponentSettings ComponentSettings `json:"defaultComponentSettings,omitempty"`
	// DefaultClusterTemplate is the name of a cluster template of scope "seed" that is used
	// to default all new created clusters
	DefaultClusterTemplate string `json:"defaultClusterTemplate,omitempty"`
	// Metering configures the metering tool on user clusters across the seed.
	Metering *MeteringConfiguration `json:"metering,omitempty"`
	// EtcdBackupRestore holds the configuration of the automatic etcd backup restores for the Seed;
	// if this is set, the new backup/restore controllers are enabled for this Seed.
	EtcdBackupRestore *EtcdBackupRestore `json:"etcdBackupRestore,omitempty"`
}

The spec for a seed data.

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 ServiceAccountSettings

type ServiceAccountSettings struct {
	TokenVolumeProjectionEnabled bool `json:"tokenVolumeProjectionEnabled,omitempty"`
	// Issuer is the identifier of the service account token issuer
	// If this is not specified, it will be set to the URL of apiserver by default
	Issuer string `json:"issuer,omitempty"`
	// APIAudiences are the Identifiers of the API
	// If this is not specified, it will be set to a single element list containing the issuer URL
	APIAudiences []string `json:"apiAudiences,omitempty"`
}

func (*ServiceAccountSettings) DeepCopy

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

func (*ServiceAccountSettings) DeepCopyInto

func (in *ServiceAccountSettings) DeepCopyInto(out *ServiceAccountSettings)

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

type SettingSpec

type SettingSpec struct {
	CustomLinks                 CustomLinks `json:"customLinks"`
	DefaultNodeCount            int8        `json:"defaultNodeCount"`
	DisplayDemoInfo             bool        `json:"displayDemoInfo"`
	DisplayAPIDocs              bool        `json:"displayAPIDocs"`
	DisplayTermsOfService       bool        `json:"displayTermsOfService"`
	EnableDashboard             bool        `json:"enableDashboard"`
	EnableOIDCKubeconfig        bool        `json:"enableOIDCKubeconfig"` //nolint:tagliatelle
	UserProjectsLimit           int64       `json:"userProjectsLimit"`
	RestrictProjectCreation     bool        `json:"restrictProjectCreation"`
	EnableExternalClusterImport bool        `json:"enableExternalClusterImport"`

	// +optional
	CleanupOptions CleanupOptions `json:"cleanupOptions,omitempty"`
	// +optional
	OpaOptions OpaOptions `json:"opaOptions,omitempty"`
	// +optional
	MlaOptions MlaOptions `json:"mlaOptions,omitempty"`

	MlaAlertmanagerPrefix string `json:"mlaAlertmanagerPrefix"`
	MlaGrafanaPrefix      string `json:"mlaGrafanaPrefix"`

	MachineDeploymentVMResourceQuota MachineDeploymentVMResourceQuota `json:"machineDeploymentVMResourceQuota"`
}

func (*SettingSpec) DeepCopy

func (in *SettingSpec) DeepCopy() *SettingSpec

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

func (*SettingSpec) DeepCopyInto

func (in *SettingSpec) DeepCopyInto(out *SettingSpec)

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

type StatefulSetSettings

type StatefulSetSettings struct {
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*StatefulSetSettings) DeepCopy

func (in *StatefulSetSettings) DeepCopy() *StatefulSetSettings

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

func (*StatefulSetSettings) DeepCopyInto

func (in *StatefulSetSettings) DeepCopyInto(out *StatefulSetSettings)

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

type 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 UpdateWindow

type UpdateWindow struct {
	Start  string `json:"start,omitempty"`
	Length string `json:"length,omitempty"`
}

func (*UpdateWindow) DeepCopy

func (in *UpdateWindow) DeepCopy() *UpdateWindow

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

func (*UpdateWindow) DeepCopyInto

func (in *UpdateWindow) DeepCopyInto(out *UpdateWindow)

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

type User

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

	Spec   UserSpec   `json:"spec,omitempty"`
	Status UserStatus `json:"status,omitempty"`
}

User specifies a 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.

func (*User) GetInvalidTokensReferenceSecretName added in v2.20.0

func (u *User) GetInvalidTokensReferenceSecretName() string

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 string `json:"userEmail"`
	ProjectID string `json:"projectID"`
	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"`

	Spec SSHKeySpec `json:"spec,omitempty"`
}

UserSSHKey specifies a users UserSSHKey.

func (*UserSSHKey) AddToCluster

func (sk *UserSSHKey) AddToCluster(clustername string)

func (*UserSSHKey) DeepCopy

func (in *UserSSHKey) DeepCopy() *UserSSHKey

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

func (*UserSSHKey) DeepCopyInto

func (in *UserSSHKey) DeepCopyInto(out *UserSSHKey)

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

func (*UserSSHKey) DeepCopyObject

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

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

func (*UserSSHKey) IsUsedByCluster

func (sk *UserSSHKey) IsUsedByCluster(clustername string) bool

func (*UserSSHKey) RemoveFromCluster

func (sk *UserSSHKey) RemoveFromCluster(clustername string)

type UserSSHKeyList

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

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

UserSSHKeyList specifies a users UserSSHKey.

func (*UserSSHKeyList) DeepCopy

func (in *UserSSHKeyList) DeepCopy() *UserSSHKeyList

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

func (*UserSSHKeyList) DeepCopyInto

func (in *UserSSHKeyList) DeepCopyInto(out *UserSSHKeyList)

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

func (*UserSSHKeyList) DeepCopyObject

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

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

type UserSettings

type UserSettings struct {
	SelectedTheme              string `json:"selectedTheme,omitempty"`
	ItemsPerPage               int8   `json:"itemsPerPage,omitempty"`
	SelectedProjectID          string `json:"selectedProjectID,omitempty"`
	SelectProjectTableView     bool   `json:"selectProjectTableView,omitempty"`
	CollapseSidenav            bool   `json:"collapseSidenav,omitempty"`
	DisplayAllProjectsForAdmin bool   `json:"displayAllProjectsForAdmin,omitempty"`
	LastSeenChangelogVersion   string `json:"lastSeenChangelogVersion,omitempty"`
}

UserSettings represent an user settings.

func (*UserSettings) DeepCopy

func (in *UserSettings) DeepCopy() *UserSettings

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

func (*UserSettings) DeepCopyInto

func (in *UserSettings) DeepCopyInto(out *UserSettings)

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

type UserSpec

type UserSpec struct {
	ID                     string                                  `json:"id"`
	Name                   string                                  `json:"name"`
	Email                  string                                  `json:"email"`
	IsAdmin                bool                                    `json:"admin"`
	Settings               *UserSettings                           `json:"settings,omitempty"`
	InvalidTokensReference *providerconfig.GlobalSecretKeySelector `json:"invalidTokensReference,omitempty"`
}

UserSpec specifies a user.

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus

type UserStatus struct {
	// +optional
	LastSeen metav1.Time `json:"lastSeen,omitempty"`
}

UserStatus stores status information about a user.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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

type VSphere

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

func (in *VSphere) DeepCopy() *VSphere

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

func (*VSphere) DeepCopyInto

func (in *VSphere) DeepCopyInto(out *VSphere)

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

func (VSphere) IsValid

func (s VSphere) IsValid() bool

type VSphereCloudSpec

type VSphereCloudSpec struct {
	CredentialsReference *providerconfig.GlobalSecretKeySelector `json:"credentialsReference,omitempty"`

	// Username is the vSphere user name.
	// +optional
	Username string `json:"username"`
	// Password is the vSphere user password.
	// +optional
	Password string `json:"password"`
	// VMNetName is the name of the vSphere network.
	VMNetName string `json:"vmNetName"`
	// Folder is the folder to be used to group the provisioned virtual
	// machines.
	// +optional
	Folder string `json:"folder"`

	// Datastore to be used for storing virtual machines and as a default for
	// dynamic volume provisioning, it is mutually exclusive with
	// DatastoreCluster.
	// +optional
	Datastore string `json:"datastore,omitempty"`
	// DatastoreCluster to be used for storing virtual machines, it is mutually
	// exclusive with Datastore.
	// +optional
	DatastoreCluster string `json:"datastoreCluster,omitempty"`

	// StoragePolicy to be used for storage provisioning
	StoragePolicy string `json:"storagePolicy"`

	// ResourcePool is used to manage resources such as cpu and memory for vSphere virtual machines. The resource pool
	// should be defined on vSphere cluster level.
	// +optional
	ResourcePool string `json:"resourcePool,omitempty"`

	// This user will be used for everything except cloud provider functionality
	InfraManagementUser VSphereCredentials `json:"infraManagementUser"`
}

VSphereCloudSpec specifies access data to VSphere cloud.

func (*VSphereCloudSpec) DeepCopy

func (in *VSphereCloudSpec) DeepCopy() *VSphereCloudSpec

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

func (*VSphereCloudSpec) DeepCopyInto

func (in *VSphereCloudSpec) DeepCopyInto(out *VSphereCloudSpec)

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

type VSphereCredentials

type VSphereCredentials struct {
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`
}

VSphereCredentials credentials represents a credential for accessing vSphere.

func (*VSphereCredentials) DeepCopy

func (in *VSphereCredentials) DeepCopy() *VSphereCredentials

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

func (*VSphereCredentials) DeepCopyInto

func (in *VSphereCredentials) DeepCopyInto(out *VSphereCredentials)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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