Kubermatic CRDs Reference

Packages

apps.kubermatic.k8c.io/v1

Resource Types

ApplicationDefinition

ApplicationDefinition is the Schema for the applicationdefinitions API.

Appears in:

FieldDescription
apiVersion stringapps.kubermatic.k8c.io/v1
kind stringApplicationDefinition
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ApplicationDefinitionSpec

Back to top

ApplicationDefinitionList

ApplicationDefinitionList contains a list of ApplicationDefinition.

FieldDescription
apiVersion stringapps.kubermatic.k8c.io/v1
kind stringApplicationDefinitionList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ApplicationDefinition array

Back to top

ApplicationDefinitionSpec

ApplicationDefinitionSpec defines the desired state of ApplicationDefinition.

Appears in:

FieldDescription
description stringDescription of the application. what is its purpose
method TemplateMethodMethod used to install the application
defaultValues RawExtensionDefaultValues describe overrides for manifest-rendering in UI when creating an application.
versions ApplicationVersion arrayAvailable version for this application

Back to top

ApplicationInstallation

ApplicationInstallation describes a single installation of an Application.

Appears in:

FieldDescription
apiVersion stringapps.kubermatic.k8c.io/v1
kind stringApplicationInstallation
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ApplicationInstallationSpec
status ApplicationInstallationStatus

Back to top

ApplicationInstallationCondition

Appears in:

FieldDescription
status ConditionStatusStatus of the condition, one of True, False, Unknown.
lastHeartbeatTime TimeLast time we got an update on a given condition.
lastTransitionTime TimeLast time the condition transit from one status to another.
reason string(brief) reason for the condition’s last transition.
message stringHuman readable message indicating details about last transition.

Back to top

ApplicationInstallationConditionType

Underlying type: string

swagger:enum ApplicationInstallationConditionType All condition types must be registered within the AllApplicationInstallationConditionTypes variable.

Appears in:

ApplicationInstallationList

ApplicationInstallationList is a list of ApplicationInstallations.

FieldDescription
apiVersion stringapps.kubermatic.k8c.io/v1
kind stringApplicationInstallationList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ApplicationInstallation array

Back to top

ApplicationInstallationSpec

Appears in:

FieldDescription
namespace NamespaceSpecNamespace describe the desired state of the namespace where application will be created.
applicationRef ApplicationRefApplicationRef is a reference to identify which Application should be deployed
values RawExtensionValues describe overrides for manifest-rendering. It’s a free yaml field.

Back to top

ApplicationInstallationStatus

ApplicationInstallationStatus denotes status information about an ApplicationInstallation.

Appears in:

FieldDescription
conditions object (keys:ApplicationInstallationConditionType, values:ApplicationInstallationCondition)Conditions contains conditions an installation is in, its primary use case is status signaling between controllers or between controllers and the API
applicationVersion ApplicationVersionApplicationVersion contains information installing / removing application
method TemplateMethodMethod used to install the application
helmRelease HelmReleaseHelmRelease holds the information about the helm release installed by this application. This field is only filled if template method is ‘helm’.

Back to top

ApplicationRef

ApplicationRef describes a KKP-wide, unique reference to an Application.

Appears in:

FieldDescription
name stringName of the Application. Should be a valid lowercase RFC1123 domain name
version VersionVersion of the Application. Must be a valid SemVer version

Back to top

ApplicationSource

Appears in:

FieldDescription
helm HelmSourceInstall Application from a Helm repository
git GitSourceInstall application from a Git repository

Back to top

ApplicationTemplate

Appears in:

FieldDescription
source ApplicationSourceDefined how the source of the application (e.g Helm chart) is retrieved. Exactly one type of source must be defined.

Back to top

ApplicationVersion

Appears in:

FieldDescription
version stringVersion of the application (e.g. v1.2.3)
template ApplicationTemplateTemplate defines how application is installed (source provenance, Method…)

Back to top

GitCredentials

Appears in:

FieldDescription
method GitAuthMethodAuthentication method. Either password or token or ssh-key. if method is password then username and password must be defined. if method is token then token must be defined. if method is ssh-key then ssh-key must be defined.
username SecretKeySelectorUsername holds the ref and key in the secret for the username credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git
password SecretKeySelectorPassword holds the ref and key in the secret for the Password credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git
token SecretKeySelectorToken holds the ref and key in the secret for the token credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git
sshKey SecretKeySelectorSSHKey holds the ref and key in the secret for the SshKey credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git

Back to top

GitReference

Appears in:

FieldDescription
branch stringBranch to checkout. Only the last commit of the branch will be checkout in order to reduce the amount of data to download.
commit stringCommit SHA in a Branch to checkout.
It must be used in conjunction with branch field.
tag stringTag to check out. It can not be used in conjunction with commit or branch.

Back to top

GitSource

Appears in:

FieldDescription
remote stringURL to the repository. Can be HTTP(s) (e.g. https://example.com/myrepo) or SSH (e.g. git://example.com[:port]/path/to/repo.git/)
ref GitReferenceGit reference to checkout. For large repositories, we recommend to either use Tag, Branch or Branch+Commit. This allows a shallow clone, which dramatically speeds up performance
path stringPath of the “source” in the repository. default is repository root
credentials GitCredentialsCredentials are optional and holds the git credentials

Back to top

HelmCredentials

Appears in:

FieldDescription
username SecretKeySelectorUsername holds the ref and key in the secret for the username credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git
password SecretKeySelectorPassword holds the ref and key in the secret for the Password credential. The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git
registryConfigFile SecretKeySelectorRegistryConfigFile holds the ref and key in the secret for the registry credential file. The value is dockercfg file that follows the same format rules as ~/.docker/config.json The The Secret must exist in the namespace where KKP is installed (default is “kubermatic”). The Secret must be annotated with apps.kubermatic.k8c.io/secret-type: set to helm or git

Back to top

HelmRelease

Appears in:

FieldDescription
name stringName is the name of the release.
version integerVersion is an int which represents the revision of the release.
info HelmReleaseInfoInfo provides information about a release.

Back to top

HelmReleaseInfo

HelmReleaseInfo describes release information. tech note: we can not use release.Info from Helm because the underlying type used for time has no json tag.

Appears in:

FieldDescription
firstDeployed TimeFirstDeployed is when the release was first deployed.
lastDeployed TimeLastDeployed is when the release was last deployed.
deleted TimeDeleted tracks when this object was deleted.
description stringDescription is human-friendly “log entry” about this release.
status StatusStatus is the current state of the release.
notes stringNotes is the rendered templates/NOTES.txt if available.

Back to top

HelmSource

Appears in:

FieldDescription
url stringURl of the helm repository. It can be an HTTP(s) repository (e.g. https://localhost/myrepo) or on OCI repository (e.g. oci://localhost:5000/myrepo).
chartName stringName of the Chart.
chartVersion stringVersion of the Chart.
credentials HelmCredentialsCredentials are optional and hold the ref to the secret with helm credentials. Either username / Password or registryConfigFile can be defined.

Back to top

NamespaceSpec

NamespaceSpec describe the desired state of the namespace where application will be created.

Appears in:

FieldDescription
name stringName is the namespace to deploy the Application into. Should be a valid lowercase RFC1123 domain name
create booleanCreate defines whether the namespace should be created if it does not exist. Defaults to true
labels object (keys:string, values:string)Labels of the namespace More info: http://kubernetes.io/docs/user-guide/labels
annotations object (keys:string, values:string)Annotations of the namespace More info: http://kubernetes.io/docs/user-guide/annotations

Back to top

Version

Version wraps semverlib.Version. It is needed because kubebuilder does not accept structs with non-tagged fields, even if they have custom marshallers With this the CRD resource will have Version as string but operator code can work directly with the semverlib.Version struct (taken from https://github.com/kubernetes-sigs/controller-tools/blob/master/pkg/crd/testdata/cronjob_types.go#L283)

Appears in:

FieldDescription
invalid type invalid type

Back to top

kubermatic.k8c.io/v1

Resource Types

AKS

Appears in:

FieldDescription
ProviderPreset ProviderPreset
tenantID string
subscriptionID string
clientID string
clientSecret string

Back to top

APIServerSettings

Appears in:

FieldDescription
DeploymentSettings DeploymentSettings
endpointReconcilingDisabled boolean
nodePortRange string

Back to top

AWS

Appears in:

FieldDescription
ProviderPreset ProviderPreset
accessKeyID stringAccess Key ID to authenticate against AWS.
secretAccessKey stringSecret Access Key to authenticate against AWS.
assumeRoleARN string
assumeRoleExternalID string
vpcID stringAWS VPC to use. Must be configured.
routeTableID stringRoute table to use. This can be configured, but if left empty will be automatically filled in during reconciliation.
instanceProfileName stringInstance profile to use. This can be configured, but if left empty will be automatically filled in during reconciliation.
securityGroupID stringSecurity group to use. This can be configured, but if left empty will be automatically filled in during reconciliation.
roleARN stringARN to use. This can be configured, but if left empty will be automatically filled in during reconciliation.

Back to top

AWSCloudSpec

AWSCloudSpec specifies access data to Amazon Web Services.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
accessKeyID string
secretAccessKey string
assumeRoleARN string
assumeRoleExternalID string
vpcID string
roleARN stringThe IAM role, the control plane will use. The control plane will perform an assume-role
routeTableID string
instanceProfileName string
securityGroupID string
nodePortsAllowedIPRange stringA CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
nodePortsAllowedIPRanges NetworkRangesOptional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.

Back to top

Addon

Addon specifies a cluster addon. Addons can be installed into user clusters to provide additional manifests for CNIs, CSIs or other applications, which makes addons a necessary component to create functioning user clusters. Addon objects must be created inside cluster namespaces.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAddon
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AddonSpecSpec describes the desired addon state.
status AddonStatusStatus contrains information about the reconciliation status.

Back to top

AddonCondition

Appears in:

FieldDescription
status ConditionStatusStatus of the condition, one of True, False, Unknown.
lastHeartbeatTime TimeLast time we got an update on a given condition.
lastTransitionTime TimeLast time the condition transitioned from one status to another.

Back to top

AddonConditionType

Underlying type: string

Appears in:

AddonConfig

AddonConfig specifies addon configuration. Addons can be installed without a matching AddonConfig, but they will be missing a logo, description and the potentially necessary form fields in the KKP dashboard to make the addon comfortable to use.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAddonConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AddonConfigSpec

Back to top

AddonConfigList

AddonConfigList is a list of addon configs.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAddonConfigList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items AddonConfig array

Back to top

AddonConfigSpec

AddonConfigSpec specifies configuration of addon.

Appears in:

FieldDescription
shortDescription stringShortDescription of the configured addon that contains more detailed information about the addon, it will be displayed in the addon details view in the UI
description stringDescription of the configured addon, it will be displayed in the addon overview in the UI
logo stringLogo of the configured addon, encoded in base64
logoFormat stringLogoFormat contains logo format of the configured addon, i.e. svg+xml
formSpec AddonFormControl arrayControls that can be set for configured addon

Back to top

AddonFormControl

AddonFormControl specifies addon form control.

Appears in:

FieldDescription
displayName stringDisplayName is visible in the UI
internalName stringInternalName is used internally to save in the addon object
helpText stringHelpText is visible in the UI next to the control
required booleanRequired indicates if the control has to be set
type stringType of displayed control

Back to top

AddonList

AddonList is a list of addons.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAddonList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Addon array

Back to top

AddonSpec

AddonSpec specifies details of an addon.

Appears in:

FieldDescription
name stringName defines the name of the addon to install
cluster ObjectReferenceCluster is the reference to the cluster the addon should be installed in
variables RawExtensionVariables is free form data to use for parsing the manifest templates
requiredResourceTypes GroupVersionKind arrayRequiredResourceTypes 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.
isDefault booleanIsDefault indicates whether the addon is installed because it was configured in the default addon section in the KubermaticConfiguration. User-installed addons must not set this field to true, as extra default Addon objects (that are not in the KubermaticConfiguration) will be garbage-collected.

Back to top

AddonStatus

AddonStatus contrains information about the reconciliation status.

Appears in:

FieldDescription
conditions object (keys:AddonConditionType, values:AddonCondition)

Back to top

AdmissionPlugin

AdmissionPlugin is the type representing a AdmissionPlugin.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAdmissionPlugin
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AdmissionPluginSpec

Back to top

AdmissionPluginList

AdmissionPluginList is the type representing a AdmissionPluginList.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAdmissionPluginList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items AdmissionPlugin arrayList of Admission Plugins

Back to top

AdmissionPluginSpec

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

Appears in:

FieldDescription
pluginName string
fromVersion SemverFromVersion flag can be empty. It means the plugin fit to all k8s versions

Back to top

Alertmanager

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAlertmanager
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AlertmanagerSpec
status AlertmanagerStatus

Back to top

AlertmanagerConfigurationStatus

AlertmanagerConfigurationStatus stores status information about the AlertManager configuration.

Appears in:

FieldDescription
lastUpdated TimeLastUpdated stores the last successful time when the configuration was successfully applied
status ConditionStatusStatus of whether the configuration was applied, one of True, False
errorMessage stringErrorMessage 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

Back to top

AlertmanagerList

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAlertmanagerList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Alertmanager array

Back to top

AlertmanagerSpec

Appears in:

FieldDescription
configSecret LocalObjectReferenceConfigSecret refers to the Secret in the same namespace as the Alertmanager object, which contains configuration for this Alertmanager.

Back to top

AlertmanagerStatus

AlertmanagerStatus stores status information about the AlertManager.

Appears in:

FieldDescription
configStatus AlertmanagerConfigurationStatus

Back to top

Alibaba

Appears in:

FieldDescription
ProviderPreset ProviderPreset
accessKeyID stringAccess Key ID to authenticate against Alibaba.
accessKeySecret stringAccess Key Secret to authenticate against Alibaba.

Back to top

AlibabaCloudSpec

AlibabaCloudSpec specifies the access data to Alibaba.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
accessKeyID string
accessKeySecret string

Back to top

AllowedRegistry

AllowedRegistry is the object representing an allowed registry.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAllowedRegistry
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec AllowedRegistrySpec

Back to top

AllowedRegistryList

AllowedRegistryList specifies a list of allowed registries.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringAllowedRegistryList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items AllowedRegistry array

Back to top

AllowedRegistrySpec

AllowedRegistrySpec specifies the data for allowed registry spec.

Appears in:

FieldDescription
registryPrefix stringRegistryPrefix 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.

Back to top

Anexia

Appears in:

FieldDescription
ProviderPreset ProviderPreset
token stringToken is used to authenticate with the Anexia API.

Back to top

AnexiaCloudSpec

AnexiaCloudSpec specifies the access data to Anexia.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
token string

Back to top

ApplicationSettings

Appears in:

AuditLoggingSettings

AuditLoggingSettings configures audit logging functionality.

Appears in:

FieldDescription
enabled booleanEnabled will enable or disable audit logging.
policyPreset AuditPolicyPresetOptional: PolicyPreset can be set to utilize a pre-defined set of audit policy rules.
sidecar AuditSidecarSettingsOptional: Configures the fluent-bit sidecar deployed alongside kube-apiserver.

Back to top

AuditSidecarConfiguration

AuditSidecarConfiguration defines custom configuration for the fluent-bit sidecar deployed with a kube-apiserver. Also see https://docs.fluentbit.io/manual/v/1.8/administration/configuring-fluent-bit/configuration-file.

Appears in:

FieldDescription
service object (keys:string, values:string)
filters object array
outputs object array

Back to top

AuditSidecarSettings

Appears in:

FieldDescription
resources ResourceRequirements
config AuditSidecarConfiguration

Back to top

Azure

Appears in:

FieldDescription
ProviderPreset ProviderPreset
tenantID string
subscriptionID string
clientID string
clientSecret string
resourceGroup string
vnetResourceGroup string
vnet string
subnet string
routeTable string
securityGroup string
loadBalancerSKU LBSKULoadBalancerSKU sets the LB type that will be used for the Azure cluster, possible values are “basic” and “standard”, if empty, “basic” will be used

Back to top

AzureCloudSpec

AzureCloudSpec defines cloud resource references for Microsoft Azure.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelectorCredentialsReference allows referencing a Secret resource instead of passing secret data in this spec.
tenantID stringTenantID is the Azure Active Directory Tenant used for this cluster. Can be read from credentialsReference instead.
subscriptionID stringSubscriptionID is the Azure Subscription used for this cluster. Can be read from credentialsReference instead.
clientID stringClientID is the service principal used to access Azure. Can be read from credentialsReference instead.
clientSecret stringClientSecret is the client secret corresponding to the given service principal. Can be read from credentialsReference instead.
resourceGroup stringThe resource group that will be used to look up and create resources for the cluster in. If set to empty string at cluster creation, a new resource group will be created and this field will be updated to the generated resource group’s name.
vnetResourceGroup stringOptional: VNetResourceGroup optionally defines a second resource group that will be used for VNet related resources instead. If left empty, NO additional resource group will be created and all VNet related resources use the resource group defined by resourceGroup.
vnet stringThe name of the VNet resource used for setting up networking in. If set to empty string at cluster creation, a new VNet will be created and this field will be updated to the generated VNet’s name.
subnet stringThe name of a subnet in the VNet referenced by vnet. If set to empty string at cluster creation, a new subnet will be created and this field will be updated to the generated subnet’s name. If no VNet is defined at cluster creation, this field should be empty as well.
routeTable stringThe name of a route table associated with the subnet referenced by subnet. If set to empty string at cluster creation, a new route table will be created and this field will be updated to the generated route table’s name. If no subnet is defined at cluster creation, this field should be empty as well.
securityGroup stringThe name of a security group associated with the subnet referenced by subnet. If set to empty string at cluster creation, a new security group will be created and this field will be updated to the generated security group’s name. If no subnet is defined at cluster creation, this field should be empty as well.
nodePortsAllowedIPRange stringA CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
nodePortsAllowedIPRanges NetworkRangesOptional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
assignAvailabilitySet booleanOptional: AssignAvailabilitySet determines whether KKP creates and assigns an AvailabilitySet to machines. Defaults to true internally if not set.
availabilitySet stringAn availability set that will be associated with nodes created for this cluster. If this field is set to empty string at cluster creation and AssignAvailabilitySet is set to true, a new availability set will be created and this field will be updated to the generated availability set’s name.
loadBalancerSKU LBSKU

Back to top

BackupDestination

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

Appears in:

FieldDescription
endpoint stringEndpoint is the API endpoint to use for backup and restore.
bucketName stringBucketName is the bucket name to use for backup and restore.
credentials SecretReferenceCredentials hold the ref to the secret with backup credentials

Back to top

BackupStatus

Appears in:

FieldDescription
scheduledTime TimeScheduledTime will always be set when the BackupStatus is created, so it’ll never be nil
backupName string
jobName string
backupStartTime Time
backupFinishedTime Time
backupPhase BackupStatusPhase
backupMessage string
deleteJobName string
deleteStartTime Time
deleteFinishedTime Time
deletePhase BackupStatusPhase
deleteMessage string

Back to top

BackupStatusPhase

Underlying type: string

Appears in:

BringYourOwnCloudSpec

BringYourOwnCloudSpec specifies access data for a bring your own cluster.

Appears in:

CNIPluginSettings

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

Appears in:

FieldDescription
type CNIPluginTypeType is the CNI plugin type to be used.
version stringVersion defines the CNI plugin version to be used. This varies by chosen CNI plugin type.

Back to top

CNIPluginType

Underlying type: string

CNIPluginType defines the type of CNI plugin installed. Possible values are canal, cilium or none.

Appears in:

CleanupOptions

Appears in:

FieldDescription
enabled booleanEnable checkboxes that allow the user to ask for LoadBalancers and PVCs to be deleted in order to not leave potentially expensive resources behind.
enforced booleanIf enforced is set to true, the cleanup of LoadBalancers and PVCs is enforced.

Back to top

CloudSpec

CloudSpec stores configuration options for a given cloud provider. Provider specs are mutually exclusive.

Appears in:

FieldDescription
dc stringDatacenterName states the name of a cloud provider “datacenter” (defined in Seed resources) this cluster should be deployed into.
providerName stringProviderName is the name of the cloud provider used for this cluster. This must match the given provider spec (e.g. if the providerName is “aws”, then the aws field must be set).
fake FakeCloudSpec
digitalocean DigitaloceanCloudSpec
bringyourown BringYourOwnCloudSpec
aws AWSCloudSpec
azure AzureCloudSpec
openstack OpenstackCloudSpec
packet PacketCloudSpec
hetzner HetznerCloudSpec
vsphere VSphereCloudSpec
gcp GCPCloudSpec
kubevirt KubevirtCloudSpec
alibaba AlibabaCloudSpec
anexia AnexiaCloudSpec
nutanix NutanixCloudSpec
vmwareclouddirector VMwareCloudDirectorCloudSpec

Back to top

Cluster

Cluster represents a Kubermatic Kubernetes Platform user cluster. Cluster objects exist on Seed clusters and each user cluster consists of a namespace containing the Kubernetes control plane and additional pods (like Prometheus or the machine-controller).

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringCluster
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ClusterSpecSpec describes the desired cluster state.
status ClusterStatusStatus contains reconciliation information for the cluster.
address ClusterAddressAddress contains the IPs/URLs to access the cluster control plane. This field is optional and replaced by the identical struct in the ClusterStatus. No code should rely on these fields anymore.

Back to top

ClusterAddress

ClusterAddress stores access and address information of a cluster.

Appears in:

FieldDescription
url stringURL under which the Apiserver is available
port integerPort is the port the API server listens on
externalName stringExternalName is the DNS name for this cluster
internalURL stringInternalName is the seed cluster internal absolute DNS name to the API server
adminToken stringAdminToken is the token for the kubeconfig, the user can download
ip stringIP is the external IP under which the apiserver is available

Back to top

ClusterCondition

Appears in:

FieldDescription
status ConditionStatusStatus of the condition, one of True, False, Unknown.
kubermaticVersion stringKubermaticVersion current kubermatic version.
lastHeartbeatTime TimeLast time we got an update on a given condition.
lastTransitionTime TimeLast time the condition transit from one status to another.
reason string(brief) reason for the condition’s last transition.
message stringHuman readable message indicating details about last transition.

Back to top

ClusterConditionType

Underlying type: 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.

Appears in:

ClusterEncryptionPhase

Underlying type: string

Appears in:

ClusterEncryptionStatus

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

Appears in:

FieldDescription
activeKey stringThe current “primary” key used to encrypt data written to etcd. Secondary keys that can be used for decryption (but not encryption) might be configured in the ClusterSpec.
encryptedResources string arrayList of resources currently encrypted.
phase ClusterEncryptionPhaseThe current phase of the encryption process. Can be one of Pending, Failed, Active or EncryptionNeeded. The encryption_controller logic will process the cluster based on the current phase and issue necessary changes to make sure encryption on the cluster is active and updated with what the ClusterSpec defines.

Back to top

ClusterList

ClusterList specifies a list of user clusters.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringClusterList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Cluster array

Back to top

ClusterNetworkingConfig

ClusterNetworkingConfig specifies the different networking parameters for a cluster.

Appears in:

FieldDescription
ipFamily IPFamilyOptional: IP family used for cluster networking. Supported values are “”, “IPv4” or “IPv4+IPv6”. Can be omitted / empty if pods and services network ranges are specified. In that case it defaults according to the IP families of the provided network ranges. If neither ipFamily nor pods & services network ranges are specified, defaults to “IPv4”.
services NetworkRangesThe network ranges from which service VIPs are allocated. It can contain one IPv4 and/or one IPv6 CIDR. If both address families are specified, the first one defines the primary address family.
pods NetworkRangesThe network ranges from which POD networks are allocated. It can contain one IPv4 and/or one IPv6 CIDR. If both address families are specified, the first one defines the primary address family.
nodeCidrMaskSizeIPv4 integerNodeCIDRMaskSizeIPv4 is the mask size used to address the nodes within provided IPv4 Pods CIDR. It has to be larger than the provided IPv4 Pods CIDR. Defaults to 24.
nodeCidrMaskSizeIPv6 integerNodeCIDRMaskSizeIPv6 is the mask size used to address the nodes within provided IPv6 Pods CIDR. It has to be larger than the provided IPv6 Pods CIDR. Defaults to 64.
dnsDomain stringDomain name for services.
proxyMode stringProxyMode defines the kube-proxy mode (“ipvs” / “iptables” / “ebpf”). Defaults to “ipvs”. “ebpf” disables kube-proxy and requires CNI support.
ipvs IPVSConfigurationIPVS defines kube-proxy ipvs configuration options
nodeLocalDNSCacheEnabled booleanNodeLocalDNSCacheEnabled controls whether the NodeLocal DNS Cache feature is enabled. Defaults to true.
coreDNSReplicas integerCoreDNSReplicas is the number of desired pods of user cluster coredns deployment.
konnectivityEnabled booleanKonnectivityEnabled enables konnectivity for controlplane to node network communication.

Back to top

ClusterPhase

Underlying type: string

Appears in:

ClusterSpec

ClusterSpec describes the desired state of a user cluster.

Appears in:

FieldDescription
humanReadableName stringHumanReadableName is the cluster name provided by the user.
version SemverVersion defines the wanted version of the control plane.
cloud CloudSpecCloud contains information regarding the cloud provider that is responsible for hosting the cluster’s workload.
containerRuntime stringContainerRuntime to use, i.e. docker or containerd. By default containerd will be used.
imagePullSecret SecretReferenceOptional: ImagePullSecret references a secret with container registry credentials. This is passed to the machine-controller which sets the registry credentials on node level.
cniPlugin CNIPluginSettings
clusterNetwork ClusterNetworkingConfig
machineNetworks MachineNetworkingConfig array
exposeStrategy ExposeStrategyExposeStrategy is the strategy used to expose a cluster control plane.
componentsOverride ComponentSettingsOptional: Component specific overrides that allow customization of control plane components.
oidc OIDCSettings
features object (keys:string, values:boolean)A map of optional or early-stage features that can be enabled for the user cluster. Some feature gates cannot be disabled after being enabled. The available feature gates vary based on KKP version, Kubernetes version and Seed configuration. Please consult the KKP documentation for specific feature gates.
updateWindow UpdateWindowOptional: UpdateWindow configures automatic update systems to respect a maintenance window for applying OS updates to nodes. This is only respected on Flatcar nodes currently.
usePodSecurityPolicyAdmissionPlugin booleanEnables the admission plugin PodSecurityPolicy. This plugin is deprecated by Kubernetes.
usePodNodeSelectorAdmissionPlugin booleanEnables the admission plugin PodNodeSelector. Needs additional configuration via the podNodeSelectorAdmissionPluginConfig field.
useEventRateLimitAdmissionPlugin booleanEnables the admission plugin EventRateLimit. Needs additional configuration via the eventRateLimitConfig field. This plugin is considered “alpha” by Kubernetes.
admissionPlugins string arrayA list of arbitrary admission plugin names that are passed to kube-apiserver. Must not include admission plugins that can be enabled via a separate setting.
podNodeSelectorAdmissionPluginConfig object (keys:string, values:string)Optional: Provides configuration for the PodNodeSelector admission plugin (needs plugin enabled via usePodNodeSelectorAdmissionPlugin). It’s used by the backend to create a configuration file for this plugin. The key:value from this map is converted to : in the file. Use clusterDefaultNodeSelector as key to configure a default node selector.
eventRateLimitConfig EventRateLimitConfigOptional: Configures the EventRateLimit admission plugin (if enabled via useEventRateLimitAdmissionPlugin) to create limits on Kubernetes event generation. The EventRateLimit plugin is capable of comparing and rate limiting incoming Events based on several configured buckets.
enableUserSSHKeyAgent booleanOptional: Deploys the UserSSHKeyAgent to the user cluster. This field is immutable. If enabled, the agent will be deployed and used to sync user ssh keys attached by users to the cluster. No SSH keys will be synced after node creation if this is disabled.
enableOperatingSystemManager booleanOptional: Enables operating-system-manager (OSM), which is responsible for creating and managing worker node configuration. This field is enabled(true) by default.
kubernetesDashboard KubernetesDashboardKubernetesDashboard holds the configuration for the kubernetes-dashboard component.
auditLogging AuditLoggingSettingsOptional: AuditLogging configures Kubernetes API audit logging (https://kubernetes.io/docs/tasks/debug-application-cluster/audit/) for the user cluster.
opaIntegration OPAIntegrationSettingsOptional: OPAIntegration is a preview feature that enables OPA integration for the cluster. Enabling it causes OPA Gatekeeper and its resources to be deployed on the user cluster. By default it is disabled.
serviceAccount ServiceAccountSettingsOptional: ServiceAccount contains service account related settings for the user cluster’s kube-apiserver.
mla MLASettingsOptional: MLA contains monitoring, logging and alerting related settings for the user cluster.
applicationSettings ApplicationSettingsOptional: ApplicationSettings contains the settings relative to the application feature.
encryptionConfiguration EncryptionConfigurationOptional: Configures encryption-at-rest for Kubernetes API data. This needs the encryptionAtRest feature gate.
pause booleanIf this is set to true, the cluster will not be reconciled by KKP. This indicates that the user needs to do some action to resolve the pause.
pauseReason stringPauseReason is the reason why the cluster is not being managed. This field is for informational purpose only and can be set by a user or a controller to communicate the reason for pausing the cluster.
debugLog booleanEnables more verbose logging in KKP’s user-cluster-controller-manager.

Back to top

ClusterStatus

ClusterStatus stores status information about a cluster.

Appears in:

FieldDescription
address ClusterAddressAddress contains the IPs/URLs to access the cluster control plane.
lastUpdated Time
extendedHealth ExtendedClusterHealthExtendedHealth exposes information about the current health state. Extends standard health status for new states.
lastProviderReconciliation TimeLastProviderReconciliation 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.).
namespaceName stringNamespaceName defines the namespace the control plane of this cluster is deployed in.
versions ClusterVersionsStatusVersions contains information regarding the current and desired versions of the cluster control plane and worker nodes.
userName stringDeprecated: UserName contains the name of the owner of this cluster. This field is not actively used and will be removed in the future.
userEmail stringUserEmail contains the email of the owner of this cluster. During cluster creation only, this field will be used to bind the cluster-admin ClusterRole to a cluster owner.
errorReason ClusterStatusErrorErrorReason contains a error reason in case the controller encountered an error. Will be reset if the error was resolved.
errorMessage stringErrorMessage contains a default error message in case the controller encountered an error. Will be reset if the error was resolved.
conditions object (keys:ClusterConditionType, values:ClusterCondition)Conditions contains conditions the cluster is in, its primary use case is status signaling between controllers or between controllers and the API.
phase ClusterPhasePhase is a description of the current cluster status, summarizing the various conditions, possible active updates etc. This field is for informational purpose only and no logic should be tied to the phase.
cloudMigrationRevision integerCloudMigrationRevision describes the latest version of the migration that has been done It is used to avoid redundant and potentially costly migrations.
inheritedLabels object (keys:string, values:string)InheritedLabels are labels the cluster inherited from the project. They are read-only for users.
encryption ClusterEncryptionStatusEncryption describes the status of the encryption-at-rest feature for encrypted data in etcd.
resourceUsage ResourceDetailsResourceUsage shows the current usage of resources for the cluster.

Back to top

ClusterStatusError

Underlying type: string

Appears in:

ClusterTemplate

ClusterTemplate is the object representing a cluster template.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringClusterTemplate
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
clusterLabels object (keys:string, values:string)
inheritedClusterLabels object (keys:string, values:string)
credential string
userSSHKeys ClusterTemplateSSHKey array
spec ClusterSpec

Back to top

ClusterTemplateInstance

ClusterTemplateInstance is the object representing a cluster template instance.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringClusterTemplateInstance
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ClusterTemplateInstanceSpec

Back to top

ClusterTemplateInstanceList

ClusterTemplateInstanceList specifies a list of cluster template instances.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringClusterTemplateInstanceList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ClusterTemplateInstance array

Back to top

ClusterTemplateInstanceSpec

ClusterTemplateInstanceSpec specifies the data for cluster instances.

Appears in:

FieldDescription
projectID string
clusterTemplateID string
clusterTemplateName string
replicas integer

Back to top

ClusterTemplateList

ClusterTemplateList specifies a list of cluster templates.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringClusterTemplateList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ClusterTemplate array

Back to top

ClusterTemplateSSHKey

ClusterTemplateSSHKey is the object for holding SSH key.

Appears in:

FieldDescription
id stringID is the name of the UserSSHKey object that is supposed to be assigned to any ClusterTemplateInstance created based on this template.
name stringName is the human readable SSH key name.

Back to top

ClusterVersionsStatus

ClusterVersionsStatus contains information regarding the current and desired versions of the cluster control plane and worker nodes.

Appears in:

FieldDescription
controlPlane SemverControlPlane is the currently active cluster version. This can lag behind the apiserver version if an update is currently rolling out.
apiserver SemverApiserver is the currently desired version of the kube-apiserver. During upgrades across multiple minor versions (e.g. from 1.20 to 1.23), this will gradually be increased by the update-controller until the desired cluster version (spec.version) is reached.
controllerManager SemverControllerManager is the currently desired version of the kube-controller-manager. This field behaves the same as the apiserver field.
scheduler SemverScheduler is the currently desired version of the kube-scheduler. This field behaves the same as the apiserver field.
oldestNodeVersion SemverOldestNodeVersion is the oldest node version currently in use inside the cluster. This can be nil if there are no nodes. This field is primarily for speeding up reconciling, so that the controller doesn’t have to re-fetch to the usercluster and query its node on every reconciliation.

Back to top

ComponentSettings

Appears in:

FieldDescription
apiserver APIServerSettingsApiserver configures kube-apiserver settings.
controllerManager ControllerSettingsControllerManager configures kube-controller-manager settings.
scheduler ControllerSettingsScheduler configures kube-scheduler settings.
etcd EtcdStatefulSetSettingsEtcd configures the etcd ring used to store Kubernetes data.
prometheus StatefulSetSettingsPrometheus configures the Prometheus instance deployed into the cluster control plane.
nodePortProxyEnvoy NodeportProxyComponentNodePortProxyEnvoy configures the per-cluster nodeport-proxy-envoy that is deployed if the LoadBalancer expose strategy is used. This is not effective if a different expose strategy is configured.
konnectivityProxy KonnectvityProxySettingsKonnectivityProxy configures resources limits/requests for konnectivity-server sidecar.

Back to top

Constraint

Constraint specifies a kubermatic wrapper for the gatekeeper constraints.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringConstraint
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ConstraintSpec

Back to top

ConstraintList

ConstraintList specifies a list of constraints.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringConstraintList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Constraint array

Back to top

ConstraintSelector

ConstraintSelector is the object holding the cluster selection filters.

Appears in:

FieldDescription
providers string arrayProviders is a list of cloud providers to which the Constraint applies to. Empty means all providers are selected.
labelSelector LabelSelectorLabelSelector selects the Clusters to which the Constraint applies based on their labels

Back to top

ConstraintSpec

ConstraintSpec specifies the data for the constraint.

Appears in:

FieldDescription
constraintType stringConstraintType specifies the type of gatekeeper constraint that the constraint applies to
disabled booleanDisabled is the flag for disabling OPA constraints
match MatchMatch contains the constraint to resource matching data
parameters object (keys:string, values:integer array)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”]
selector ConstraintSelectorSelector specifies the cluster selection filters

Back to top

ConstraintTemplate

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringConstraintTemplate
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ConstraintTemplateSpec

Back to top

ConstraintTemplateList

ConstraintTemplateList specifies a list of constraint templates.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringConstraintTemplateList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ConstraintTemplate array

Back to top

ConstraintTemplateSelector

ConstraintTemplateSelector is the object holding the cluster selection filters.

Appears in:

FieldDescription
providers string arrayProviders is a list of cloud providers to which the Constraint Template applies to. Empty means all providers are selected.
labelSelector LabelSelectorLabelSelector selects the Clusters to which the Constraint Template applies based on their labels

Back to top

ConstraintTemplateSpec

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

Appears in:

FieldDescription
crd CRD
targets Target array
selector ConstraintTemplateSelector

Back to top

ContainerRuntimeContainerd

ContainerRuntimeContainerd defines containerd container runtime registries configs.

Appears in:

FieldDescription
registries object (keys:string, values:ContainerdRegistry)A map of registries to use to render configs and mirrors for containerd registries

Back to top

ContainerdRegistry

ContainerdRegistry defines endpoints and security for given container registry.

Appears in:

ControllerSettings

Appears in:

FieldDescription
DeploymentSettings DeploymentSettings
leaderElection LeaderElectionSettings

Back to top

Appears in:

FieldDescription
label string
url string
icon string
location string

Back to top

Datacenter

Appears in:

FieldDescription
country stringOptional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. For informational purposes in the Kubermatic dashboard only.
location stringOptional: Detailed location of the cluster, like “Hamburg” or “Datacenter 7”. For informational purposes in the Kubermatic dashboard only.
node NodeSettingsNode 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.
spec DatacenterSpecSpec describes the cloud provider settings used to manage resources in this datacenter. Exactly one cloud provider must be defined.

Back to top

DatacenterSpec

DatacenterSpec mutually points to provider datacenter spec.

Appears in:

FieldDescription
digitalocean DatacenterSpecDigitalocean
bringyourown DatacenterSpecBringYourOwnBringYourOwn contains settings for clusters using manually created nodes via kubeadm.
aws DatacenterSpecAWS
azure DatacenterSpecAzure
openstack DatacenterSpecOpenstack
packet DatacenterSpecPacket
hetzner DatacenterSpecHetzner
vsphere DatacenterSpecVSphere
vmwareclouddirector DatacenterSpecVMwareCloudDirector
gcp DatacenterSpecGCP
kubevirt DatacenterSpecKubevirt
alibaba DatacenterSpecAlibaba
anexia DatacenterSpecAnexia
nutanix DatacenterSpecNutanixNutanix is experimental and unsupported
requiredEmails string arrayOptional: 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”).
enforceAuditLogging booleanEnforceAuditLogging enforces audit logging on every cluster within the DC, ignoring cluster-specific settings.
enforcePodSecurityPolicy booleanEnforcePodSecurityPolicy enforces pod security policy plugin on every clusters within the DC, ignoring cluster-specific settings
providerReconciliationInterval DurationProviderReconciliationInterval 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.

Back to top

DatacenterSpecAWS

DatacenterSpecAWS describes an AWS datacenter.

Appears in:

FieldDescription
region stringThe 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
images object (keys:OperatingSystem, values:string)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.

Back to top

DatacenterSpecAlibaba

DatacenterSpecAlibaba describes a alibaba datacenter.

Appears in:

FieldDescription
region stringRegion to use, for a full list of regions see https://www.alibabacloud.com/help/doc-detail/40654.htm

Back to top

DatacenterSpecAnexia

DatacenterSpecAnexia describes a anexia datacenter.

Appears in:

FieldDescription
locationID stringLocationID the location of the region

Back to top

DatacenterSpecAzure

DatacenterSpecAzure describes an Azure cloud datacenter.

Appears in:

FieldDescription
location stringRegion to use, for example “westeurope”. A list of available regions can be found at https://azure.microsoft.com/en-us/global-infrastructure/locations/

Back to top

DatacenterSpecBringYourOwn

DatacenterSpecBringYourOwn describes a datacenter our of bring your own nodes.

Appears in:

DatacenterSpecDigitalocean

DatacenterSpecDigitalocean describes a DigitalOcean datacenter.

Appears in:

FieldDescription
region stringDatacenter location, e.g. “ams3”. A list of existing datacenters can be found at https://www.digitalocean.com/docs/platform/availability-matrix/

Back to top

DatacenterSpecGCP

DatacenterSpecGCP describes a GCP datacenter.

Appears in:

FieldDescription
region stringRegion to use, for example “europe-west3”, for a full list of regions see https://cloud.google.com/compute/docs/regions-zones/
zoneSuffixes string arrayList of enabled zones, for example [a, c]. See the link above for the available zones in your chosen region.
regional booleanOptional: 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

Back to top

DatacenterSpecHetzner

DatacenterSpecHetzner describes a Hetzner cloud datacenter.

Appears in:

FieldDescription
datacenter stringDatacenter location, e.g. “nbg1-dc3”. A list of existing datacenters can be found at https://docs.hetzner.com/general/others/data-centers-and-connection/
network stringNetwork 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.
location stringOptional: Detailed location of the datacenter, like “Hamburg” or “Datacenter 7”. For informational purposes only.

Back to top

DatacenterSpecKubevirt

DatacenterSpecKubevirt describes a kubevirt datacenter.

Appears in:

FieldDescription
dnsPolicy stringDNSPolicy 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.
dnsConfig PodDNSConfigDNSConfig represents the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.

Back to top

DatacenterSpecNutanix

DatacenterSpecNutanix describes a Nutanix datacenter.

Appears in:

FieldDescription
endpoint stringEndpoint to use for accessing Nutanix Prism Central. No protocol or port should be passed, for example “nutanix.example.com” or “10.0.0.1”
port integerOptional: Port to use when connecting to the Nutanix Prism Central endpoint (defaults to 9440)
allowInsecure booleanOptional: AllowInsecure allows to disable the TLS certificate check against the endpoint (defaults to false)
images object (keys:OperatingSystem, values:string)Images to use for each supported operating system

Back to top

DatacenterSpecOpenstack

DatacenterSpecOpenstack describes an OpenStack datacenter.

Appears in:

FieldDescription
authURL string
availabilityZone string
region string
ignoreVolumeAZ booleanOptional
enforceFloatingIP booleanOptional
dnsServers string arrayUsed for automatic network creation
images object (keys:OperatingSystem, values:string)Images to use for each supported operating system.
manageSecurityGroups booleanOptional: Gets mapped to the “manage-security-groups” setting in the cloud config. This setting defaults to true.
useOctavia booleanOptional: 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.
trustDevicePath booleanOptional: Gets mapped to the “trust-device-path” setting in the cloud config. This setting defaults to false.
nodeSizeRequirements OpenstackNodeSizeRequirements
enabledFlavors string arrayOptional: List of enabled flavors for the given datacenter
ipv6Enabled booleanOptional: defines if the IPv6 is enabled for the datacenter

Back to top

DatacenterSpecPacket

DatacenterSpecPacket describes a Packet datacenter.

Appears in:

FieldDescription
facilities string arrayThe list of enabled facilities, for example “ams1”, for a full list of available facilities see https://metal.equinix.com/developers/docs/locations/facilities/
metro stringMetros are facilities that are grouped together geographically and share capacity and networking features, see https://metal.equinix.com/developers/docs/locations/metros/

Back to top

DatacenterSpecVMwareCloudDirector

Appears in:

FieldDescription
url stringEndpoint URL to use, including protocol, for example “https://vclouddirector.example.com”.
allowInsecure booleanIf set to true, disables the TLS certificate check against the endpoint.
catalog stringThe default catalog which contains the VM templates.
storageProfile stringThe name of the storage profile to use for disks attached to the VMs.
templates object (keys:OperatingSystem, values:string)A list of VM templates to use for a given operating system. You must define at least one template.

Back to top

DatacenterSpecVSphere

DatacenterSpecVSphere describes a vSphere datacenter.

Appears in:

FieldDescription
endpoint stringEndpoint URL to use, including protocol, for example “https://vcenter.example.com”.
allowInsecure booleanIf set to true, disables the TLS certificate check against the endpoint.
datastore stringThe 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.
datacenter stringThe name of the datacenter to use.
cluster stringThe name of the vSphere cluster to use. Used for out-of-tree CSI Driver.
storagePolicy stringThe name of the storage policy to use for the storage class created in the user cluster.
rootPath stringOptional: 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”
templates object (keys:OperatingSystem, values:string)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
infraManagementUser VSphereCredentialsOptional: 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.
ipv6Enabled booleanOptional: defines if the IPv6 is enabled for the datacenter

Back to top

DeploymentSettings

Appears in:

FieldDescription
replicas integer
resources ResourceRequirements
tolerations Toleration array

Back to top

Digitalocean

Appears in:

FieldDescription
ProviderPreset ProviderPreset
token stringToken is used to authenticate with the DigitalOcean API.

Back to top

DigitaloceanCloudSpec

DigitaloceanCloudSpec specifies access data to DigitalOcean.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
token string

Back to top

EKS

Appears in:

FieldDescription
ProviderPreset ProviderPreset
accessKeyID string
secretAccessKey string
region string

Back to top

EncryptionConfiguration

EncryptionConfiguration configures encryption-at-rest for Kubernetes API data.

Appears in:

FieldDescription
enabled booleanEnables encryption-at-rest on this cluster.
resources string arrayList of resources that will be stored encrypted in etcd.
secretbox SecretboxEncryptionConfigurationConfiguration for the secretbox static key encryption scheme as supported by Kubernetes. More info: https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#providers

Back to top

EnvoyLoadBalancerService

Appears in:

FieldDescription
annotations object (keys:string, values:string)Annotations are used to further tweak the LoadBalancer integration with the cloud provider.
sourceRanges CIDR arraySourceRanges will restrict loadbalancer service to IP ranges specified using CIDR notation like 172.25.0.0/16. This field will be ignored if the cloud-provider does not support the feature. More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/

Back to top

EtcdBackupConfig

EtcdBackupConfig specifies a add-on.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringEtcdBackupConfig
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EtcdBackupConfigSpec
status EtcdBackupConfigStatus

Back to top

EtcdBackupConfigCondition

Appears in:

FieldDescription
status ConditionStatusStatus of the condition, one of True, False, Unknown.
lastHeartbeatTime TimeLast time we got an update on a given condition.
lastTransitionTime TimeLast time the condition transit from one status to another.
reason string(brief) reason for the condition’s last transition.
message stringHuman readable message indicating details about last transition.

Back to top

EtcdBackupConfigConditionType

Underlying type: 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.

Appears in:

EtcdBackupConfigList

EtcdBackupConfigList is a list of etcd backup configs.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringEtcdBackupConfigList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items EtcdBackupConfig array

Back to top

EtcdBackupConfigSpec

EtcdBackupConfigSpec specifies details of an etcd backup.

Appears in:

FieldDescription
name stringName defines the name of the backup The name of the backup file in S3 will be - If a schedule is set (see below), - will be appended.
cluster ObjectReferenceCluster is the reference to the cluster whose etcd will be backed up
schedule stringSchedule is a cron expression defining when to perform the backup. If not set, the backup is performed exactly once, immediately.
keep integerKeep 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.
destination stringDestination indicates where the backup will be stored. The destination name must correspond to a destination in the cluster’s Seed.Spec.EtcdBackupRestore.

Back to top

EtcdBackupConfigStatus

Appears in:

FieldDescription
currentBackups BackupStatus arrayCurrentBackups tracks the creation and deletion progress of all backups managed by the EtcdBackupConfig
conditions object (keys:EtcdBackupConfigConditionType, values:EtcdBackupConfigCondition)Conditions contains conditions of the EtcdBackupConfig
cleanupRunning booleanIf the controller was configured with a cleanupContainer, CleanupRunning keeps track of the corresponding job

Back to top

EtcdBackupRestore

EtcdBackupRestore holds the configuration of the automatic backup and restores.

Appears in:

FieldDescription
destinations object (keys:string, values:BackupDestination)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.
defaultDestination stringDefaultDestination 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.

Back to top

EtcdRestore

EtcdRestore specifies a add-on.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringEtcdRestore
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec EtcdRestoreSpec
status EtcdRestoreStatus

Back to top

EtcdRestoreList

EtcdRestoreList is a list of etcd restores.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringEtcdRestoreList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items EtcdRestore array

Back to top

EtcdRestoreSpec

EtcdRestoreSpec specifies details of an etcd restore.

Appears in:

FieldDescription
name stringName defines the name of the restore The name of the restore file in S3 will be - If a schedule is set (see below), - will be appended.
cluster ObjectReferenceCluster is the reference to the cluster whose etcd will be backed up
backupName stringBackupName is the name of the backup to restore from
backupDownloadCredentialsSecret stringBackupDownloadCredentialsSecret is the name of a secret in the cluster-xxx namespace containing credentials needed to download the backup
destination stringDestination 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

Back to top

EtcdRestoreStatus

Appears in:

FieldDescription
phase EtcdRestorePhase
restoreTime Time

Back to top

EtcdStatefulSetSettings

Appears in:

FieldDescription
clusterSize integer
storageClass string
resources ResourceRequirements
tolerations Toleration array

Back to top

EventRateLimitConfig

EventRateLimitConfig configures the EventRateLimit admission plugin. More info: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#eventratelimit

Appears in:

FieldDescription
server EventRateLimitConfigItem
namespace EventRateLimitConfigItem
user EventRateLimitConfigItem
sourceAndObject EventRateLimitConfigItem

Back to top

EventRateLimitConfigItem

Appears in:

FieldDescription
qps integer
burst integer
cacheSize integer

Back to top

ExposeStrategy

Underlying type: string

ExposeStrategy is the strategy used to expose a cluster control plane. Possible values are NodePort, LoadBalancer or Tunneling (requires a feature gate).

Appears in:

ExtendedClusterHealth

ExtendedClusterHealth stores health information of a cluster.

Appears in:

FieldDescription
apiserver HealthStatus
scheduler HealthStatus
controller HealthStatus
machineController HealthStatus
etcd HealthStatus
openvpn HealthStatus
konnectivity HealthStatus
cloudProviderInfrastructure HealthStatus
userClusterControllerManager HealthStatus
applicationController HealthStatus
gatekeeperController HealthStatus
gatekeeperAudit HealthStatus
monitoring HealthStatus
logging HealthStatus
alertmanagerConfig HealthStatus
mlaGateway HealthStatus
operatingSystemManager HealthStatus
kubernetesDashboard HealthStatus

Back to top

ExternalCluster

ExternalCluster is the object representing an external kubernetes cluster.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringExternalCluster
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ExternalClusterSpec
status ExternalClusterStatus

Back to top

ExternalClusterAKSCloudSpec

Appears in:

FieldDescription
name string
tenantID string
subscriptionID string
clientID string
clientSecret string
resourceGroup string
credentialsReference GlobalSecretKeySelector

Back to top

ExternalClusterBringYourOwnCloudSpec

Appears in:

ExternalClusterCloudSpec

ExternalClusterCloudSpec mutually stores access data to a cloud provider.

Appears in:

FieldDescription
providerName ExternalClusterProvider
gke ExternalClusterGKECloudSpec
eks ExternalClusterEKSCloudSpec
aks ExternalClusterAKSCloudSpec
kubeone ExternalClusterKubeOneCloudSpec
bringyourown ExternalClusterBringYourOwnCloudSpec

Back to top

ExternalClusterCondition

Appears in:

FieldDescription
phase ExternalClusterPhase
message stringHuman readable message indicating details about last transition.

Back to top

ExternalClusterEKSCloudSpec

Appears in:

FieldDescription
name string
accessKeyID string
secretAccessKey string
credentialsReference GlobalSecretKeySelector
region string

Back to top

ExternalClusterGKECloudSpec

Appears in:

FieldDescription
name string
serviceAccount string
credentialsReference GlobalSecretKeySelector
zone string

Back to top

ExternalClusterKubeOneCloudSpec

Appears in:

FieldDescription
providerName stringProviderName is the name of the cloud provider used, one of “aws”, “azure”, “digitalocean”, “gcp”, “hetzner”, “nutanix”, “openstack”, “packet”, “vsphere” KubeOne natively-supported providers
credentialsReference GlobalSecretKeySelector
sshReference GlobalSecretKeySelector
manifestReference GlobalSecretKeySelector

Back to top

ExternalClusterList

ExternalClusterList specifies a list of external kubernetes clusters.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringExternalClusterList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ExternalCluster array

Back to top

ExternalClusterPhase

Underlying type: string

Appears in:

ExternalClusterProviderType

Underlying type: string

ExternalClusterProviderType is used to indicate ExternalCluster Provider Types.

Appears in:

ExternalClusterProviderVersioningConfiguration

ExternalClusterProviderVersioningConfiguration configures the available and default Kubernetes versions for ExternalCluster Providers.

Appears in:

FieldDescription
versions Semver arrayVersions lists the available versions.
default SemverDefault is the default version to offer users.
updates Semver arrayUpdates is a list of available upgrades.

Back to top

ExternalClusterSpec

ExternalClusterSpec specifies the data for a new external kubernetes cluster.

Appears in:

FieldDescription
humanReadableName stringHumanReadableName is the cluster name provided by the user
kubeconfigReference GlobalSecretKeySelectorKubeconfigReference is reference to cluster Kubeconfig
cloudSpec ExternalClusterCloudSpecCloudSpec contains provider specific fields
pause booleanIf this is set to true, the cluster will not be reconciled by KKP. This indicates that the user needs to do some action to resolve the pause.
pauseReason stringPauseReason is the reason why the cluster is not being managed. This field is for informational purpose only and can be set by a user or a controller to communicate the reason for pausing the cluster.

Back to top

ExternalClusterStatus

ExternalClusterStatus denotes status information about an ExternalCluster.

Appears in:

FieldDescription
condition ExternalClusterConditionConditions contains conditions an externalcluster is in, its primary use case is status signaling for controller

Back to top

FakeCloudSpec

FakeCloudSpec specifies access data for a fake cloud.

Appears in:

FieldDescription
token string

Back to top

GCP

Appears in:

FieldDescription
ProviderPreset ProviderPreset
serviceAccount string
network string
subnetwork string

Back to top

GCPCloudSpec

GCPCloudSpec specifies access data to GCP.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
serviceAccount stringThe Google Service Account (JSON format), encoded with base64.
network string
subnetwork string
nodePortsAllowedIPRange stringA CIDR range that will be used to allow access to the node port range in the firewall rules to. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
nodePortsAllowedIPRanges NetworkRangesOptional: CIDR ranges that will be used to allow access to the node port range in the firewall rules to. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.

Back to top

GKE

Appears in:

FieldDescription
ProviderPreset ProviderPreset
serviceAccount string

Back to top

GroupProjectBinding

GroupProjectBinding specifies a binding between a group and a project This resource is used by the user management to manipulate member groups of the given project.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringGroupProjectBinding
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec GroupProjectBindingSpec

Back to top

GroupProjectBindingList

GroupProjectBindingList is a list of group project bindings.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringGroupProjectBindingList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items GroupProjectBinding array

Back to top

GroupProjectBindingSpec

GroupProjectBindingSpec specifies an oidc group binding to a project.

Appears in:

FieldDescription
group stringGroup is the group name that is bound to the given project.
projectID stringProjectID is the ID of the target project. Should be a valid lowercase RFC1123 domain name
role stringRole is the user’s role within the project, determining their permissions. Possible roles are: “viewers” - allowed to get/list project resources “editors” - allowed to edit all project resources “owners” - same as editors, but also can manage users in the project

Back to top

GroupVersionKind

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.

Appears in:

FieldDescription
group string
version string

Back to top

HealthStatus

Underlying type: string

Appears in:

Hetzner

Appears in:

FieldDescription
ProviderPreset ProviderPreset
token stringToken is used to authenticate with the Hetzner API.
network stringNetwork 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.

Back to top

HetznerCloudSpec

HetznerCloudSpec specifies access data to hetzner cloud.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
token stringToken is used to authenticate with the Hetzner cloud API.
network stringNetwork 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.

Back to top

IPAMAllocation

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringIPAMAllocation
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPAMAllocationSpec

Back to top

IPAMAllocationList

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringIPAMAllocationList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items IPAMAllocation array

Back to top

IPAMAllocationSpec

IPAMAllocationSpec specifies an allocation from an IPAMPool made for a particular KKP user cluster.

Appears in:

FieldDescription
type IPAMPoolAllocationTypeType is the allocation type that is being used.
dc stringDC is the datacenter of the allocation.
cidr SubnetCIDRCIDR is the CIDR that is being used for the allocation. Set when “type=prefix”.
addresses string arrayAddresses are the IP address ranges that are being used for the allocation. Set when “type=range”.

Back to top

IPAMPool

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringIPAMPool
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec IPAMPoolSpec

Back to top

IPAMPoolAllocationType

Underlying type: string

IPAMPoolAllocationType defines the type of allocation to be used. Possible values are prefix and range.

Appears in:

IPAMPoolDatacenterSettings

IPAMPoolDatacenterSettings contains IPAM Pool configuration for a datacenter.

Appears in:

FieldDescription
type IPAMPoolAllocationTypeType is the allocation type to be used.
poolCidr SubnetCIDRPoolCIDR is the pool CIDR to be used for the allocation.
allocationPrefix integerAllocationPrefix is the prefix for the allocation. Used when “type=prefix”.
allocationRange integerAllocationRange is the range for the allocation. Used when “type=range”.

Back to top

IPAMPoolList

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringIPAMPoolList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items IPAMPool array

Back to top

IPAMPoolSpec

IPAMPoolSpec specifies the Multi-Cluster IP Address Management (IPAM) configuration for KKP user clusters.

Appears in:

FieldDescription
datacenters object (keys:string, values:IPAMPoolDatacenterSettings)Datacenters contains a map of datacenters (DCs) for the allocation.

Back to top

IPFamily

Underlying type: string

Appears in:

IPVSConfiguration

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

Appears in:

FieldDescription
strictArp booleanStrictArp configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface. defaults to true.

Back to top

Incompatibility

Incompatibility represents a version incompatibility for a user cluster.

Appears in:

FieldDescription
provider ProviderTypeProvider to which to apply the compatibility check. Empty string matches all providers
version stringVersion is the Kubernetes version that must be checked. Wildcards are allowed, e.g. “1.22.*”.
condition ConditionTypeCondition is the cluster or datacenter condition that must be met to block a specific version
operation OperationTypeOperation is the operation triggering the compatibility check (CREATE or UPDATE)

Back to top

Kind

Kind specifies the resource Kind and APIGroup.

Appears in:

FieldDescription
kinds string arrayKinds specifies the kinds of the resources
apiGroups string arrayAPIGroups specifies the APIGroups of the resources

Back to top

KonnectvityProxySettings

Appears in:

FieldDescription
resources ResourceRequirements

Back to top

KubermaticAPIConfiguration

KubermaticAPIConfiguration configures the dashboard.

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the Kubermatic REST API image.
accessibleAddons string arrayAccessibleAddons is a list of addons that should be enabled in the API.
pprofEndpoint stringPProfEndpoint 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.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.
debugLog booleanDebugLog enables more verbose logging.
replicas integerReplicas sets the number of pod replicas for the API deployment.

Back to top

KubermaticAddonsConfiguration

KubermaticAddonConfiguration describes the addons for a given cluster runtime.

Appears in:

FieldDescription
default string arrayDefault is the list of addons to be installed by default into each cluster. Mutually exclusive with “defaultManifests”.
defaultManifests stringDefaultManifests is a list of addon manifests to install into all clusters. Mutually exclusive with “default”.
dockerRepository stringDockerRepository is the repository containing the Docker image containing the possible addon manifests.
dockerTagSuffix stringDockerTagSuffix 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”.

Back to top

KubermaticAuthConfiguration

KubermaticAuthConfiguration defines keys and URLs for Dex.

Appears in:

FieldDescription
clientID string
tokenIssuer string
issuerRedirectURL string
issuerClientID string
issuerClientSecret string
issuerCookieKey string
serviceAccountKey string
skipTokenIssuerTLSVerify boolean

Back to top

KubermaticConfiguration

KubermaticConfiguration is the configuration required for running Kubermatic.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringKubermaticConfiguration
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec KubermaticConfigurationSpec
status KubermaticConfigurationStatus

Back to top

KubermaticConfigurationList

KubermaticConfigurationList is a collection of KubermaticConfigurations.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringKubermaticConfigurationList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items KubermaticConfiguration array

Back to top

KubermaticConfigurationSpec

KubermaticConfigurationSpec is the spec for a Kubermatic installation.

Appears in:

FieldDescription
caBundle TypedLocalObjectReferenceCABundle 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.
imagePullSecret stringImagePullSecret is used to authenticate against Docker registries.
auth KubermaticAuthConfigurationAuth defines keys and URLs for Dex. These must be defined unless the HeadlessInstallation feature gate is set, which will disable the UI/API and its need for an OIDC provider entirely.
featureGates object (keys:string, values:boolean)FeatureGates are used to optionally enable certain features.
ui KubermaticUIConfigurationUI configures the dashboard.
api KubermaticAPIConfigurationAPI configures the frontend REST API used by the dashboard.
seedController KubermaticSeedControllerConfigurationSeedController configures the seed-controller-manager.
masterController KubermaticMasterControllerConfigurationMasterController configures the master-controller-manager.
webhook KubermaticWebhookConfigurationWebhook configures the webhook.
userCluster KubermaticUserClusterConfigurationUserCluster configures various aspects of the user-created clusters.
exposeStrategy ExposeStrategyExposeStrategy 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.
ingress KubermaticIngressConfigurationIngress contains settings for making the API and UI accessible remotely.
versions KubermaticVersioningConfigurationVersions configures the available and default Kubernetes versions and updates.
verticalPodAutoscaler KubermaticVPAConfigurationVerticalPodAutoscaler configures the Kubernetes VPA integration.
proxy KubermaticProxyConfigurationProxy allows to configure Kubermatic to use proxies to talk to the world outside of its cluster.

Back to top

KubermaticConfigurationStatus

KubermaticConfigurationStatus stores status information about a KubermaticConfiguration.

Appears in:

FieldDescription
kubermaticVersion stringKubermaticVersion current Kubermatic Version.
kubermaticEdition stringKubermaticEdition current Kubermatic Edition , i.e. Community Edition or Enterprise Edition.

Back to top

KubermaticIngressConfiguration

Appears in:

FieldDescription
domain stringDomain is the base domain where the dashboard shall be available. Even with a disabled Ingress, this must always be a valid hostname.
className stringClassName is the Ingress resource’s class name, used for selecting the appropriate ingress controller.
disable booleanDisable 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.
certificateIssuer TypedLocalObjectReferenceCertificateIssuer 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.

Back to top

KubermaticMasterControllerConfiguration

KubermaticMasterControllerConfiguration configures the Kubermatic master controller-manager.

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the Kubermatic master-controller-manager image.
projectsMigrator KubermaticProjectsMigratorConfigurationProjectsMigrator configures the migrator for user projects.
pprofEndpoint stringPProfEndpoint 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.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.
debugLog booleanDebugLog enables more verbose logging.
replicas integerReplicas sets the number of pod replicas for the master-controller-manager.

Back to top

KubermaticProjectsMigratorConfiguration

KubermaticProjectsMigratorConfiguration configures the Kubermatic master controller-manager.

Appears in:

FieldDescription
dryRun booleanDryRun makes the migrator only log the actions it would take.

Back to top

KubermaticProxyConfiguration

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.

Appears in:

FieldDescription
http stringHTTP is the full URL to the proxy to use for plaintext HTTP connections, e.g. “http://internalproxy.example.com:8080”.
https stringHTTPS is the full URL to the proxy to use for encrypted HTTPS connections, e.g. “http://secureinternalproxy.example.com:8080”.
noProxy stringNoProxy 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”

Back to top

KubermaticSeedControllerConfiguration

KubermaticSeedControllerConfiguration configures the Kubermatic seed controller-manager.

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the Kubermatic seed-controller-manager image.
backupStoreContainer stringBackupStoreContainer is the container used for shipping etcd snapshots to a backup location.
backupDeleteContainer stringBackupDeleteContainer 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.
backupCleanupContainer stringBackupCleanupContainer 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.
maximumParallelReconciles integerMaximumParallelReconciles limits the number of cluster reconciliations that are active at any given time.
pprofEndpoint stringPProfEndpoint 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.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.
debugLog booleanDebugLog enables more verbose logging.
replicas integerReplicas sets the number of pod replicas for the seed-controller-manager.

Back to top

KubermaticSetting

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringKubermaticSetting
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SettingSpec

Back to top

KubermaticSettingList

KubermaticSettingList is a list of settings.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringKubermaticSettingList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items KubermaticSetting array

Back to top

KubermaticUIConfiguration

KubermaticUIConfiguration configures the dashboard.

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the Kubermatic dashboard image.
dockerTag stringDockerTag is used to overwrite the dashboard Docker image tag and is only for development purposes. This field must not be set in production environments. —
config stringConfig sets flags for various dashboard features.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.
replicas integerReplicas sets the number of pod replicas for the UI deployment.

Back to top

KubermaticUserClusterConfiguration

KubermaticUserClusterConfiguration controls various aspects of the user-created clusters.

Appears in:

FieldDescription
kubermaticDockerRepository stringKubermaticDockerRepository is the repository containing the Kubermatic user-cluster-controller-manager image.
dnatControllerDockerRepository stringDNATControllerDockerRepository is the repository containing the dnat-controller image.
etcdLauncherDockerRepository stringEtcdLauncherDockerRepository is the repository containing the Kubermatic etcd-launcher image.
overwriteRegistry stringOverwriteRegistry 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.
addons KubermaticAddonsConfigurationAddons controls the optional additions installed into each user cluster.
nodePortRange stringNodePortRange is the port range for user clusters - this must match the NodePort range of the seed cluster.
monitoring KubermaticUserClusterMonitoringConfigurationMonitoring can be used to fine-tune to in-cluster Prometheus.
disableApiserverEndpointReconciling booleanDisableAPIServerEndpointReconciling can be used to toggle the --endpoint-reconciler-type flag for the Kubernetes API server.
etcdVolumeSize stringEtcdVolumeSize configures the volume size to use for each etcd pod inside user clusters.
apiserverReplicas integerAPIServerReplicas configures the replica count for the API-Server deployment inside user clusters.
machineController MachineControllerConfigurationMachineController configures the Machine Controller
operatingSystemManager OperatingSystemManagerOperatingSystemManager configures the image repo and the tag version for osm deployment.

Back to top

KubermaticUserClusterMonitoringConfiguration

KubermaticUserClusterMonitoringConfiguration can be used to fine-tune to in-cluster Prometheus.

Appears in:

FieldDescription
disableDefaultRules booleanDisableDefaultRules disables the recording and alerting rules.
disableDefaultScrapingConfigs booleanDisableDefaultScrapingConfigs disables the default scraping targets.
customRules stringCustomRules can be used to inject custom recording and alerting rules. This field must be a YAML-formatted string with a group element at its root, as documented on https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/. This value is treated as a Go template, which allows to inject dynamic values like the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus and the documentation for more information on the available fields.
customScrapingConfigs stringCustomScrapingConfigs can be used to inject custom scraping rules. This must be a YAML-formatted string containing an array of scrape configurations as documented on https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. This value is treated as a Go template, which allows to inject dynamic values like the internal cluster address or the cluster ID. Refer to pkg/resources/prometheus and the documentation for more information on the available fields.
scrapeAnnotationPrefix stringScrapeAnnotationPrefix (if set) is used to make the in-cluster Prometheus scrape pods inside the user clusters.

Back to top

KubermaticVPAComponent

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the component’s image.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.

Back to top

KubermaticVPAConfiguration

KubermaticVPAConfiguration configures the Kubernetes VPA.

Appears in:

FieldDescription
recommender KubermaticVPAComponent
updater KubermaticVPAComponent
admissionController KubermaticVPAComponent

Back to top

KubermaticVersioningConfiguration

KubermaticVersioningConfiguration configures the available and default Kubernetes versions.

Appears in:

FieldDescription
versions Semver arrayVersions lists the available versions.
default SemverDefault is the default version to offer users.
updates Update arrayUpdates 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.
providerIncompatibilities Incompatibility arrayProviderIncompatibilities lists all the Kubernetes version incompatibilities
externalClusters object (keys:ExternalClusterProviderType, values:ExternalClusterProviderVersioningConfiguration)ExternalClusters contains the available and default Kubernetes versions and updates for ExternalClusters.

Back to top

KubermaticWebhookConfiguration

KubermaticWebhookConfiguration configures the Kubermatic webhook.

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the Kubermatic webhook image.
pprofEndpoint stringPProfEndpoint controls the port the webhook should listen on to provide pprof data. This port is never exposed from the container and only available via port-forwardings.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.
debugLog booleanDebugLog enables more verbose logging.
replicas integerReplicas sets the number of pod replicas for the webhook.

Back to top

KubernetesDashboard

KubernetesDashboard contains settings for the kubernetes-dashboard component as part of the cluster control plane.

Appears in:

FieldDescription
enabled booleanControls whether kubernetes-dashboard is deployed to the user cluster or not. Enabled by default.

Back to top

Kubevirt

Appears in:

FieldDescription
ProviderPreset ProviderPreset
kubeconfig string

Back to top

KubevirtCloudSpec

KubevirtCloudSpec specifies the access data to Kubevirt.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
kubeconfig stringThe cluster’s kubeconfig file, encoded with base64.
csiKubeconfig string
preAllocatedDataVolumes PreAllocatedDataVolume arrayPreAllocatedDataVolumes holds list of preallocated DataVolumes which can be used as reference for DataVolume cloning.
infraStorageClasses string arrayInfraStorageClasses is a list of storage classes from KubeVirt infra cluster that are used for initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks)

Back to top

LeaderElectionSettings

Appears in:

FieldDescription
leaseDurationSeconds integerLeaseDurationSeconds is the duration in seconds that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack.
renewDeadlineSeconds integerRenewDeadlineSeconds is the duration in seconds that the acting controlplane will retry refreshing leadership before giving up.
retryPeriodSeconds integerRetryPeriodSeconds is the duration in seconds the LeaderElector clients should wait between tries of actions.

Back to top

LoggingRateLimitSettings

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

Appears in:

FieldDescription
ingestionRate integerIngestionRate represents ingestion rate limit in requests per second (nginx rate in r/s).
ingestionBurstSize integerIngestionBurstSize represents ingestion burst size in number of requests (nginx burst).
queryRate integerQueryRate represents query request rate limit per second (nginx rate in r/s).
queryBurstSize integerQueryBurstSize represents query burst size in number of requests (nginx burst).

Back to top

MLAAdminSetting

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringMLAAdminSetting
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec MLAAdminSettingSpec

Back to top

MLAAdminSettingList

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

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringMLAAdminSettingList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items MLAAdminSetting array

Back to top

MLAAdminSettingSpec

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

Appears in:

FieldDescription
clusterName stringClusterName is the name of the user cluster whose MLA settings are defined in this object.
monitoringRateLimits MonitoringRateLimitSettingsMonitoringRateLimits contains rate-limiting configuration for monitoring in the user cluster.
loggingRateLimits LoggingRateLimitSettingsLoggingRateLimits contains rate-limiting configuration logging in the user cluster.

Back to top

MLASettings

Appears in:

FieldDescription
monitoringEnabled booleanMonitoringEnabled is the flag for enabling monitoring in user cluster.
loggingEnabled booleanLoggingEnabled is the flag for enabling logging in user cluster.
monitoringResources ResourceRequirementsMonitoringResources is the resource requirements for user cluster prometheus.
loggingResources ResourceRequirementsLoggingResources is the resource requirements for user cluster promtail.
monitoringReplicas integerMonitoringReplicas is the number of desired pods of user cluster prometheus deployment.

Back to top

MachineControllerConfiguration

MachineControllerConfiguration configures Machine Controller.

Appears in:

FieldDescription
imageRepository stringImageRepository 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.
imageTag stringImageTag 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.

Back to top

MachineDeploymentVMResourceQuota

Appears in:

FieldDescription
minCPU integerMinimal number of vCPU
maxCPU integerMaximal number of vCPU
minRAM integerMinimal RAM size in GB
maxRAM integerMaximum RAM size in GB
enableGPU boolean

Back to top

MachineNetworkingConfig

MachineNetworkingConfig specifies the networking parameters used for IPAM.

Appears in:

FieldDescription
cidr string
gateway string
dnsServers string array

Back to top

Match

Match contains the constraint to resource matching data.

Appears in:

FieldDescription
kinds Kind arrayKinds 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
scope stringScope accepts *, Cluster, or Namespaced which determines if cluster-scoped and/or namesapced-scoped resources are selected. (defaults to *)
namespaces string arrayNamespaces is a list of namespace names. If defined, a constraint will only apply to resources in a listed namespace.
excludedNamespaces string arrayExcludedNamespaces is a list of namespace names. If defined, a constraint will only apply to resources not in a listed namespace.
labelSelector LabelSelectorLabelSelector is a standard Kubernetes label selector.
namespaceSelector LabelSelectorNamespaceSelector 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

Back to top

MeteringConfiguration

MeteringConfiguration contains all the configuration for the metering tool.

Appears in:

FieldDescription
enabled boolean
storageClassName stringStorageClassName is the name of the storage class that the metering prometheus instance uses to store metric data for reporting.
storageSize stringStorageSize is the size of the storage class. Default value is 100Gi.
reports object (keys:string, values:MeteringReportConfiguration)ReportConfigurations is a map of report configuration definitions.

Back to top

MeteringReportConfiguration

Appears in:

FieldDescription
schedule stringSchedule in Cron format, see https://en.wikipedia.org/wiki/Cron. Please take a note that Schedule is responsible only for setting the time when a report generation mechanism kicks off. The Interval MUST be set independently.
interval integerInterval defines the number of days consulted in the metering report.
retention integerRetention defines a number of days after which reports are queued for removal. If not set, reports are kept forever. Please note that this functionality works only for object storage that supports an object lifecycle management mechanism.
type string arrayTypes of reports to generate. Available report types are cluster and namespace. By default, all types of reports are generated.

Back to top

MlaOptions

Appears in:

FieldDescription
loggingEnabled boolean
loggingEnforced boolean
monitoringEnabled boolean
monitoringEnforced boolean

Back to top

MonitoringRateLimitSettings

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

Appears in:

FieldDescription
ingestionRate integerIngestionRate represents the ingestion rate limit in samples per second (Cortex ingestion_rate).
ingestionBurstSize integerIngestionBurstSize represents ingestion burst size in samples per second (Cortex ingestion_burst_size).
maxSeriesPerMetric integerMaxSeriesPerMetric represents maximum number of series per metric (Cortex max_series_per_metric).
maxSeriesTotal integerMaxSeriesTotal represents maximum number of series per this user cluster (Cortex max_series_per_user).
queryRate integerQueryRate represents query request rate limit per second (nginx rate in r/s).
queryBurstSize integerQueryBurstSize represents query burst size in number of requests (nginx burst).
maxSamplesPerQuery integerMaxSamplesPerQuery represents maximum number of samples during a query (Cortex max_samples_per_query).
maxSeriesPerQuery integerMaxSeriesPerQuery represents maximum number of timeseries during a query (Cortex max_series_per_query).

Back to top

NetworkRanges

NetworkRanges represents ranges of network addresses.

Appears in:

FieldDescription
cidrBlocks string array

Back to top

NodePortProxyComponentEnvoy

Appears in:

FieldDescription
NodeportProxyComponent NodeportProxyComponent
loadBalancerService EnvoyLoadBalancerService

Back to top

NodeSettings

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

Appears in:

FieldDescription
ProxySettings ProxySettingsOptional: Proxy settings for the Nodes in this datacenter. Defaults to the Proxy settings of the seed.
insecureRegistries string arrayOptional: These image registries will be configured as insecure on the container runtime.
registryMirrors string arrayOptional: These image registries will be configured as registry mirrors on the container runtime.
pauseImage stringOptional: Translates to –pod-infra-container-image on the kubelet. If not set, the kubelet will default it.
containerdRegistryMirrors ContainerRuntimeContainerdOptional: ContainerdRegistryMirrors configure registry mirrors endpoints. Can be used multiple times to specify multiple mirrors.

Back to top

NodeportProxyComponent

Appears in:

FieldDescription
dockerRepository stringDockerRepository is the repository containing the component’s image.
resources ResourceRequirementsResources describes the requested and maximum allowed CPU/memory usage.

Back to top

NodeportProxyConfig

Appears in:

FieldDescription
disable booleanDisable 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).
annotations object (keys:string, values:string)Annotations are used to further tweak the LoadBalancer integration with the cloud provider where the seed cluster is running. Deprecated: Use .envoy.loadBalancerService.annotations instead.
envoy NodePortProxyComponentEnvoyEnvoy configures the Envoy application itself.
envoyManager NodeportProxyComponentEnvoyManager configures the Kubermatic-internal Envoy manager.
updater NodeportProxyComponentUpdater configures the component responsible for updating the LoadBalancer service.

Back to top

Nutanix

Appears in:

FieldDescription
ProviderPreset ProviderPreset
proxyURL stringProxyURL is used to optionally configure a HTTP proxy to access Nutanix Prism Central.
username stringUsername is the username to access the Nutanix Prism Central API.
password stringPassword is the password corresponding to the provided user.
clusterName stringClusterName is the Nutanix cluster to deploy resources and nodes to.
projectName stringProjectName is the optional Nutanix project to use. If none is given, no project will be used.
csiUsername stringPrism Element Username for csi driver
csiPassword stringPrism Element Password for csi driver
csiEndpoint stringCSIEndpoint to access Nutanix Prism Element for csi driver
csiPort integerCSIPort to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440)

Back to top

NutanixCSIConfig

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

Appears in:

FieldDescription
username stringPrism Element Username for csi driver
password stringPrism Element Password for csi driver
endpoint stringPrism Element Endpoint to access Nutanix Prism Element for csi driver
port integerOptional: Port to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440)
storageContainer stringOptional: defaults to “SelfServiceContainer”
fstype stringOptional: defaults to “xfs”
ssSegmentedIscsiNetwork booleanOptional: defaults to “false”

Back to top

NutanixCloudSpec

NutanixCloudSpec specifies the access data to Nutanix.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
clusterName stringClusterName is the Nutanix cluster that this user cluster will be deployed to.
projectName stringProjectName is the project that this cluster is deployed into. If none is given, no project will be used.
proxyURL string
username string
password string
csi NutanixCSIConfigNutanixCSIConfig for csi driver that connects to a prism element

Back to top

OIDCSettings

Appears in:

FieldDescription
issuerURL string
clientID string
clientSecret string
usernameClaim string
groupsClaim string
requiredClaim string
extraScopes string

Back to top

OPAIntegrationSettings

OPAIntegrationSettings configures the usage of OPA (Open Policy Agent) Gatekeeper inside the user cluster.

Appears in:

FieldDescription
enabled booleanEnables OPA Gatekeeper integration.
webhookTimeoutSeconds integerThe timeout in seconds that is set for the Gatekeeper validating webhook admission review calls. Defaults to 10 (seconds).
experimentalEnableMutation booleanOptional: Enables experimental mutation in Gatekeeper.
controllerResources ResourceRequirementsOptional: ControllerResources is the resource requirements for user cluster gatekeeper controller.
auditResources ResourceRequirementsOptional: AuditResources is the resource requirements for user cluster gatekeeper audit.

Back to top

OpaOptions

Appears in:

FieldDescription
enabled boolean
enforced boolean

Back to top

Openstack

Appears in:

FieldDescription
ProviderPreset ProviderPreset
useToken boolean
applicationCredentialID string
applicationCredentialSecret string
username string
password string
project string
projectID string
domain string
network string
securityGroups string
floatingIPPool string
routerID string
subnetID string

Back to top

OpenstackCloudSpec

OpenstackCloudSpec specifies access data to an OpenStack cloud.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
username string
password string
project stringproject, formally known as tenant.
projectID stringproject id, formally known as tenantID.
domain string
applicationCredentialID string
applicationCredentialSecret string
useToken boolean
token stringUsed internally during cluster creation
network stringNetwork 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
securityGroups string
nodePortsAllowedIPRange stringA CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
nodePortsAllowedIPRanges NetworkRangesOptional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
floatingIPPool stringFloatingIPPool 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
routerID string
subnetID string
ipv6SubnetID stringIPv6SubnetID holds the ID of the subnet used for IPv6 networking. If not provided, a new subnet will be created if IPv6 is enabled.
ipv6SubnetPool stringIPv6SubnetPool holds the name of the subnet pool used for creating new IPv6 subnets. If not provided, the default IPv6 subnet pool will be used.
useOctavia booleanWhether 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.
enableIngressHostname booleanEnable the enable-ingress-hostname cloud provider option on the Openstack CCM. Can only be used with the external CCM and might be deprecated and removed in future versions as it is considered a workaround for the PROXY protocol to preserve client IPs.
ingressHostnameSuffix stringSet a specific suffix for the hostnames used for the PROXY protocol workaround that is enabled by EnableIngressHostname. The suffix is set to nip.io by default. Can only be used with the external CCM and might be deprecated and removed in future versions as it is considered a workaround only.

Back to top

OpenstackNodeSizeRequirements

Appears in:

FieldDescription
minimumVCPUs integerVCPUs is the minimum required amount of (virtual) CPUs
minimumMemory integerMinimumMemory is the minimum required amount of memory, measured in MB

Back to top

OperatingSystemManager

OperatingSystemManager configures the image repo and the tag version for osm deployment.

Appears in:

FieldDescription
imageRepository stringImageRepository is used to override the OperatingSystemManager image repository. It is recommended to use this field only for development, tests and PoC purposes. For production environments. it is not recommended, to use this field due to compatibility with the overall KKP stack.
imageTag stringImageTag is used to override the OperatingSystemManager image. It is recommended to use this field only for development, tests and PoC purposes. For production environments. it is not recommended, to use this field due to compatibility with the overall KKP stack.

Back to top

Packet

Appears in:

FieldDescription
ProviderPreset ProviderPreset
apiKey string
projectID string
billingCycle string

Back to top

PacketCloudSpec

PacketCloudSpec specifies access data to a Packet cloud.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
apiKey string
projectID string
billingCycle string

Back to top

PreAllocatedDataVolume

Appears in:

FieldDescription
name string
url string
size string
storageClass string

Back to top

Preset

Presets are preconfigured cloud provider credentials that can be applied to new clusters. This frees end users from having to know the actual credentials used for their clusters.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringPreset
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec PresetSpec

Back to top

PresetList

PresetList is the type representing a PresetList.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringPresetList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Preset arrayList of presets

Back to top

PresetSpec

Presets specifies default presets for supported providers.

Appears in:

FieldDescription
digitalocean Digitalocean
hetzner Hetzner
azure Azure
vsphere VSphere
aws AWS
openstack Openstack
packet Packet
gcp GCP
kubevirt Kubevirt
alibaba Alibaba
anexia Anexia
nutanix Nutanix
vmwareclouddirector VMwareCloudDirector
gke GKE
eks EKS
aks AKS
requiredEmails string arrayRequiredEmails is a list of e-mail addresses that this presets should be restricted to. Each item in the list can be either a full e-mail address or just a domain name. This restriction is only enforced in the KKP API.
enabled booleanOnly enabled presets will be available in the KKP dashboard.

Back to top

Project

Project is the type describing a project. A project is a collection of SSH keys, clusters and members. Members are assigned by creating UserProjectBinding objects.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringProject
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ProjectSpec
status ProjectStatus

Back to top

ProjectList

ProjectList is a collection of projects.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringProjectList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Project array

Back to top

ProjectSpec

ProjectSpec is a specification of a project.

Appears in:

FieldDescription
name stringName is the human-readable name given to the project.

Back to top

ProjectStatus

ProjectStatus represents the current status of a project.

Appears in:

FieldDescription
phase ProjectPhasePhase describes the project phase. New projects are in the Inactive phase; after being reconciled they move to Active and during deletion they are Terminating.

Back to top

ProviderPreset

Appears in:

FieldDescription
enabled booleanOnly enabled presets will be available in the KKP dashboard.
datacenter stringIf datacenter is set, this preset is only applicable to the configured datacenter.

Back to top

ProviderType

Underlying type: string

Appears in:

ProxySettings

ProxySettings allow configuring a HTTP proxy for the controlplanes and nodes.

Appears in:

FieldDescription
httpProxy ProxyValueOptional: If set, this proxy will be configured for both HTTP and HTTPS.
noProxy ProxyValueOptional: 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.

Back to top

ProxyValue

Underlying type: string

Appears in:

ResourceDetails

ResourceDetails holds the CPU, Memory and Storage quantities.

Appears in:

ResourceQuota

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

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringResourceQuota
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec ResourceQuotaSpec
status ResourceQuotaStatus

Back to top

ResourceQuotaList

ResourceQuotaList is a collection of resource quotas.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringResourceQuotaList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items ResourceQuota array

Back to top

ResourceQuotaSpec

ResourceQuotaSpec describes the desired state of a resource quota.

Appears in:

FieldDescription
subject SubjectSubject specifies to which entity the quota applies to.
quota ResourceDetailsQuota specifies the current maximum allowed usage of resources.

Back to top

ResourceQuotaStatus

ResourceQuotaStatus describes the current state of a resource quota.

Appears in:

FieldDescription
globalUsage ResourceDetailsGlobalUsage is holds the current usage of resources for all seeds.
localUsage ResourceDetailsLocalUsage is holds the current usage of resources for the local seed.

Back to top

RuleGroup

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringRuleGroup
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec RuleGroupSpec

Back to top

RuleGroupList

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringRuleGroupList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items RuleGroup array

Back to top

RuleGroupSpec

Appears in:

FieldDescription
isDefault booleanIsDefault indicates whether the ruleGroup is default
ruleGroupType RuleGroupTypeRuleGroupType is the type of this ruleGroup applies to. It can be Metrics or Logs.
cluster ObjectReferenceCluster is the reference to the cluster the ruleGroup should be created in. All fields except for the name are ignored.
data integer arrayData contains the RuleGroup data. Ref: https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group

Back to top

RuleGroupType

Underlying type: string

Appears in:

SSHKeySpec

Appears in:

FieldDescription
name stringName is the human readable name for this SSH key.
owner stringOwner is the name of the User object that owns this SSH key. Deprecated: This field is not used anymore.
project stringProject is the name of the Project object that this SSH key belongs to. This field is immutable.
clusters string arrayClusters is the list of cluster names that this SSH key is assigned to.
fingerprint stringFingerprint is calculated server-side based on the supplied public key and doesn’t need to be set by clients.
publicKey stringPublicKey is the SSH public key.

Back to top

SecretboxEncryptionConfiguration

SecretboxEncryptionConfiguration defines static key encryption based on the ‘secretbox’ solution for Kubernetes.

Appears in:

FieldDescription
keys SecretboxKey arrayList of ‘secretbox’ encryption keys. The first element of this list is considered the “primary” key which will be used for encrypting data while writing it. Additional keys will be used for decrypting data while reading it, if keys higher in the list did not succeed in decrypting it.

Back to top

SecretboxKey

SecretboxKey stores a key or key reference for encrypting Kubernetes API data at rest with a static key.

Appears in:

FieldDescription
name stringIdentifier of a key, used in various places to refer to the key.
value stringValue contains a 32-byte random key that is base64 encoded. This is the key used for encryption. Can be generated via head -c 32 /dev/urandom | base64, for example.
secretRef SecretKeySelectorInstead of passing the sensitive encryption key via the value field, a secret can be referenced. The key of the secret referenced here needs to hold a key equivalent to the value field.

Back to top

Seed

Seed is the type representing a Seed cluster. Seed clusters host the the control planes for KKP user clusters.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringSeed
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SeedSpec
status SeedStatus

Back to top

SeedCondition

Appears in:

FieldDescription
status ConditionStatusStatus of the condition, one of True, False, Unknown.
lastHeartbeatTime TimeLast time we got an update on a given condition.
lastTransitionTime TimeLast time the condition transit from one status to another.
reason string(brief) reason for the condition’s last transition.
message stringHuman readable message indicating details about last transition.

Back to top

SeedList

SeedDatacenterList is the type representing a SeedDatacenterList.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringSeedList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items Seed arrayList of seeds

Back to top

SeedMLASettings

SeedMLASettings allow configuring seed level MLA (Monitoring, Logging & Alerting) stack settings.

Appears in:

FieldDescription
userClusterMLAEnabled booleanOptional: UserClusterMLAEnabled controls whether the user cluster MLA (Monitoring, Logging & Alerting) stack is enabled in the seed.

Back to top

SeedSpec

The spec for a seed cluster.

Appears in:

FieldDescription
country stringOptional: Country of the seed as ISO-3166 two-letter code, e.g. DE or UK. For informational purposes in the Kubermatic dashboard only.
location stringOptional: Detailed location of the cluster, like “Hamburg” or “Datacenter 7”. For informational purposes in the Kubermatic dashboard only.
kubeconfig ObjectReferenceA 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.
datacenters object (keys:string, values:Datacenter)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).
seedDNSOverwrite stringOptional: This can be used to override the DNS name used for this seed. By default the seed name is used.
nodeportProxy NodeportProxyConfigNodeportProxy can be used to configure the NodePort proxy service that is responsible for making user-cluster control planes accessible from the outside.
proxySettings ProxySettingsOptional: ProxySettings can be used to configure HTTP proxy settings on the worker nodes in user clusters. However, proxy settings on nodes take precedence.
exposeStrategy ExposeStrategyOptional: ExposeStrategy explicitly sets the expose strategy for this seed cluster, if not set, the default provided by the master is used.
mla SeedMLASettingsOptional: MLA allows configuring seed level MLA (Monitoring, Logging & Alerting) stack settings.
defaultComponentSettings ComponentSettingsDefaultComponentSettings are default values to set for newly created clusters. Deprecated: Use DefaultClusterTemplate instead.
defaultClusterTemplate stringDefaultClusterTemplate is the name of a cluster template of scope “seed” that is used to default all new created clusters
metering MeteringConfigurationMetering configures the metering tool on user clusters across the seed.
etcdBackupRestore EtcdBackupRestoreEtcdBackupRestore 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.

Back to top

SeedStatus

SeedStatus contains runtime information regarding the seed.

Appears in:

FieldDescription
phase SeedPhasePhase contains a human readable text to indicate the seed cluster status. No logic should be tied to this field, as its content can change in between KKP releases.
clusters integerClusters is the total number of user clusters that exist on this seed.
versions SeedVersionsStatusVersions contains information regarding versions of components in the cluster and the cluster itself.
conditions object (keys:SeedConditionType, values:SeedCondition)Conditions contains conditions the seed is in, its primary use case is status signaling between controllers or between controllers and the API.

Back to top

SeedVersionsStatus

SeedVersionsStatus contains information regarding versions of components in the cluster and the cluster itself.

Appears in:

FieldDescription
kubermatic stringKubermatic is the version of the currently deployed KKP components. Note that a permanent version skew between master and seed is not supported and KKP setups should never run for longer times with a skew between the clusters.
cluster stringCluster is the Kubernetes version of the cluster’s control plane.

Back to top

ServiceAccountSettings

Appears in:

FieldDescription
tokenVolumeProjectionEnabled boolean
issuer stringIssuer 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
apiAudiences string arrayAPIAudiences are the Identifiers of the API If this is not specified, it will be set to a single element list containing the issuer URL

Back to top

SettingSpec

Appears in:

FieldDescription
customLinks CustomLink arrayCustomLinks are additional links that can be shown the dashboard’s footer.
defaultNodeCount integerDefaultNodeCount is the default number of replicas for the initial MachineDeployment.
displayDemoInfo booleanDisplayDemoInfo controls whether a “Demo System” hint is shown in the footer.
displayAPIDocs booleanDisplayDemoInfo controls whether a a link to the KKP API documentation is shown in the footer.
displayTermsOfService booleanDisplayDemoInfo controls whether a a link to TOS is shown in the footer.
enableDashboard booleanEnableDashboard enables the link to the Kubernetes dashboard for a user cluster.
enableOIDCKubeconfig boolean
userProjectsLimit integerUserProjectsLimit is the maximum number of projects a user can create.
restrictProjectCreation boolean
enableExternalClusterImport boolean
cleanupOptions CleanupOptionsCleanupOptions control what happens when a cluster is deleted via the dashboard.
opaOptions OpaOptions
mlaOptions MlaOptions
mlaAlertmanagerPrefix string
mlaGrafanaPrefix string
machineDeploymentVMResourceQuota MachineDeploymentVMResourceQuota

Back to top

StatefulSetSettings

Appears in:

FieldDescription
resources ResourceRequirements

Back to top

Subject

Subject describes the entity to which the quota applies to.

Appears in:

FieldDescription
name stringName of the quota subject.

Back to top

SubnetCIDR

Underlying type: string

SubnetCIDR is used to store IPv4/IPv6 CIDR.

Appears in:

Update

Update represents an update option for a user cluster.

Appears in:

FieldDescription
from stringFrom is the version from which an update is allowed. Wildcards are allowed, e.g. “1.18.*”.
to stringTo 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.*”.
automatic booleanAutomatic controls whether this update is executed automatically for the control plane of all matching user clusters. —
automaticNodeUpdate booleanAutomatic controls whether this update is executed automatically for the worker nodes of all matching user clusters. —

Back to top

UpdateWindow

UpdateWindow allows defining windows for maintenance tasks related to OS updates. This is only applied to cluster nodes using Flatcar Linux. The reference time for this is the node system time and might differ from the user’s timezone, which needs to be considered when configuring a window.

Appears in:

FieldDescription
start stringSets the start time of the update window. This can be a time of day in 24h format, e.g. 22:30, or a day of week plus a time of day, for example Mon 21:00. Only short names for week days are supported, i.e. Mon, Tue, Wed, Thu, Fri, Sat and Sun.
length stringSets the length of the update window beginning with the start time. This needs to be a valid duration as parsed by Go’s time.ParseDuration (https://pkg.go.dev/time#ParseDuration), e.g. 2h.

Back to top

User

User specifies a KKP user. Users can be either humans or KKP service accounts.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUser
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec UserSpec
status UserStatus

Back to top

UserList

UserList is a list of users.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUserList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items User array

Back to top

UserProjectBinding

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.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUserProjectBinding
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec UserProjectBindingSpec

Back to top

UserProjectBindingList

UserProjectBindingList is a list of users.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUserProjectBindingList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items UserProjectBinding array

Back to top

UserProjectBindingSpec

UserProjectBindingSpec specifies a user.

Appears in:

FieldDescription
userEmail stringUserEmail is the email of the user that is bound to the given project.
projectID stringProjectID is the name of the target project.
group stringGroup is the user’s group, determining their permissions within the project. Must be one of owners, editors, viewers or projectmanagers.

Back to top

UserSSHKey

UserSSHKey specifies a users UserSSHKey.

Appears in:

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUserSSHKey
metadata ObjectMetaRefer to Kubernetes API documentation for fields of metadata.
spec SSHKeySpec

Back to top

UserSSHKeyList

UserSSHKeyList specifies a users UserSSHKey.

FieldDescription
apiVersion stringkubermatic.k8c.io/v1
kind stringUserSSHKeyList
metadata ListMetaRefer to Kubernetes API documentation for fields of metadata.
items UserSSHKey array

Back to top

UserSettings

UserSettings represent an user settings.

Appears in:

FieldDescription
selectedTheme string
itemsPerPage integer
selectedProjectID string
selectProjectTableView boolean
collapseSidenav boolean
displayAllProjectsForAdmin boolean
lastSeenChangelogVersion string
useClustersView boolean

Back to top

UserSpec

UserSpec specifies a user.

Appears in:

FieldDescription
id stringID is an unnused legacy field. Deprecated: do not set this field anymore.
name stringName is the full name of this user.
email stringEmail is the email address of this user. Emails must be globally unique across all KKP users.
admin booleanIsAdmin defines whether this user is an administrator with additional permissions. Admins can for example see all projects and clusters in the KKP dashboard.
groups string arrayGroups holds the information to which groups the user belongs to. Set automatically when logging in to the KKP API, and used by the KKP API.
project stringProject is the name of the project that this service account user is tied to. This field is only applicable to service accounts and regular users must not set this field.
settings UserSettingsSettings contains both user-configurable and system-owned configuration for the KKP dashboard.
invalidTokensReference GlobalSecretKeySelectorInvalidTokensReference is a reference to a Secret that contains invalidated login tokens. The tokens are used to provide a safe logout mechanism.

Back to top

UserStatus

UserStatus stores status information about a user.

Appears in:

FieldDescription
lastSeen Time

Back to top

VMwareCloudDirector

Appears in:

FieldDescription
ProviderPreset ProviderPreset
username string
password string
vdc string
organization string
ovdcNetwork string

Back to top

VMwareCloudDirectorCSIConfig

Appears in:

FieldDescription
storageProfile stringThe name of the storage profile to use for disks created by CSI driver
filesystem stringFilesystem to use for named disks, defaults to “ext4”

Back to top

VMwareCloudDirectorCloudSpec

VMwareCloudDirectorCloudSpec specifies access data to VMware Cloud Director cloud.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
username stringUsername is the VMware Cloud Director user name.
password stringPassword is the VMware Cloud Director user password.
organization stringOrganization is the name of organization to use.
vdc stringVDC is the organizational virtual data center.
ovdcNetwork stringNetwork is the name of organizational virtual data center network that will be associated with the VMs and vApp.
vapp stringVApp used for isolation of VMs and their associated network
csi VMwareCloudDirectorCSIConfigConfig for CSI driver

Back to top

VSphere

Appears in:

FieldDescription
ProviderPreset ProviderPreset
username string
password string
vmNetName string
datastore string
datastoreCluster string
resourcePool string

Back to top

VSphereCloudSpec

VSphereCloudSpec specifies access data to VSphere cloud.

Appears in:

FieldDescription
credentialsReference GlobalSecretKeySelector
username stringUsername is the vSphere user name.
password stringPassword is the vSphere user password.
vmNetName stringVMNetName is the name of the vSphere network.
folder stringFolder is the folder to be used to group the provisioned virtual machines.
datastore stringDatastore to be used for storing virtual machines and as a default for dynamic volume provisioning, it is mutually exclusive with DatastoreCluster.
datastoreCluster stringDatastoreCluster to be used for storing virtual machines, it is mutually exclusive with Datastore.
storagePolicy stringStoragePolicy to be used for storage provisioning
resourcePool stringResourcePool is used to manage resources such as cpu and memory for vSphere virtual machines. The resource pool should be defined on vSphere cluster level.
infraManagementUser VSphereCredentialsThis user will be used for everything except cloud provider functionality
tagCategoryID stringThis is category for the machine deployment tags

Back to top

VSphereCredentials

VSphereCredentials credentials represents a credential for accessing vSphere.

Appears in:

FieldDescription
username string
password string

Back to top