# Extended Config Schema (Recommended)

V3 Cluster configuration for MKS cluster

| Field | Description | Type |
| --- | --- | --- |
| [apiVersion](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#apiVersion):<br> infra.k8smgmt.io/v3 |  | string |
| [kind](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#kind):<br> Cluster |  | string |
| [name](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#metadata-name): | Cluster name | string |
| [description](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#metadata-description): | Cluster Description | string |
| [project](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#metadata-project): | Project under which the cluster is created | string |
| [labels](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#metadata-labels):<br> {} | Cluster labels | object |
| [annotations](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#metadata-annotations):<br> {} | Cluster annotations | object |
| [type](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-type): | Cluster type mks | string |
| [name](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-blueprint-name): | Blueprint name associated with the cluster | string |
| [version](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-blueprint-version): | Blueprint version associated with the cluster. If not provided, the latest version is used | string |
| [cloudCredentials](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-cloudCredentials): | SSH credentials used to create and manage the cluster. Mandatory for system sync | string |
| [location](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-location): | Data Center location where cluster is created | string |
| [autoApproveNodes](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-autoApproveNodes):<br> false | Auto approves incoming nodes by default | boolean |
| [dedicatedMastersEnabled](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-dedicatedMastersEnabled):<br> false | This is deprecated in favour of dedicatedControlPlane | boolean |
| [dedicatedControlPlane](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-dedicatedControlPlane):<br> false | Select this option for preventing scheduling of user workloads on Control Plane nodes | boolean |
| [kubernetesVersion](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-kubernetesVersion): | kubernetes version for the cluster | string |
| [installerTtl](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-installerTtl): | Installer TTL Configuration | string |
| [kubeletExtraArgs](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-kubeletExtraArgs): | Customize kubelet via cluster level kubelet extra arguments | object |
| [kubeletConfigurationOverrides](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-kubeletConfigurationOverrides): | Customize kubelet via cluster level kubelet configuration overrides | string |
| [platformVersion](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-platformVersion): | Platform version for cluster components | string |
| [highAvailability](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-highAvailability):<br> false | Select this option for highly available control plane. Minimum three control plane nodes are required | boolean |
| [strategy](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-kubernetesUpgrade-strategy): | Kubernetes upgrade strategy for worker nodes and Valid options are : concurrent/sequential | string |
| [workerConcurrency](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-kubernetesUpgrade-params-workerConcurrency): | Number or percentage of workers to upgrade concurrently | string |
| [name](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-cni-name): | Name of the CNI plugin. Valid options are : Calico, Cilium, Canal | string |
| [version](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-cni-version): | Version of the CNI plugin | string |
| [podSubnet](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-podSubnet): | Subnet for pod networking. If not provided, 10.244.0.0/16 is allocated | string |
| [serviceSubnet](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-serviceSubnet): | Subnet allocated for K8s services. If not provided, 10.96.0.0/12 is allocated | string |
| [podSubnet](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-ipv6-podSubnet): | Subnet for pod networking | string |
| [serviceSubnet](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-network-ipv6-serviceSubnet): | Subnet allocated for K8s services | string |
| -<br> [hostname](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-hostname): | Hostname of the node | string |
| -<br> [operatingSystem](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-operatingSystem): | Operating system of the node | string |
| -<br> [kubeletExtraArgs](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-kubeletExtraArgs): | Customize kubelet via node level kubelet extra arguments | object |
| -<br> [kubeletConfigurationOverrides](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-kubeletConfigurationOverrides): | Customize kubelet via node level kubelet configuration overrides | string |
| -<br> [arch](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-arch): | Architecture of the node | string |
| -<br> [interface](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-interface): | Network interface of the node | string |
| -<br> [privateIP](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-privateIP): | Private IP address of the node | string |
| -<br> [roles](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-roles): | Roles assigned to the node, Valid roles are : ControlPlane, Worker, Storage | string\[\] |
| -<br> [key](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-labels-key): | Key for the node label | string |
| -<br> [value](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-labels-value): | Value for the node label | string |
| -<br> [effect](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-taints-effect): | Available effects are NoSchedule, PreferNoSchedule, NoExecute | string |
| -<br> [key](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-taints-key): | Key for this Taint effect | string |
| -<br> [value](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-taints-value): | Value for this Taint effect | string |
| [privateKeyPath](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-ssh-privateKeyPath): | Path to the SSH private key | string |
| [username](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-ssh-username): | SSH username | string |
| [port](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-ssh-port): | SSH port | string |
| [passphrase](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-ssh-passphrase): | Passphrase for SSH | string |
| [ipAddress](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-nodes-ssh-ipAddress): | IP address for SSH | string |
| [privateKeyPath](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-ssh-privateKeyPath): | Path to the SSH private key | string |
| [username](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-ssh-username): | SSH username | string |
| [port](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-ssh-port): | SSH port | string |
| [passphrase](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-config-ssh-passphrase): | Passphrase for SSH | string |
| -<br> [key](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-tolerations-key): | 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 | string |
| -<br> [operator](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-tolerations-operator): | Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. | string |
| -<br> [value](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-tolerations-value): | Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string | string |
| -<br> [effect](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-tolerations-effect): | Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute | string |
| -<br> [tolerationSeconds](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-tolerations-tolerationSeconds): | Seconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint | integer |
| [nodeSelector](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-nodeSelector): | nodeSelector to apply to system components | object |
| [nodeSelectionEnabled](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-nodeSelectionEnabled):<br> false | represents nodeSelector to be added in daemon sets | boolean |
| -<br> [key](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-tolerations-key): | 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 | string |
| -<br> [operator](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-tolerations-operator): | Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. | string |
| -<br> [value](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-tolerations-value): | Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string | string |
| -<br> [effect](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-tolerations-effect): | Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute | string |
| -<br> [tolerationSeconds](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-systemComponentsPlacement-daemonSetOverride-tolerations-tolerationSeconds): | Seconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint | integer |
| [enabled](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-enabled):<br> false | Enable this option if your infrastructure is running behind a proxy | boolean |
| [httpProxy](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-httpProxy): | Configure proxy information with protocol, host and port information. Ex : http://proxy.example.com:8080/ | string |
| [httpsProxy](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-httpsProxy): | Configure proxy information with protocol, host and port information. Ex : https://proxy.example.com:8080/ | string |
| [noProxy](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-noProxy): | Comma separated list of hosts that need connectivity without proxy. Ex : example.com, 10.96.0.0/12, 10.244.0.0/16 | string |
| [proxyAuth](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-proxyAuth): |  | string |
| [allowInsecureBootstrap](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-allowInsecureBootstrap):<br> false | Select this option if proxy is terminating/inspecting TLS traffic | boolean |
| [bootstrapCA](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-proxy-bootstrapCA): | Root CA certificate of the proxy | string |
| [enabled](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-sharing-enabled):<br> false | Enable sharing for this resource. | boolean |
| -<br> [name](https://docs.rafay.co/clusters/upstream/mks_v3_schema/#spec-sharing-projects-name): | The name of the project to share the resource. | string |
