k8c.io/api/v3@v3.0.0-20230904060738-b0a93889c0b6/crd/community/kubermatic.k8c.io_clusters.yaml (about)

     1  # This file has been generated by hack/update-codegen.sh, DO NOT EDIT.
     2  
     3  apiVersion: apiextensions.k8s.io/v1
     4  kind: CustomResourceDefinition
     5  metadata:
     6    annotations:
     7      controller-gen.kubebuilder.io/version: v0.12.0
     8    name: clusters.kubermatic.k8c.io
     9  spec:
    10    group: kubermatic.k8c.io
    11    names:
    12      kind: Cluster
    13      listKind: ClusterList
    14      plural: clusters
    15      singular: cluster
    16    scope: Cluster
    17    versions:
    18      - additionalPrinterColumns:
    19          - jsonPath: .spec.humanReadableName
    20            name: HumanReadableName
    21            type: string
    22          - jsonPath: .status.userEmail
    23            name: Owner
    24            type: string
    25          - jsonPath: .spec.version
    26            name: Version
    27            type: string
    28          - jsonPath: .spec.cloud.providerName
    29            name: Provider
    30            type: string
    31          - jsonPath: .spec.cloud.datacenter
    32            name: Datacenter
    33            type: string
    34          - jsonPath: .status.phase
    35            name: Phase
    36            type: string
    37          - jsonPath: .spec.pause
    38            name: Paused
    39            type: boolean
    40          - jsonPath: .metadata.creationTimestamp
    41            name: Age
    42            type: date
    43        name: v1
    44        schema:
    45          openAPIV3Schema:
    46            description: 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).
    47            properties:
    48              apiVersion:
    49                description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    50                type: string
    51              kind:
    52                description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    53                type: string
    54              metadata:
    55                type: object
    56              spec:
    57                description: Spec describes the desired cluster state.
    58                properties:
    59                  admissionPlugins:
    60                    description: A list of arbitrary admission plugin names that are passed to kube-apiserver. Must not include admission plugins that can be enabled via a separate setting.
    61                    items:
    62                      type: string
    63                    type: array
    64                  apiServerAllowedIPRanges:
    65                    description: 'Optional: APIServerAllowedIPRanges is a list of IP ranges allowed to access the API server. Applicable only if the expose strategy of the cluster is LoadBalancer. If not configured, access to the API server is unrestricted.'
    66                    properties:
    67                      cidrBlocks:
    68                        items:
    69                          type: string
    70                        type: array
    71                    type: object
    72                  applicationSettings:
    73                    description: 'Optional: ApplicationSettings contains the settings relative to the application feature.'
    74                    properties:
    75                      cacheSize:
    76                        anyOf:
    77                          - type: integer
    78                          - type: string
    79                        description: CacheSize is the size of the cache used to download application's sources.
    80                        pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
    81                        x-kubernetes-int-or-string: true
    82                    type: object
    83                  cloud:
    84                    description: Cloud contains information regarding the cloud provider that is responsible for hosting the cluster's workload.
    85                    properties:
    86                      alibaba:
    87                        description: AlibabaCloudSpec specifies the access data to Alibaba.
    88                        properties:
    89                          accessKeyID:
    90                            type: string
    91                          accessKeySecret:
    92                            type: string
    93                          credentialsReference:
    94                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
    95                            properties:
    96                              apiVersion:
    97                                description: API version of the referent.
    98                                type: string
    99                              fieldPath:
   100                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   101                                type: string
   102                              key:
   103                                type: string
   104                              kind:
   105                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   106                                type: string
   107                              name:
   108                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   109                                type: string
   110                              namespace:
   111                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   112                                type: string
   113                              resourceVersion:
   114                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   115                                type: string
   116                              uid:
   117                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   118                                type: string
   119                            type: object
   120                            x-kubernetes-map-type: atomic
   121                        type: object
   122                      anexia:
   123                        description: AnexiaCloudSpec specifies the access data to Anexia.
   124                        properties:
   125                          credentialsReference:
   126                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   127                            properties:
   128                              apiVersion:
   129                                description: API version of the referent.
   130                                type: string
   131                              fieldPath:
   132                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   133                                type: string
   134                              key:
   135                                type: string
   136                              kind:
   137                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   138                                type: string
   139                              name:
   140                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   141                                type: string
   142                              namespace:
   143                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   144                                type: string
   145                              resourceVersion:
   146                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   147                                type: string
   148                              uid:
   149                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   150                                type: string
   151                            type: object
   152                            x-kubernetes-map-type: atomic
   153                          token:
   154                            type: string
   155                        type: object
   156                      aws:
   157                        description: AWSCloudSpec specifies access data to Amazon Web Services.
   158                        properties:
   159                          accessKeyID:
   160                            type: string
   161                          assumeRoleARN:
   162                            type: string
   163                          assumeRoleExternalID:
   164                            type: string
   165                          credentialsReference:
   166                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   167                            properties:
   168                              apiVersion:
   169                                description: API version of the referent.
   170                                type: string
   171                              fieldPath:
   172                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   173                                type: string
   174                              key:
   175                                type: string
   176                              kind:
   177                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   178                                type: string
   179                              name:
   180                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   181                                type: string
   182                              namespace:
   183                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   184                                type: string
   185                              resourceVersion:
   186                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   187                                type: string
   188                              uid:
   189                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   190                                type: string
   191                            type: object
   192                            x-kubernetes-map-type: atomic
   193                          disableIAMReconciling:
   194                            description: DisableIAMReconciling is used to disable reconciliation for IAM related configuration. This is useful in air-gapped setups where access to IAM service is not possible.
   195                            type: boolean
   196                          instanceProfileName:
   197                            type: string
   198                          nodePortsAllowedIPRange:
   199                            description: A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
   200                            type: string
   201                          nodePortsAllowedIPRanges:
   202                            description: 'Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set,  the node port range can be accessed from anywhere.'
   203                            properties:
   204                              cidrBlocks:
   205                                items:
   206                                  type: string
   207                                type: array
   208                            type: object
   209                          roleARN:
   210                            description: The IAM role, the control plane will use. The control plane will perform an assume-role
   211                            type: string
   212                          routeTableID:
   213                            type: string
   214                          secretAccessKey:
   215                            type: string
   216                          securityGroupID:
   217                            type: string
   218                          vpcID:
   219                            type: string
   220                        required:
   221                          - instanceProfileName
   222                          - roleARN
   223                          - routeTableID
   224                          - securityGroupID
   225                          - vpcID
   226                        type: object
   227                      azure:
   228                        description: AzureCloudSpec defines cloud resource references for Microsoft Azure.
   229                        properties:
   230                          assignAvailabilitySet:
   231                            description: 'Optional: AssignAvailabilitySet determines whether KKP creates and assigns an AvailabilitySet to machines. Defaults to `true` internally if not set.'
   232                            type: boolean
   233                          availabilitySet:
   234                            description: An availability set that will be associated with nodes created for this cluster. If this field is set to empty string at cluster creation and `AssignAvailabilitySet` is set to `true`, a new availability set will be created and this field will be updated to the generated availability set's name.
   235                            type: string
   236                          clientID:
   237                            description: ClientID is the service principal used to access Azure. Can be read from `credentialsReference` instead.
   238                            type: string
   239                          clientSecret:
   240                            description: ClientSecret is the client secret corresponding to the given service principal. Can be read from `credentialsReference` instead.
   241                            type: string
   242                          credentialsReference:
   243                            description: CredentialsReference allows referencing a `Secret` resource instead of passing secret data in this spec.
   244                            properties:
   245                              apiVersion:
   246                                description: API version of the referent.
   247                                type: string
   248                              fieldPath:
   249                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   250                                type: string
   251                              key:
   252                                type: string
   253                              kind:
   254                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   255                                type: string
   256                              name:
   257                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   258                                type: string
   259                              namespace:
   260                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   261                                type: string
   262                              resourceVersion:
   263                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   264                                type: string
   265                              uid:
   266                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   267                                type: string
   268                            type: object
   269                            x-kubernetes-map-type: atomic
   270                          loadBalancerSKU:
   271                            description: Azure SKU for Load Balancers. Possible values are `basic` and `standard`.
   272                            enum:
   273                              - standard
   274                              - basic
   275                            type: string
   276                          nodePortsAllowedIPRange:
   277                            description: A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
   278                            type: string
   279                          nodePortsAllowedIPRanges:
   280                            description: 'Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set,  the node port range can be accessed from anywhere.'
   281                            properties:
   282                              cidrBlocks:
   283                                items:
   284                                  type: string
   285                                type: array
   286                            type: object
   287                          resourceGroup:
   288                            description: The resource group that will be used to look up and create resources for the cluster in. If set to empty string at cluster creation, a new resource group will be created and this field will be updated to the generated resource group's name.
   289                            type: string
   290                          routeTable:
   291                            description: The name of a route table associated with the subnet referenced by `subnet`. If set to empty string at cluster creation, a new route table will be created and this field will be updated to the generated route table's name. If no subnet is defined at cluster creation, this field should be empty as well.
   292                            type: string
   293                          securityGroup:
   294                            description: The name of a security group associated with the subnet referenced by `subnet`. If set to empty string at cluster creation, a new security group will be created and this field will be updated to the generated security group's name. If no subnet is defined at cluster creation, this field should be empty as well.
   295                            type: string
   296                          subnet:
   297                            description: The name of a subnet in the VNet referenced by `vnet`. If set to empty string at cluster creation, a new subnet will be created and this field will be updated to the generated subnet's name. If no VNet is defined at cluster creation, this field should be empty as well.
   298                            type: string
   299                          subscriptionID:
   300                            description: SubscriptionID is the Azure Subscription used for this cluster. Can be read from `credentialsReference` instead.
   301                            type: string
   302                          tenantID:
   303                            description: TenantID is the Azure Active Directory Tenant used for this cluster. Can be read from `credentialsReference` instead.
   304                            type: string
   305                          vnet:
   306                            description: The name of the VNet resource used for setting up networking in. If set to empty string at cluster creation, a new VNet will be created and this field will be updated to the generated VNet's name.
   307                            type: string
   308                          vnetResourceGroup:
   309                            description: 'Optional: 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`.'
   310                            type: string
   311                        required:
   312                          - availabilitySet
   313                          - loadBalancerSKU
   314                          - resourceGroup
   315                          - routeTable
   316                          - securityGroup
   317                          - subnet
   318                          - vnet
   319                          - vnetResourceGroup
   320                        type: object
   321                      bringyourown:
   322                        description: BringYourOwnCloudSpec specifies access data for a bring your own cluster.
   323                        type: object
   324                      datacenter:
   325                        description: DatacenterName states the name of a cloud provider "datacenter" (defined in `Seed` resources) this cluster should be deployed into.
   326                        type: string
   327                      digitalocean:
   328                        description: DigitaloceanCloudSpec specifies access data to DigitalOcean.
   329                        properties:
   330                          credentialsReference:
   331                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   332                            properties:
   333                              apiVersion:
   334                                description: API version of the referent.
   335                                type: string
   336                              fieldPath:
   337                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   338                                type: string
   339                              key:
   340                                type: string
   341                              kind:
   342                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   343                                type: string
   344                              name:
   345                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   346                                type: string
   347                              namespace:
   348                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   349                                type: string
   350                              resourceVersion:
   351                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   352                                type: string
   353                              uid:
   354                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   355                                type: string
   356                            type: object
   357                            x-kubernetes-map-type: atomic
   358                          token:
   359                            type: string
   360                        type: object
   361                      fake:
   362                        description: FakeCloudSpec specifies access data for a fake cloud.
   363                        properties:
   364                          token:
   365                            type: string
   366                        type: object
   367                      gcp:
   368                        description: GCPCloudSpec specifies access data to GCP.
   369                        properties:
   370                          credentialsReference:
   371                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   372                            properties:
   373                              apiVersion:
   374                                description: API version of the referent.
   375                                type: string
   376                              fieldPath:
   377                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   378                                type: string
   379                              key:
   380                                type: string
   381                              kind:
   382                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   383                                type: string
   384                              name:
   385                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   386                                type: string
   387                              namespace:
   388                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   389                                type: string
   390                              resourceVersion:
   391                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   392                                type: string
   393                              uid:
   394                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   395                                type: string
   396                            type: object
   397                            x-kubernetes-map-type: atomic
   398                          network:
   399                            type: string
   400                          nodePortsAllowedIPRange:
   401                            description: A CIDR range that will be used to allow access to the node port range in the firewall rules to. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
   402                            type: string
   403                          nodePortsAllowedIPRanges:
   404                            description: 'Optional: CIDR ranges that will be used to allow access to the node port range in the firewall rules to. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set,  the node port range can be accessed from anywhere.'
   405                            properties:
   406                              cidrBlocks:
   407                                items:
   408                                  type: string
   409                                type: array
   410                            type: object
   411                          serviceAccount:
   412                            description: The Google Service Account (JSON format), encoded with base64.
   413                            type: string
   414                          subnetwork:
   415                            type: string
   416                        required:
   417                          - network
   418                          - subnetwork
   419                        type: object
   420                      hetzner:
   421                        description: HetznerCloudSpec specifies access data to hetzner cloud.
   422                        properties:
   423                          credentialsReference:
   424                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   425                            properties:
   426                              apiVersion:
   427                                description: API version of the referent.
   428                                type: string
   429                              fieldPath:
   430                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   431                                type: string
   432                              key:
   433                                type: string
   434                              kind:
   435                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   436                                type: string
   437                              name:
   438                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   439                                type: string
   440                              namespace:
   441                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   442                                type: string
   443                              resourceVersion:
   444                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   445                                type: string
   446                              uid:
   447                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   448                                type: string
   449                            type: object
   450                            x-kubernetes-map-type: atomic
   451                          network:
   452                            description: Network is the pre-existing Hetzner network in which the machines are running. While machines can be in multiple networks, a single one must be chosen for the HCloud CCM to work. If this is empty, the network configured on the datacenter will be used.
   453                            type: string
   454                          token:
   455                            description: Token is used to authenticate with the Hetzner cloud API.
   456                            type: string
   457                        type: object
   458                      kubevirt:
   459                        description: KubeVirtCloudSpec specifies the access data to KubeVirt.
   460                        properties:
   461                          credentialsReference:
   462                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   463                            properties:
   464                              apiVersion:
   465                                description: API version of the referent.
   466                                type: string
   467                              fieldPath:
   468                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   469                                type: string
   470                              key:
   471                                type: string
   472                              kind:
   473                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   474                                type: string
   475                              name:
   476                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   477                                type: string
   478                              namespace:
   479                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   480                                type: string
   481                              resourceVersion:
   482                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   483                                type: string
   484                              uid:
   485                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   486                                type: string
   487                            type: object
   488                            x-kubernetes-map-type: atomic
   489                          csiKubeconfig:
   490                            type: string
   491                          imageCloningEnabled:
   492                            description: ImageCloningEnabled flag enable/disable cloning for a cluster.
   493                            type: boolean
   494                          infraStorageClasses:
   495                            description: 'Deprecated: in favor of StorageClasses. InfraStorageClasses is a list of storage classes from KubeVirt infra cluster that are used for initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks)'
   496                            items:
   497                              type: string
   498                            type: array
   499                          kubeconfig:
   500                            description: The cluster's kubeconfig file, encoded with base64.
   501                            type: string
   502                          preAllocatedDataVolumes:
   503                            description: Custom Images are a good example of this use case.
   504                            items:
   505                              properties:
   506                                annotations:
   507                                  additionalProperties:
   508                                    type: string
   509                                  type: object
   510                                name:
   511                                  type: string
   512                                size:
   513                                  type: string
   514                                storageClass:
   515                                  type: string
   516                                url:
   517                                  type: string
   518                              required:
   519                                - name
   520                                - size
   521                                - storageClass
   522                                - url
   523                              type: object
   524                            type: array
   525                          storageClasses:
   526                            description: StorageClasses is a list of storage classes from KubeVirt infra cluster that are used for initialization of user cluster storage classes by the CSI driver kubevirt (hot pluggable disks. It contains also some flag specifying which one is the default one.
   527                            items:
   528                              properties:
   529                                isDefaultClass:
   530                                  description: 'Optional: IsDefaultClass. If true, the created StorageClass in the tenant cluster will be annotated with: storageclass.kubernetes.io/is-default-class : true If missing or false, annotation will be: storageclass.kubernetes.io/is-default-class : false'
   531                                  type: boolean
   532                                name:
   533                                  type: string
   534                              required:
   535                                - name
   536                              type: object
   537                            type: array
   538                        type: object
   539                      nutanix:
   540                        description: NutanixCloudSpec specifies the access data to Nutanix.
   541                        properties:
   542                          clusterName:
   543                            description: ClusterName is the Nutanix cluster that this user cluster will be deployed to.
   544                            type: string
   545                          credentialsReference:
   546                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   547                            properties:
   548                              apiVersion:
   549                                description: API version of the referent.
   550                                type: string
   551                              fieldPath:
   552                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   553                                type: string
   554                              key:
   555                                type: string
   556                              kind:
   557                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   558                                type: string
   559                              name:
   560                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   561                                type: string
   562                              namespace:
   563                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   564                                type: string
   565                              resourceVersion:
   566                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   567                                type: string
   568                              uid:
   569                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   570                                type: string
   571                            type: object
   572                            x-kubernetes-map-type: atomic
   573                          csi:
   574                            description: NutanixCSIConfig for csi driver that connects to a prism element
   575                            properties:
   576                              endpoint:
   577                                description: Prism Element Endpoint to access Nutanix Prism Element for csi driver
   578                                type: string
   579                              fstype:
   580                                description: 'Optional: defaults to "xfs"'
   581                                type: string
   582                              password:
   583                                description: Prism Element Password for csi driver
   584                                type: string
   585                              port:
   586                                description: 'Optional: Port to use when connecting to the Nutanix Prism Element endpoint (defaults to 9440)'
   587                                format: int32
   588                                type: integer
   589                              ssSegmentedIscsiNetwork:
   590                                description: 'Optional: defaults to "false"'
   591                                type: boolean
   592                              storageContainer:
   593                                description: 'Optional: defaults to "SelfServiceContainer"'
   594                                type: string
   595                              username:
   596                                description: Prism Element Username for csi driver
   597                                type: string
   598                            required:
   599                              - endpoint
   600                            type: object
   601                          password:
   602                            type: string
   603                          projectName:
   604                            description: ProjectName is the project that this cluster is deployed into. If none is given, no project will be used.
   605                            type: string
   606                          proxyURL:
   607                            type: string
   608                          username:
   609                            type: string
   610                        required:
   611                          - clusterName
   612                        type: object
   613                      openstack:
   614                        description: OpenStackCloudSpec specifies access data to an OpenStack cloud.
   615                        properties:
   616                          applicationCredentialID:
   617                            type: string
   618                          applicationCredentialSecret:
   619                            type: string
   620                          credentialsReference:
   621                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   622                            properties:
   623                              apiVersion:
   624                                description: API version of the referent.
   625                                type: string
   626                              fieldPath:
   627                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   628                                type: string
   629                              key:
   630                                type: string
   631                              kind:
   632                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   633                                type: string
   634                              name:
   635                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   636                                type: string
   637                              namespace:
   638                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   639                                type: string
   640                              resourceVersion:
   641                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   642                                type: string
   643                              uid:
   644                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   645                                type: string
   646                            type: object
   647                            x-kubernetes-map-type: atomic
   648                          domain:
   649                            type: string
   650                          enableIngressHostname:
   651                            description: Enable the `enable-ingress-hostname` cloud provider option on the OpenStack CCM. Can only be used with the external CCM and might be deprecated and removed in future versions as it is considered a workaround for the PROXY protocol to preserve client IPs.
   652                            type: boolean
   653                          floatingIPPool:
   654                            description: "FloatingIPPool holds the name of the public network The public network is reachable from the outside world and should provide the pool of IP addresses to choose from. \n When specified, all worker nodes will receive a public ip from this floating ip pool \n Note that the network is external if the \"External\" field is set to true"
   655                            type: string
   656                          ingressHostnameSuffix:
   657                            description: Set a specific suffix for the hostnames used for the PROXY protocol workaround that is enabled by EnableIngressHostname. The suffix is set to `nip.io` by default. Can only be used with the external CCM and might be deprecated and removed in future versions as it is considered a workaround only.
   658                            type: string
   659                          ipv6SubnetID:
   660                            description: IPv6SubnetID holds the ID of the subnet used for IPv6 networking. If not provided, a new subnet will be created if IPv6 is enabled.
   661                            type: string
   662                          ipv6SubnetPool:
   663                            description: IPv6SubnetPool holds the name of the subnet pool used for creating new IPv6 subnets. If not provided, the default IPv6 subnet pool will be used.
   664                            type: string
   665                          network:
   666                            description: "Network holds the name of the internal network When specified, all worker nodes will be attached to this network. If not specified, a network, subnet & router will be created \n Note that the network is internal if the \"External\" field is set to false"
   667                            type: string
   668                          nodePortsAllowedIPRange:
   669                            description: A CIDR range that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.
   670                            type: string
   671                          nodePortsAllowedIPRanges:
   672                            description: 'Optional: CIDR ranges that will be used to allow access to the node port range in the security group to. Only applies if the security group is generated by KKP and not preexisting. If NodePortsAllowedIPRange nor NodePortsAllowedIPRanges is set, the node port range can be accessed from anywhere.'
   673                            properties:
   674                              cidrBlocks:
   675                                items:
   676                                  type: string
   677                                type: array
   678                            type: object
   679                          password:
   680                            type: string
   681                          project:
   682                            description: project, formally known as tenant.
   683                            type: string
   684                          projectID:
   685                            description: project id, formally known as tenantID.
   686                            type: string
   687                          routerID:
   688                            type: string
   689                          securityGroups:
   690                            type: string
   691                          subnetID:
   692                            type: string
   693                          token:
   694                            description: Used internally during cluster creation
   695                            type: string
   696                          useOctavia:
   697                            description: "Whether or not to use Octavia for LoadBalancer type of Service implementation instead of using Neutron-LBaaS. Attention:OpenStack CCM use Octavia as default load balancer implementation since v1.17.0 \n Takes precedence over the 'use_octavia' flag provided at datacenter level if both are specified."
   698                            type: boolean
   699                          useToken:
   700                            type: boolean
   701                          username:
   702                            type: string
   703                        required:
   704                          - floatingIPPool
   705                          - network
   706                          - routerID
   707                          - securityGroups
   708                          - subnetID
   709                        type: object
   710                      packet:
   711                        description: PacketCloudSpec specifies access data to a Packet cloud.
   712                        properties:
   713                          apiKey:
   714                            type: string
   715                          billingCycle:
   716                            type: string
   717                          credentialsReference:
   718                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   719                            properties:
   720                              apiVersion:
   721                                description: API version of the referent.
   722                                type: string
   723                              fieldPath:
   724                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   725                                type: string
   726                              key:
   727                                type: string
   728                              kind:
   729                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   730                                type: string
   731                              name:
   732                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   733                                type: string
   734                              namespace:
   735                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   736                                type: string
   737                              resourceVersion:
   738                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   739                                type: string
   740                              uid:
   741                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   742                                type: string
   743                            type: object
   744                            x-kubernetes-map-type: atomic
   745                          projectID:
   746                            type: string
   747                        required:
   748                          - billingCycle
   749                        type: object
   750                      providerName:
   751                        description: ProviderName is the name of the cloud provider used for this cluster. This must match the given provider spec (e.g. if the providerName is "aws", then the `aws` field must be set).
   752                        enum:
   753                          - alibaba
   754                          - anexia
   755                          - aws
   756                          - azure
   757                          - bringyourown
   758                          - digitalocean
   759                          - gcp
   760                          - hetzner
   761                          - kubevirt
   762                          - nutanix
   763                          - openstack
   764                          - packet
   765                          - vmwareclouddirector
   766                          - vsphere
   767                        type: string
   768                      vmwareclouddirector:
   769                        description: VMwareCloudDirectorCloudSpec specifies access data to VMware Cloud Director cloud.
   770                        properties:
   771                          apiToken:
   772                            description: APIToken is the VMware Cloud Director API token.
   773                            type: string
   774                          credentialsReference:
   775                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   776                            properties:
   777                              apiVersion:
   778                                description: API version of the referent.
   779                                type: string
   780                              fieldPath:
   781                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   782                                type: string
   783                              key:
   784                                type: string
   785                              kind:
   786                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   787                                type: string
   788                              name:
   789                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   790                                type: string
   791                              namespace:
   792                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   793                                type: string
   794                              resourceVersion:
   795                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   796                                type: string
   797                              uid:
   798                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   799                                type: string
   800                            type: object
   801                            x-kubernetes-map-type: atomic
   802                          csi:
   803                            description: Config for CSI driver
   804                            properties:
   805                              filesystem:
   806                                description: Filesystem to use for named disks, defaults to "ext4"
   807                                type: string
   808                              storageProfile:
   809                                description: The name of the storage profile to use for disks created by CSI driver
   810                                type: string
   811                            required:
   812                              - storageProfile
   813                            type: object
   814                          organization:
   815                            description: Organization is the name of organization to use.
   816                            type: string
   817                          ovdcNetwork:
   818                            description: Network is the name of organizational virtual data center network that will be associated with the VMs and vApp.
   819                            type: string
   820                          password:
   821                            description: Password is the VMware Cloud Director user password.
   822                            type: string
   823                          username:
   824                            description: Username is the VMware Cloud Director user name.
   825                            type: string
   826                          vapp:
   827                            description: VApp used for isolation of VMs and their associated network
   828                            type: string
   829                          vdc:
   830                            description: VDC is the organizational virtual data center.
   831                            type: string
   832                        required:
   833                          - csi
   834                          - ovdcNetwork
   835                        type: object
   836                      vsphere:
   837                        description: VSphereCloudSpec specifies access data to VSphere cloud.
   838                        properties:
   839                          credentialsReference:
   840                            description: GlobalObjectKeySelector is needed as we can not use v1.SecretKeySelector because it is not cross namespace.
   841                            properties:
   842                              apiVersion:
   843                                description: API version of the referent.
   844                                type: string
   845                              fieldPath:
   846                                description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.'
   847                                type: string
   848                              key:
   849                                type: string
   850                              kind:
   851                                description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   852                                type: string
   853                              name:
   854                                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
   855                                type: string
   856                              namespace:
   857                                description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
   858                                type: string
   859                              resourceVersion:
   860                                description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
   861                                type: string
   862                              uid:
   863                                description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
   864                                type: string
   865                            type: object
   866                            x-kubernetes-map-type: atomic
   867                          datastore:
   868                            description: Datastore to be used for storing virtual machines and as a default for dynamic volume provisioning, it is mutually exclusive with DatastoreCluster.
   869                            type: string
   870                          datastoreCluster:
   871                            description: DatastoreCluster to be used for storing virtual machines, it is mutually exclusive with Datastore.
   872                            type: string
   873                          folder:
   874                            description: Folder is the folder to be used to group the provisioned virtual machines.
   875                            type: string
   876                          infraManagementUser:
   877                            description: This user will be used for everything except cloud provider functionality
   878                            properties:
   879                              password:
   880                                type: string
   881                              username:
   882                                type: string
   883                            type: object
   884                          password:
   885                            description: Password is the vSphere user password.
   886                            type: string
   887                          resourcePool:
   888                            description: ResourcePool is used to manage resources such as cpu and memory for vSphere virtual machines. The resource pool should be defined on vSphere cluster level.
   889                            type: string
   890                          storagePolicy:
   891                            description: StoragePolicy to be used for storage provisioning
   892                            type: string
   893                          tags:
   894                            description: Tags represents the tags that are attached or created on the cluster level, that are then propagated down to the MachineDeployments. In order to attach tags on MachineDeployment, users must create the tag on a cluster level first then attach that tag on the MachineDeployment.
   895                            properties:
   896                              categoryID:
   897                                description: CategoryID is the id of the vsphere category that the tag belongs to. If the category id is left empty, the default category id for the cluster will be used.
   898                                type: string
   899                              tags:
   900                                description: Tags represents the name of the created tags.
   901                                items:
   902                                  type: string
   903                                type: array
   904                            required:
   905                              - tags
   906                            type: object
   907                          username:
   908                            description: Username is the vSphere user name.
   909                            type: string
   910                          vmNetName:
   911                            description: VMNetName is the name of the vSphere network.
   912                            type: string
   913                        required:
   914                          - infraManagementUser
   915                          - storagePolicy
   916                          - vmNetName
   917                        type: object
   918                    required:
   919                      - datacenter
   920                      - providerName
   921                    type: object
   922                  clusterNetwork:
   923                    description: ClusterNetworkingConfig specifies the different networking parameters for a cluster.
   924                    properties:
   925                      coreDNSReplicas:
   926                        description: CoreDNSReplicas is the number of desired pods of user cluster coredns deployment.
   927                        format: int32
   928                        type: integer
   929                      dnsDomain:
   930                        description: Domain name for services.
   931                        type: string
   932                      ipFamily:
   933                        description: 'Optional: IP family used for cluster networking. Supported values are "", "IPv4" or "IPv4+IPv6". Can be omitted / empty if pods and services network ranges are specified. In that case it defaults according to the IP families of the provided network ranges. If neither ipFamily nor pods & services network ranges are specified, defaults to "IPv4".'
   934                        enum:
   935                          - ""
   936                          - IPv4
   937                          - IPv4+IPv6
   938                        type: string
   939                      ipvs:
   940                        description: IPVS defines kube-proxy ipvs configuration options
   941                        properties:
   942                          strictArp:
   943                            default: true
   944                            description: StrictArp configure arp_ignore and arp_announce to avoid answering ARP queries from kube-ipvs0 interface. defaults to true.
   945                            type: boolean
   946                        type: object
   947                      konnectivityEnabled:
   948                        description: KonnectivityEnabled enables konnectivity for controlplane to node network communication.
   949                        type: boolean
   950                      nodeCidrMaskSizeIPv4:
   951                        description: NodeCIDRMaskSizeIPv4 is the mask size used to address the nodes within provided IPv4 Pods CIDR. It has to be larger than the provided IPv4 Pods CIDR. Defaults to 24.
   952                        format: int32
   953                        type: integer
   954                      nodeCidrMaskSizeIPv6:
   955                        description: NodeCIDRMaskSizeIPv6 is the mask size used to address the nodes within provided IPv6 Pods CIDR. It has to be larger than the provided IPv6 Pods CIDR. Defaults to 64.
   956                        format: int32
   957                        type: integer
   958                      nodeLocalDNSCacheEnabled:
   959                        default: true
   960                        description: NodeLocalDNSCacheEnabled controls whether the NodeLocal DNS Cache feature is enabled. Defaults to true.
   961                        type: boolean
   962                      pods:
   963                        description: The network ranges from which POD networks are allocated. It can contain one IPv4 and/or one IPv6 CIDR. If both address families are specified, the first one defines the primary address family.
   964                        properties:
   965                          cidrBlocks:
   966                            items:
   967                              type: string
   968                            type: array
   969                        type: object
   970                      proxyMode:
   971                        default: ipvs
   972                        description: ProxyMode defines the kube-proxy mode ("ipvs" / "iptables" / "ebpf"). Defaults to "ipvs". "ebpf" disables kube-proxy and requires CNI support.
   973                        enum:
   974                          - ipvs
   975                          - iptables
   976                          - ebpf
   977                        type: string
   978                      services:
   979                        description: The network ranges from which service VIPs are allocated. It can contain one IPv4 and/or one IPv6 CIDR. If both address families are specified, the first one defines the primary address family.
   980                        properties:
   981                          cidrBlocks:
   982                            items:
   983                              type: string
   984                            type: array
   985                        type: object
   986                      tunnelingAgentIP:
   987                        description: TunnelingAgentIP is the address used by the tunneling agents
   988                        type: string
   989                    required:
   990                      - dnsDomain
   991                      - pods
   992                      - proxyMode
   993                      - services
   994                    type: object
   995                  cniPlugin:
   996                    description: CNIPluginSettings contains the spec of the CNI plugin used by the Cluster.
   997                    properties:
   998                      type:
   999                        description: Type is the CNI plugin type to be used.
  1000                        enum:
  1001                          - canal
  1002                          - cilium
  1003                          - none
  1004                        type: string
  1005                      version:
  1006                        description: Version defines the CNI plugin version to be used. This varies by chosen CNI plugin type.
  1007                        type: string
  1008                    required:
  1009                      - type
  1010                      - version
  1011                    type: object
  1012                  componentsOverride:
  1013                    description: Component specific overrides that allow customization of control plane components.
  1014                    properties:
  1015                      apiserver:
  1016                        description: Apiserver configures kube-apiserver settings.
  1017                        properties:
  1018                          endpointReconcilingDisabled:
  1019                            type: boolean
  1020                          nodePortRange:
  1021                            type: string
  1022                          replicas:
  1023                            format: int32
  1024                            type: integer
  1025                          resources:
  1026                            description: ResourceRequirements describes the compute resource requirements.
  1027                            properties:
  1028                              claims:
  1029                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1030                                items:
  1031                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1032                                  properties:
  1033                                    name:
  1034                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1035                                      type: string
  1036                                  required:
  1037                                    - name
  1038                                  type: object
  1039                                type: array
  1040                                x-kubernetes-list-map-keys:
  1041                                  - name
  1042                                x-kubernetes-list-type: map
  1043                              limits:
  1044                                additionalProperties:
  1045                                  anyOf:
  1046                                    - type: integer
  1047                                    - type: string
  1048                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1049                                  x-kubernetes-int-or-string: true
  1050                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1051                                type: object
  1052                              requests:
  1053                                additionalProperties:
  1054                                  anyOf:
  1055                                    - type: integer
  1056                                    - type: string
  1057                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1058                                  x-kubernetes-int-or-string: true
  1059                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1060                                type: object
  1061                            type: object
  1062                          tolerations:
  1063                            items:
  1064                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1065                              properties:
  1066                                effect:
  1067                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1068                                  type: string
  1069                                key:
  1070                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1071                                  type: string
  1072                                operator:
  1073                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1074                                  type: string
  1075                                tolerationSeconds:
  1076                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1077                                  format: int64
  1078                                  type: integer
  1079                                value:
  1080                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1081                                  type: string
  1082                              type: object
  1083                            type: array
  1084                        type: object
  1085                      controllerManager:
  1086                        description: ControllerManager configures kube-controller-manager settings.
  1087                        properties:
  1088                          leaderElection:
  1089                            properties:
  1090                              leaseDurationSeconds:
  1091                                description: LeaseDurationSeconds is the duration in seconds that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack.
  1092                                format: int32
  1093                                type: integer
  1094                              renewDeadlineSeconds:
  1095                                description: RenewDeadlineSeconds is the duration in seconds that the acting controlplane will retry refreshing leadership before giving up.
  1096                                format: int32
  1097                                type: integer
  1098                              retryPeriodSeconds:
  1099                                description: RetryPeriodSeconds is the duration in seconds the LeaderElector clients should wait between tries of actions.
  1100                                format: int32
  1101                                type: integer
  1102                            type: object
  1103                          replicas:
  1104                            format: int32
  1105                            type: integer
  1106                          resources:
  1107                            description: ResourceRequirements describes the compute resource requirements.
  1108                            properties:
  1109                              claims:
  1110                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1111                                items:
  1112                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1113                                  properties:
  1114                                    name:
  1115                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1116                                      type: string
  1117                                  required:
  1118                                    - name
  1119                                  type: object
  1120                                type: array
  1121                                x-kubernetes-list-map-keys:
  1122                                  - name
  1123                                x-kubernetes-list-type: map
  1124                              limits:
  1125                                additionalProperties:
  1126                                  anyOf:
  1127                                    - type: integer
  1128                                    - type: string
  1129                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1130                                  x-kubernetes-int-or-string: true
  1131                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1132                                type: object
  1133                              requests:
  1134                                additionalProperties:
  1135                                  anyOf:
  1136                                    - type: integer
  1137                                    - type: string
  1138                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1139                                  x-kubernetes-int-or-string: true
  1140                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1141                                type: object
  1142                            type: object
  1143                          tolerations:
  1144                            items:
  1145                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1146                              properties:
  1147                                effect:
  1148                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1149                                  type: string
  1150                                key:
  1151                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1152                                  type: string
  1153                                operator:
  1154                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1155                                  type: string
  1156                                tolerationSeconds:
  1157                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1158                                  format: int64
  1159                                  type: integer
  1160                                value:
  1161                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1162                                  type: string
  1163                              type: object
  1164                            type: array
  1165                        type: object
  1166                      etcd:
  1167                        description: Etcd configures the etcd ring used to store Kubernetes data.
  1168                        properties:
  1169                          clusterSize:
  1170                            description: ClusterSize is the number of replicas created for etcd. This should be an odd number to guarantee consensus, e.g. 3, 5 or 7.
  1171                            format: int32
  1172                            type: integer
  1173                          diskSize:
  1174                            anyOf:
  1175                              - type: integer
  1176                              - type: string
  1177                            description: DiskSize is the volume size used when creating persistent storage from the configured StorageClass. This is inherited from KubermaticConfiguration if not set. Defaults to 5Gi.
  1178                            pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1179                            x-kubernetes-int-or-string: true
  1180                          hostAntiAffinity:
  1181                            description: HostAntiAffinity allows to enforce a certain type of host anti-affinity on etcd pods. Options are "preferred" (default) and "required". Please note that enforcing anti-affinity via "required" can mean that pods are never scheduled.
  1182                            enum:
  1183                              - preferred
  1184                              - required
  1185                            type: string
  1186                          resources:
  1187                            description: Resources allows to override the resource requirements for etcd Pods.
  1188                            properties:
  1189                              claims:
  1190                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1191                                items:
  1192                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1193                                  properties:
  1194                                    name:
  1195                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1196                                      type: string
  1197                                  required:
  1198                                    - name
  1199                                  type: object
  1200                                type: array
  1201                                x-kubernetes-list-map-keys:
  1202                                  - name
  1203                                x-kubernetes-list-type: map
  1204                              limits:
  1205                                additionalProperties:
  1206                                  anyOf:
  1207                                    - type: integer
  1208                                    - type: string
  1209                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1210                                  x-kubernetes-int-or-string: true
  1211                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1212                                type: object
  1213                              requests:
  1214                                additionalProperties:
  1215                                  anyOf:
  1216                                    - type: integer
  1217                                    - type: string
  1218                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1219                                  x-kubernetes-int-or-string: true
  1220                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1221                                type: object
  1222                            type: object
  1223                          storageClass:
  1224                            description: StorageClass is the Kubernetes StorageClass used for persistent storage which stores the etcd WAL and other data persisted across restarts. Defaults to `kubermatic-fast` (the global default).
  1225                            type: string
  1226                          tolerations:
  1227                            description: Tolerations allows to override the scheduling tolerations for etcd Pods.
  1228                            items:
  1229                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1230                              properties:
  1231                                effect:
  1232                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1233                                  type: string
  1234                                key:
  1235                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1236                                  type: string
  1237                                operator:
  1238                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1239                                  type: string
  1240                                tolerationSeconds:
  1241                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1242                                  format: int64
  1243                                  type: integer
  1244                                value:
  1245                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1246                                  type: string
  1247                              type: object
  1248                            type: array
  1249                          zoneAntiAffinity:
  1250                            description: ZoneAntiAffinity allows to enforce a certain type of availability zone anti-affinity on etcd pods. Options are "preferred" (default) and "required". Please note that enforcing anti-affinity via "required" can mean that pods are never scheduled.
  1251                            enum:
  1252                              - preferred
  1253                              - required
  1254                            type: string
  1255                        type: object
  1256                      konnectivityProxy:
  1257                        description: KonnectivityProxy configures konnectivity-server and konnectivity-agent components.
  1258                        properties:
  1259                          keepaliveTime:
  1260                            description: KeepaliveTime represents a duration of time to check if the transport is still alive. The option is propagated to agents and server. Defaults to 1m.
  1261                            type: string
  1262                          resources:
  1263                            description: Resources configure limits/requests for Konnectivity components.
  1264                            properties:
  1265                              claims:
  1266                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1267                                items:
  1268                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1269                                  properties:
  1270                                    name:
  1271                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1272                                      type: string
  1273                                  required:
  1274                                    - name
  1275                                  type: object
  1276                                type: array
  1277                                x-kubernetes-list-map-keys:
  1278                                  - name
  1279                                x-kubernetes-list-type: map
  1280                              limits:
  1281                                additionalProperties:
  1282                                  anyOf:
  1283                                    - type: integer
  1284                                    - type: string
  1285                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1286                                  x-kubernetes-int-or-string: true
  1287                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1288                                type: object
  1289                              requests:
  1290                                additionalProperties:
  1291                                  anyOf:
  1292                                    - type: integer
  1293                                    - type: string
  1294                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1295                                  x-kubernetes-int-or-string: true
  1296                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1297                                type: object
  1298                            type: object
  1299                        type: object
  1300                      nodePortProxyEnvoy:
  1301                        description: NodePortProxyEnvoy configures the per-cluster nodeport-proxy-envoy that is deployed if the `LoadBalancer` expose strategy is used. This is not effective if a different expose strategy is configured.
  1302                        properties:
  1303                          dockerRepository:
  1304                            description: DockerRepository is the repository containing the component's image.
  1305                            type: string
  1306                          resources:
  1307                            description: Resources describes the requested and maximum allowed CPU/memory usage.
  1308                            properties:
  1309                              claims:
  1310                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1311                                items:
  1312                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1313                                  properties:
  1314                                    name:
  1315                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1316                                      type: string
  1317                                  required:
  1318                                    - name
  1319                                  type: object
  1320                                type: array
  1321                                x-kubernetes-list-map-keys:
  1322                                  - name
  1323                                x-kubernetes-list-type: map
  1324                              limits:
  1325                                additionalProperties:
  1326                                  anyOf:
  1327                                    - type: integer
  1328                                    - type: string
  1329                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1330                                  x-kubernetes-int-or-string: true
  1331                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1332                                type: object
  1333                              requests:
  1334                                additionalProperties:
  1335                                  anyOf:
  1336                                    - type: integer
  1337                                    - type: string
  1338                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1339                                  x-kubernetes-int-or-string: true
  1340                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1341                                type: object
  1342                            type: object
  1343                        type: object
  1344                      prometheus:
  1345                        description: Prometheus configures the Prometheus instance deployed into the cluster control plane.
  1346                        properties:
  1347                          resources:
  1348                            description: ResourceRequirements describes the compute resource requirements.
  1349                            properties:
  1350                              claims:
  1351                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1352                                items:
  1353                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1354                                  properties:
  1355                                    name:
  1356                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1357                                      type: string
  1358                                  required:
  1359                                    - name
  1360                                  type: object
  1361                                type: array
  1362                                x-kubernetes-list-map-keys:
  1363                                  - name
  1364                                x-kubernetes-list-type: map
  1365                              limits:
  1366                                additionalProperties:
  1367                                  anyOf:
  1368                                    - type: integer
  1369                                    - type: string
  1370                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1371                                  x-kubernetes-int-or-string: true
  1372                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1373                                type: object
  1374                              requests:
  1375                                additionalProperties:
  1376                                  anyOf:
  1377                                    - type: integer
  1378                                    - type: string
  1379                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1380                                  x-kubernetes-int-or-string: true
  1381                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1382                                type: object
  1383                            type: object
  1384                        type: object
  1385                      scheduler:
  1386                        description: Scheduler configures kube-scheduler settings.
  1387                        properties:
  1388                          leaderElection:
  1389                            properties:
  1390                              leaseDurationSeconds:
  1391                                description: LeaseDurationSeconds is the duration in seconds that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack.
  1392                                format: int32
  1393                                type: integer
  1394                              renewDeadlineSeconds:
  1395                                description: RenewDeadlineSeconds is the duration in seconds that the acting controlplane will retry refreshing leadership before giving up.
  1396                                format: int32
  1397                                type: integer
  1398                              retryPeriodSeconds:
  1399                                description: RetryPeriodSeconds is the duration in seconds the LeaderElector clients should wait between tries of actions.
  1400                                format: int32
  1401                                type: integer
  1402                            type: object
  1403                          replicas:
  1404                            format: int32
  1405                            type: integer
  1406                          resources:
  1407                            description: ResourceRequirements describes the compute resource requirements.
  1408                            properties:
  1409                              claims:
  1410                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1411                                items:
  1412                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1413                                  properties:
  1414                                    name:
  1415                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1416                                      type: string
  1417                                  required:
  1418                                    - name
  1419                                  type: object
  1420                                type: array
  1421                                x-kubernetes-list-map-keys:
  1422                                  - name
  1423                                x-kubernetes-list-type: map
  1424                              limits:
  1425                                additionalProperties:
  1426                                  anyOf:
  1427                                    - type: integer
  1428                                    - type: string
  1429                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1430                                  x-kubernetes-int-or-string: true
  1431                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1432                                type: object
  1433                              requests:
  1434                                additionalProperties:
  1435                                  anyOf:
  1436                                    - type: integer
  1437                                    - type: string
  1438                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1439                                  x-kubernetes-int-or-string: true
  1440                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1441                                type: object
  1442                            type: object
  1443                          tolerations:
  1444                            items:
  1445                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1446                              properties:
  1447                                effect:
  1448                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1449                                  type: string
  1450                                key:
  1451                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1452                                  type: string
  1453                                operator:
  1454                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1455                                  type: string
  1456                                tolerationSeconds:
  1457                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1458                                  format: int64
  1459                                  type: integer
  1460                                value:
  1461                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1462                                  type: string
  1463                              type: object
  1464                            type: array
  1465                        type: object
  1466                      userClusterController:
  1467                        description: UserClusterController configures the KKP usercluster-controller deployed as part of the cluster control plane.
  1468                        properties:
  1469                          leaderElection:
  1470                            properties:
  1471                              leaseDurationSeconds:
  1472                                description: LeaseDurationSeconds is the duration in seconds that non-leader candidates will wait to force acquire leadership. This is measured against time of last observed ack.
  1473                                format: int32
  1474                                type: integer
  1475                              renewDeadlineSeconds:
  1476                                description: RenewDeadlineSeconds is the duration in seconds that the acting controlplane will retry refreshing leadership before giving up.
  1477                                format: int32
  1478                                type: integer
  1479                              retryPeriodSeconds:
  1480                                description: RetryPeriodSeconds is the duration in seconds the LeaderElector clients should wait between tries of actions.
  1481                                format: int32
  1482                                type: integer
  1483                            type: object
  1484                          replicas:
  1485                            format: int32
  1486                            type: integer
  1487                          resources:
  1488                            description: ResourceRequirements describes the compute resource requirements.
  1489                            properties:
  1490                              claims:
  1491                                description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1492                                items:
  1493                                  description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1494                                  properties:
  1495                                    name:
  1496                                      description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1497                                      type: string
  1498                                  required:
  1499                                    - name
  1500                                  type: object
  1501                                type: array
  1502                                x-kubernetes-list-map-keys:
  1503                                  - name
  1504                                x-kubernetes-list-type: map
  1505                              limits:
  1506                                additionalProperties:
  1507                                  anyOf:
  1508                                    - type: integer
  1509                                    - type: string
  1510                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1511                                  x-kubernetes-int-or-string: true
  1512                                description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1513                                type: object
  1514                              requests:
  1515                                additionalProperties:
  1516                                  anyOf:
  1517                                    - type: integer
  1518                                    - type: string
  1519                                  pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1520                                  x-kubernetes-int-or-string: true
  1521                                description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1522                                type: object
  1523                            type: object
  1524                          tolerations:
  1525                            items:
  1526                              description: The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
  1527                              properties:
  1528                                effect:
  1529                                  description: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
  1530                                  type: string
  1531                                key:
  1532                                  description: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.
  1533                                  type: string
  1534                                operator:
  1535                                  description: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
  1536                                  type: string
  1537                                tolerationSeconds:
  1538                                  description: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
  1539                                  format: int64
  1540                                  type: integer
  1541                                value:
  1542                                  description: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
  1543                                  type: string
  1544                              type: object
  1545                            type: array
  1546                        type: object
  1547                    required:
  1548                      - apiserver
  1549                      - controllerManager
  1550                      - etcd
  1551                      - scheduler
  1552                    type: object
  1553                  containerRuntime:
  1554                    default: containerd
  1555                    description: ContainerRuntime to use, i.e. `docker` or `containerd`. By default `containerd` will be used.
  1556                    enum:
  1557                      - docker
  1558                      - containerd
  1559                    type: string
  1560                  debugLog:
  1561                    description: Enables more verbose logging in KKP's user-cluster-controller-manager.
  1562                    type: boolean
  1563                  enableOperatingSystemManager:
  1564                    description: 'Optional: Enables operating-system-manager (OSM), which is responsible for creating and managing worker node configuration. This field is enabled(true) by default.'
  1565                    type: boolean
  1566                  eventRateLimitConfig:
  1567                    description: 'Optional: Configures the EventRateLimit admission plugin (if enabled via `useEventRateLimitAdmissionPlugin`) to create limits on Kubernetes event generation. The EventRateLimit plugin is capable of comparing and rate limiting incoming `Events` based on several configured buckets.'
  1568                    properties:
  1569                      namespace:
  1570                        properties:
  1571                          burst:
  1572                            format: int32
  1573                            type: integer
  1574                          cacheSize:
  1575                            format: int32
  1576                            type: integer
  1577                          qps:
  1578                            format: int32
  1579                            type: integer
  1580                        required:
  1581                          - burst
  1582                          - qps
  1583                        type: object
  1584                      server:
  1585                        properties:
  1586                          burst:
  1587                            format: int32
  1588                            type: integer
  1589                          cacheSize:
  1590                            format: int32
  1591                            type: integer
  1592                          qps:
  1593                            format: int32
  1594                            type: integer
  1595                        required:
  1596                          - burst
  1597                          - qps
  1598                        type: object
  1599                      sourceAndObject:
  1600                        properties:
  1601                          burst:
  1602                            format: int32
  1603                            type: integer
  1604                          cacheSize:
  1605                            format: int32
  1606                            type: integer
  1607                          qps:
  1608                            format: int32
  1609                            type: integer
  1610                        required:
  1611                          - burst
  1612                          - qps
  1613                        type: object
  1614                      user:
  1615                        properties:
  1616                          burst:
  1617                            format: int32
  1618                            type: integer
  1619                          cacheSize:
  1620                            format: int32
  1621                            type: integer
  1622                          qps:
  1623                            format: int32
  1624                            type: integer
  1625                        required:
  1626                          - burst
  1627                          - qps
  1628                        type: object
  1629                    type: object
  1630                  exposeStrategy:
  1631                    description: ExposeStrategy is the strategy used to expose a cluster control plane.
  1632                    enum:
  1633                      - NodePort
  1634                      - LoadBalancer
  1635                      - Tunneling
  1636                    type: string
  1637                  features:
  1638                    additionalProperties:
  1639                      type: boolean
  1640                    description: 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.
  1641                    type: object
  1642                  humanReadableName:
  1643                    description: HumanReadableName is the cluster name provided by the user.
  1644                    type: string
  1645                  imagePullSecret:
  1646                    description: 'Optional: ImagePullSecret references a secret with container registry credentials. This is passed to the machine-controller which sets the registry credentials on node level.'
  1647                    properties:
  1648                      name:
  1649                        description: name is unique within a namespace to reference a secret resource.
  1650                        type: string
  1651                      namespace:
  1652                        description: namespace defines the space within which the secret name must be unique.
  1653                        type: string
  1654                    type: object
  1655                    x-kubernetes-map-type: atomic
  1656                  kubernetesDashboard:
  1657                    description: KubernetesDashboard holds the configuration for the kubernetes-dashboard component.
  1658                    properties:
  1659                      enabled:
  1660                        description: Controls whether kubernetes-dashboard is deployed to the user cluster or not. Enabled by default.
  1661                        type: boolean
  1662                    type: object
  1663                  machineNetworks:
  1664                    items:
  1665                      description: MachineNetworkingConfig specifies the networking parameters used for IPAM.
  1666                      properties:
  1667                        cidr:
  1668                          type: string
  1669                        dnsServers:
  1670                          items:
  1671                            type: string
  1672                          type: array
  1673                        gateway:
  1674                          type: string
  1675                      required:
  1676                        - cidr
  1677                        - dnsServers
  1678                        - gateway
  1679                      type: object
  1680                    type: array
  1681                  mla:
  1682                    description: 'Optional: MLA contains monitoring, logging and alerting related settings for the user cluster.'
  1683                    properties:
  1684                      loggingEnabled:
  1685                        description: LoggingEnabled is the flag for enabling logging in user cluster.
  1686                        type: boolean
  1687                      loggingResources:
  1688                        description: LoggingResources is the resource requirements for user cluster promtail.
  1689                        properties:
  1690                          claims:
  1691                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1692                            items:
  1693                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1694                              properties:
  1695                                name:
  1696                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1697                                  type: string
  1698                              required:
  1699                                - name
  1700                              type: object
  1701                            type: array
  1702                            x-kubernetes-list-map-keys:
  1703                              - name
  1704                            x-kubernetes-list-type: map
  1705                          limits:
  1706                            additionalProperties:
  1707                              anyOf:
  1708                                - type: integer
  1709                                - type: string
  1710                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1711                              x-kubernetes-int-or-string: true
  1712                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1713                            type: object
  1714                          requests:
  1715                            additionalProperties:
  1716                              anyOf:
  1717                                - type: integer
  1718                                - type: string
  1719                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1720                              x-kubernetes-int-or-string: true
  1721                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1722                            type: object
  1723                        type: object
  1724                      monitoringEnabled:
  1725                        description: MonitoringEnabled is the flag for enabling monitoring in user cluster.
  1726                        type: boolean
  1727                      monitoringReplicas:
  1728                        description: MonitoringReplicas is the number of desired pods of user cluster prometheus deployment.
  1729                        format: int32
  1730                        type: integer
  1731                      monitoringResources:
  1732                        description: MonitoringResources is the resource requirements for user cluster prometheus.
  1733                        properties:
  1734                          claims:
  1735                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1736                            items:
  1737                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1738                              properties:
  1739                                name:
  1740                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1741                                  type: string
  1742                              required:
  1743                                - name
  1744                              type: object
  1745                            type: array
  1746                            x-kubernetes-list-map-keys:
  1747                              - name
  1748                            x-kubernetes-list-type: map
  1749                          limits:
  1750                            additionalProperties:
  1751                              anyOf:
  1752                                - type: integer
  1753                                - type: string
  1754                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1755                              x-kubernetes-int-or-string: true
  1756                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1757                            type: object
  1758                          requests:
  1759                            additionalProperties:
  1760                              anyOf:
  1761                                - type: integer
  1762                                - type: string
  1763                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1764                              x-kubernetes-int-or-string: true
  1765                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1766                            type: object
  1767                        type: object
  1768                    type: object
  1769                  oidc:
  1770                    properties:
  1771                      clientID:
  1772                        type: string
  1773                      clientSecret:
  1774                        type: string
  1775                      extraScopes:
  1776                        type: string
  1777                      groupsClaim:
  1778                        type: string
  1779                      issuerURL:
  1780                        type: string
  1781                      requiredClaim:
  1782                        type: string
  1783                      usernameClaim:
  1784                        type: string
  1785                    type: object
  1786                  opaIntegration:
  1787                    description: 'Optional: OPAIntegration is a preview feature that enables OPA integration for the cluster. Enabling it causes OPA Gatekeeper and its resources to be deployed on the user cluster. By default it is disabled.'
  1788                    properties:
  1789                      auditResources:
  1790                        description: 'Optional: AuditResources is the resource requirements for user cluster gatekeeper audit.'
  1791                        properties:
  1792                          claims:
  1793                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1794                            items:
  1795                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1796                              properties:
  1797                                name:
  1798                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1799                                  type: string
  1800                              required:
  1801                                - name
  1802                              type: object
  1803                            type: array
  1804                            x-kubernetes-list-map-keys:
  1805                              - name
  1806                            x-kubernetes-list-type: map
  1807                          limits:
  1808                            additionalProperties:
  1809                              anyOf:
  1810                                - type: integer
  1811                                - type: string
  1812                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1813                              x-kubernetes-int-or-string: true
  1814                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1815                            type: object
  1816                          requests:
  1817                            additionalProperties:
  1818                              anyOf:
  1819                                - type: integer
  1820                                - type: string
  1821                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1822                              x-kubernetes-int-or-string: true
  1823                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1824                            type: object
  1825                        type: object
  1826                      controllerResources:
  1827                        description: 'Optional: ControllerResources is the resource requirements for user cluster gatekeeper controller.'
  1828                        properties:
  1829                          claims:
  1830                            description: "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. \n This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. \n This field is immutable. It can only be set for containers."
  1831                            items:
  1832                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  1833                              properties:
  1834                                name:
  1835                                  description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
  1836                                  type: string
  1837                              required:
  1838                                - name
  1839                              type: object
  1840                            type: array
  1841                            x-kubernetes-list-map-keys:
  1842                              - name
  1843                            x-kubernetes-list-type: map
  1844                          limits:
  1845                            additionalProperties:
  1846                              anyOf:
  1847                                - type: integer
  1848                                - type: string
  1849                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1850                              x-kubernetes-int-or-string: true
  1851                            description: 'Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1852                            type: object
  1853                          requests:
  1854                            additionalProperties:
  1855                              anyOf:
  1856                                - type: integer
  1857                                - type: string
  1858                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1859                              x-kubernetes-int-or-string: true
  1860                            description: 'Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1861                            type: object
  1862                        type: object
  1863                      enabled:
  1864                        description: Enables OPA Gatekeeper integration.
  1865                        type: boolean
  1866                      experimentalEnableMutation:
  1867                        description: 'Optional: Enables experimental mutation in Gatekeeper.'
  1868                        type: boolean
  1869                      webhookTimeoutSeconds:
  1870                        default: 10
  1871                        description: The timeout in seconds that is set for the Gatekeeper validating webhook admission review calls. Defaults to `10` (seconds).
  1872                        format: int32
  1873                        type: integer
  1874                    type: object
  1875                  pause:
  1876                    default: false
  1877                    description: If this is set to true, the cluster will not be reconciled by KKP. This indicates that the user needs to do some action to resolve the pause.
  1878                    type: boolean
  1879                  pauseReason:
  1880                    description: PauseReason is the reason why the cluster is not being managed. This field is for informational purpose only and can be set by a user or a controller to communicate the reason for pausing the cluster.
  1881                    type: string
  1882                  podNodeSelectorAdmissionPluginConfig:
  1883                    additionalProperties:
  1884                      type: string
  1885                    description: 'Optional: Provides configuration for the PodNodeSelector admission plugin (needs plugin enabled via `usePodNodeSelectorAdmissionPlugin`). It''s used by the backend to create a configuration file for this plugin. The key:value from this map is converted to <namespace>:<node-selectors-labels> in the file. Use `clusterDefaultNodeSelector` as key to configure a default node selector.'
  1886                    type: object
  1887                  serviceAccount:
  1888                    description: 'Optional: ServiceAccount contains service account related settings for the user cluster''s kube-apiserver.'
  1889                    properties:
  1890                      apiAudiences:
  1891                        description: APIAudiences are the Identifiers of the API If this is not specified, it will be set to a single element list containing the issuer URL
  1892                        items:
  1893                          type: string
  1894                        type: array
  1895                      issuer:
  1896                        description: Issuer is the identifier of the service account token issuer If this is not specified, it will be set to the URL of apiserver by default
  1897                        type: string
  1898                      tokenVolumeProjectionEnabled:
  1899                        type: boolean
  1900                    type: object
  1901                  updateWindow:
  1902                    description: 'Optional: UpdateWindow configures automatic update systems to respect a maintenance window for applying OS updates to nodes. This is only respected on Flatcar nodes currently.'
  1903                    properties:
  1904                      length:
  1905                        description: Sets the length of the update window beginning with the start time. This needs to be a valid duration as parsed by Go's time.ParseDuration (https://pkg.go.dev/time#ParseDuration), e.g. `2h`.
  1906                        type: string
  1907                      start:
  1908                        description: Sets the start time of the update window. This can be a time of day in 24h format, e.g. `22:30`, or a day of week plus a time of day, for example `Mon 21:00`. Only short names for week days are supported, i.e. `Mon`, `Tue`, `Wed`, `Thu`, `Fri`, `Sat` and `Sun`.
  1909                        type: string
  1910                    type: object
  1911                  useEventRateLimitAdmissionPlugin:
  1912                    description: Enables the admission plugin `EventRateLimit`. Needs additional configuration via the `eventRateLimitConfig` field. This plugin is considered "alpha" by Kubernetes.
  1913                    type: boolean
  1914                  usePodNodeSelectorAdmissionPlugin:
  1915                    description: Enables the admission plugin `PodNodeSelector`. Needs additional configuration via the `podNodeSelectorAdmissionPluginConfig` field.
  1916                    type: boolean
  1917                  usePodSecurityPolicyAdmissionPlugin:
  1918                    description: Enables the admission plugin `PodSecurityPolicy`. This plugin is deprecated by Kubernetes.
  1919                    type: boolean
  1920                  version:
  1921                    description: Version defines the wanted version of the control plane.
  1922                    type: string
  1923                required:
  1924                  - cloud
  1925                  - clusterNetwork
  1926                  - exposeStrategy
  1927                  - humanReadableName
  1928                  - version
  1929                type: object
  1930              status:
  1931                description: Status contains reconciliation information for the cluster.
  1932                properties:
  1933                  address:
  1934                    description: Address contains the IPs/URLs to access the cluster control plane.
  1935                    properties:
  1936                      adminToken:
  1937                        description: AdminToken is the token for the kubeconfig, the user can download
  1938                        type: string
  1939                      externalName:
  1940                        description: ExternalName is the DNS name for this cluster
  1941                        type: string
  1942                      internalURL:
  1943                        description: InternalName is the seed cluster internal absolute DNS name to the API server
  1944                        type: string
  1945                      ip:
  1946                        description: IP is the external IP under which the apiserver is available
  1947                        type: string
  1948                      port:
  1949                        description: Port is the port the API server listens on
  1950                        format: int32
  1951                        type: integer
  1952                      url:
  1953                        description: URL under which the Apiserver is available
  1954                        type: string
  1955                    type: object
  1956                  conditions:
  1957                    additionalProperties:
  1958                      properties:
  1959                        kubermaticVersion:
  1960                          description: KubermaticVersion current kubermatic version.
  1961                          type: string
  1962                        lastHeartbeatTime:
  1963                          description: Last time we got an update on a given condition.
  1964                          format: date-time
  1965                          type: string
  1966                        lastTransitionTime:
  1967                          description: Last time the condition transit from one status to another.
  1968                          format: date-time
  1969                          type: string
  1970                        message:
  1971                          description: Human readable message indicating details about last transition.
  1972                          type: string
  1973                        reason:
  1974                          description: (brief) reason for the condition's last transition.
  1975                          type: string
  1976                        status:
  1977                          description: Status of the condition, one of True, False, Unknown.
  1978                          type: string
  1979                      required:
  1980                        - kubermaticVersion
  1981                        - lastHeartbeatTime
  1982                        - status
  1983                      type: object
  1984                    description: Conditions contains conditions the cluster is in, its primary use case is status signaling between controllers or between controllers and the API.
  1985                    type: object
  1986                  errorMessage:
  1987                    description: ErrorMessage contains a default error message in case the controller encountered an error. Will be reset if the error was resolved.
  1988                    type: string
  1989                  errorReason:
  1990                    description: ErrorReason contains a error reason in case the controller encountered an error. Will be reset if the error was resolved.
  1991                    enum:
  1992                      - InvalidConfiguration
  1993                      - UnsupportedChange
  1994                      - ReconcileError
  1995                    type: string
  1996                  extendedHealth:
  1997                    description: ExtendedHealth exposes information about the current health state. Extends standard health status for new states.
  1998                    properties:
  1999                      alertmanagerConfig:
  2000                        enum:
  2001                          - HealthStatusDown
  2002                          - HealthStatusUp
  2003                          - HealthStatusProvisioning
  2004                        type: string
  2005                      applicationController:
  2006                        enum:
  2007                          - HealthStatusDown
  2008                          - HealthStatusUp
  2009                          - HealthStatusProvisioning
  2010                        type: string
  2011                      cloudProviderInfrastructure:
  2012                        enum:
  2013                          - HealthStatusDown
  2014                          - HealthStatusUp
  2015                          - HealthStatusProvisioning
  2016                        type: string
  2017                      etcd:
  2018                        enum:
  2019                          - HealthStatusDown
  2020                          - HealthStatusUp
  2021                          - HealthStatusProvisioning
  2022                        type: string
  2023                      gatekeeperAudit:
  2024                        enum:
  2025                          - HealthStatusDown
  2026                          - HealthStatusUp
  2027                          - HealthStatusProvisioning
  2028                        type: string
  2029                      gatekeeperController:
  2030                        enum:
  2031                          - HealthStatusDown
  2032                          - HealthStatusUp
  2033                          - HealthStatusProvisioning
  2034                        type: string
  2035                      konnectivity:
  2036                        enum:
  2037                          - HealthStatusDown
  2038                          - HealthStatusUp
  2039                          - HealthStatusProvisioning
  2040                        type: string
  2041                      kubernetesApiserver:
  2042                        enum:
  2043                          - HealthStatusDown
  2044                          - HealthStatusUp
  2045                          - HealthStatusProvisioning
  2046                        type: string
  2047                      kubernetesControllerManager:
  2048                        enum:
  2049                          - HealthStatusDown
  2050                          - HealthStatusUp
  2051                          - HealthStatusProvisioning
  2052                        type: string
  2053                      kubernetesDashboard:
  2054                        enum:
  2055                          - HealthStatusDown
  2056                          - HealthStatusUp
  2057                          - HealthStatusProvisioning
  2058                        type: string
  2059                      kubernetesScheduler:
  2060                        enum:
  2061                          - HealthStatusDown
  2062                          - HealthStatusUp
  2063                          - HealthStatusProvisioning
  2064                        type: string
  2065                      logging:
  2066                        enum:
  2067                          - HealthStatusDown
  2068                          - HealthStatusUp
  2069                          - HealthStatusProvisioning
  2070                        type: string
  2071                      machineController:
  2072                        enum:
  2073                          - HealthStatusDown
  2074                          - HealthStatusUp
  2075                          - HealthStatusProvisioning
  2076                        type: string
  2077                      mlaGateway:
  2078                        enum:
  2079                          - HealthStatusDown
  2080                          - HealthStatusUp
  2081                          - HealthStatusProvisioning
  2082                        type: string
  2083                      monitoring:
  2084                        enum:
  2085                          - HealthStatusDown
  2086                          - HealthStatusUp
  2087                          - HealthStatusProvisioning
  2088                        type: string
  2089                      openvpn:
  2090                        enum:
  2091                          - HealthStatusDown
  2092                          - HealthStatusUp
  2093                          - HealthStatusProvisioning
  2094                        type: string
  2095                      operatingSystemManager:
  2096                        enum:
  2097                          - HealthStatusDown
  2098                          - HealthStatusUp
  2099                          - HealthStatusProvisioning
  2100                        type: string
  2101                      userClusterControllerManager:
  2102                        enum:
  2103                          - HealthStatusDown
  2104                          - HealthStatusUp
  2105                          - HealthStatusProvisioning
  2106                        type: string
  2107                    type: object
  2108                  inheritedLabels:
  2109                    additionalProperties:
  2110                      type: string
  2111                    description: InheritedLabels are labels the cluster inherited from the project. They are read-only for users.
  2112                    type: object
  2113                  lastProviderReconciliation:
  2114                    description: LastProviderReconciliation is the time when the cloud provider resources were last fully reconciled (during normal cluster reconciliation, KKP does not re-check things like security groups, networks etc.).
  2115                    format: date-time
  2116                    type: string
  2117                  lastUpdated:
  2118                    format: date-time
  2119                    type: string
  2120                  namespaceName:
  2121                    description: NamespaceName defines the namespace the control plane of this cluster is deployed in.
  2122                    type: string
  2123                  phase:
  2124                    description: Phase is a description of the current cluster status, summarizing the various conditions, possible active updates etc. This field is for informational purpose only and no logic should be tied to the phase.
  2125                    enum:
  2126                      - Creating
  2127                      - Updating
  2128                      - Running
  2129                      - Terminating
  2130                    type: string
  2131                  userEmail:
  2132                    description: UserEmail contains the email of the owner of this cluster. During cluster creation only, this field will be used to bind the `cluster-admin` `ClusterRole` to a cluster owner.
  2133                    type: string
  2134                  userName:
  2135                    description: 'Deprecated: UserName contains the name of the owner of this cluster. This field is not actively used and will be removed in the future.'
  2136                    type: string
  2137                  versions:
  2138                    description: Versions contains information regarding the current and desired versions of the cluster control plane and worker nodes.
  2139                    properties:
  2140                      apiserver:
  2141                        description: Apiserver is the currently desired version of the kube-apiserver. During upgrades across multiple minor versions (e.g. from 1.20 to 1.23), this will gradually be increased by the update-controller until the desired cluster version (spec.version) is reached.
  2142                        type: string
  2143                      controlPlane:
  2144                        description: ControlPlane is the currently active cluster version. This can lag behind the apiserver version if an update is currently rolling out.
  2145                        type: string
  2146                      controllerManager:
  2147                        description: ControllerManager is the currently desired version of the kube-controller-manager. This field behaves the same as the apiserver field.
  2148                        type: string
  2149                      oldestNodeVersion:
  2150                        description: OldestNodeVersion is the oldest node version currently in use inside the cluster. This can be nil if there are no nodes. This field is primarily for speeding up reconciling, so that the controller doesn't have to re-fetch to the usercluster and query its node on every reconciliation.
  2151                        type: string
  2152                      scheduler:
  2153                        description: Scheduler is the currently desired version of the kube-scheduler. This field behaves the same as the apiserver field.
  2154                        type: string
  2155                    required:
  2156                      - apiserver
  2157                      - controlPlane
  2158                      - controllerManager
  2159                      - scheduler
  2160                    type: object
  2161                type: object
  2162            type: object
  2163        served: true
  2164        storage: true
  2165        subresources:
  2166          status: {}