| Field | Type | Description | Value(s) |
|---|---|---|---|
version | string | Indicates the schema used to decode the contents. | v1alpha1 |
debug | bool | trueyesfalseno | |
machine | MachineConfig | Provides machine specific configuration options. | |
cluster | ClusterConfig | Provides cluster specific configuration options. |
machine
MachineConfig represents the machine-specific config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
type | string | controlplaneworker | |
token | string | ||
ca | PEMEncodedCertificateAndKey | ||
acceptedCAs | []PEMEncodedCertificate | ||
certSANs | []string | ||
controlPlane | MachineControlPlaneConfig | Provides machine specific control plane configuration options. | |
kubelet | KubeletConfig | Used to provide additional options to the kubelet. | |
pods | []Unstructured | ||
network | NetworkConfig | Provides machine specific network configuration options. | |
disks | MachineDisk | ||
install | InstallConfig | ||
files | MachineFile | ||
env | Env | GRPC_GO_LOG_VERBOSITY_LEVELGRPC_GO_LOG_SEVERITY_LEVELhttp_proxyhttps_proxyno_proxy | |
time | TimeConfig | Used to configure the machine’s time settings. | |
sysctls | map[string]string | Used to configure the machine’s sysctls. | |
sysfs | map[string]string | Used to configure the machine’s sysfs. | |
registries | RegistriesConfig | ||
systemDiskEncryption | SystemDiskEncryptionConfig | ||
features | FeaturesConfig | Features describe individual Talos features that can be switched on or off. | |
udev | UdevConfig | Configures the udev system. | |
logging | LoggingConfig | Configures the logging system. | |
kernel | KernelConfig | Configures the kernel. | |
seccompProfiles | MachineSeccompProfile | Configures the seccomp profiles for the machine. | |
nodeLabels | map[string]string | ||
nodeAnnotations | map[string]string | Configures the node annotations for the machine. | |
nodeTaints | map[string]string |
controlPlane
MachineControlPlaneConfig machine specific configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
controllerManager | MachineControllerManagerConfig | Controller manager machine specific configuration options. | |
scheduler | MachineSchedulerConfig | Scheduler machine specific configuration options. |
controllerManager
MachineControllerManagerConfig represents the machine specific ControllerManager config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable kube-controller-manager on the node. |
scheduler
MachineSchedulerConfig represents the machine specific Scheduler config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable kube-scheduler on the node. |
kubelet
KubeletConfig represents the kubelet config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | The image field is an optional reference to an alternative kubelet image. | |
clusterDNS | []string | The ClusterDNS field is an optional reference to an alternative kubelet clusterDNS ip list. | |
extraArgs | map[string]string | The extraArgs field is used to provide additional flags to the kubelet. | |
extraMounts | ExtraMount | ||
extraConfig | Unstructured | ||
credentialProviderConfig | Unstructured | The KubeletCredentialProviderConfig field is used to provide kubelet credential configuration. | |
defaultRuntimeSeccompProfileEnabled | bool | Enable container runtime default Seccomp profile. | trueyesfalseno |
registerWithFQDN | bool | trueyesfalseno | |
nodeIP | KubeletNodeIPConfig | ||
skipNodeRegistration | bool | trueyesfalseno | |
disableManifestsDirectory | bool | trueyesfalseno |
extraMounts[]
ExtraMount wraps OCI Mount specification.| Field | Type | Description | Value(s) |
|---|---|---|---|
destination | string | Destination is the absolute path where the mount will be placed in the container. | |
type | string | Type specifies the mount kind. | |
source | string | Source specifies the source path of the mount. | |
options | []string | Options are fstab style mount options. | |
uidMappings | LinuxIDMapping | ||
gidMappings | LinuxIDMapping |
uidMappings[]
LinuxIDMapping represents the Linux ID mapping.| Field | Type | Description | Value(s) |
|---|---|---|---|
containerID | uint32 | ContainerID is the starting UID/GID in the container. | |
hostID | uint32 | HostID is the starting UID/GID on the host to be mapped to ‘ContainerID’. | |
size | uint32 | Size is the number of IDs to be mapped. |
gidMappings[]
LinuxIDMapping represents the Linux ID mapping.| Field | Type | Description | Value(s) |
|---|---|---|---|
containerID | uint32 | ContainerID is the starting UID/GID in the container. | |
hostID | uint32 | HostID is the starting UID/GID on the host to be mapped to ‘ContainerID’. | |
size | uint32 | Size is the number of IDs to be mapped. |
nodeIP
KubeletNodeIPConfig represents the kubelet node IP configuration.| Field | Type | Description | Value(s) |
|---|---|---|---|
validSubnets | []string |
network
NetworkConfig represents the machine’s networking config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
hostname | string | Used to statically set the hostname for the machine. | |
interfaces | Device | ||
nameservers | []string | ||
extraHostEntries | ExtraHost | Allows for extra entries to be added to the /etc/hosts file | |
kubespan | NetworkKubeSpan | Configures KubeSpan feature. | |
disableSearchDomain | bool | trueyesfalseno |
interfaces[]
Device represents a network interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
interface | string | ||
deviceSelector | NetworkDeviceSelector | ||
addresses | []string | ||
routes | Route | ||
bond | Bond | Bond specific options. | |
bridge | Bridge | Bridge specific options. | |
vlans | Vlan | VLAN specific options. | |
mtu | int | ||
dhcp | bool | ||
ignore | bool | Indicates if the interface should be ignored (skips configuration). | |
dummy | bool | ||
dhcpOptions | DHCPOptions | ||
wireguard | DeviceWireguardConfig | ||
vip | DeviceVIPConfig | Virtual (shared) IP address configuration. |
deviceSelector
NetworkDeviceSelector struct describes network device selector.| Field | Type | Description | Value(s) |
|---|---|---|---|
busPath | string | PCI, USB bus prefix, supports matching by wildcard. | |
hardwareAddr | string | Device hardware address, supports matching by wildcard. | |
pciID | string | PCI ID (vendor ID, product ID), supports matching by wildcard. | |
driver | string | Kernel driver, supports matching by wildcard. | |
physical | bool | Select only physical devices. |
routes[]
Route represents a network route.| Field | Type | Description | Value(s) |
|---|---|---|---|
network | string | The route’s network (destination). | |
gateway | string | The route’s gateway (if empty, creates link scope route). | |
source | string | The route’s source address (optional). | |
metric | uint32 | The optional metric for the route. | |
mtu | uint32 | The optional MTU for the route. |
bond
Bond contains the various options for configuring a bonded interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
interfaces | []string | The interfaces that make up the bond. | |
deviceSelectors | NetworkDeviceSelector | ||
arpIPTarget | []string | ||
mode | string | ||
xmitHashPolicy | string | ||
lacpRate | string | ||
adActorSystem | string | ||
arpValidate | string | ||
arpAllTargets | string | ||
primary | string | ||
primaryReselect | string | ||
failOverMac | string | ||
adSelect | string | ||
miimon | uint32 | ||
updelay | uint32 | ||
downdelay | uint32 | ||
arpInterval | uint32 | ||
resendIgmp | uint32 | ||
minLinks | uint32 | ||
lpInterval | uint32 | ||
packetsPerSlave | uint32 | ||
numPeerNotif | uint8 | ||
tlbDynamicLb | uint8 | ||
allSlavesActive | uint8 | ||
useCarrier | bool | ||
adActorSysPrio | uint16 | ||
adUserPortKey | uint16 | ||
peerNotifyDelay | uint32 |
deviceSelectors[]
NetworkDeviceSelector struct describes network device selector.| Field | Type | Description | Value(s) |
|---|---|---|---|
busPath | string | PCI, USB bus prefix, supports matching by wildcard. | |
hardwareAddr | string | Device hardware address, supports matching by wildcard. | |
pciID | string | PCI ID (vendor ID, product ID), supports matching by wildcard. | |
driver | string | Kernel driver, supports matching by wildcard. | |
physical | bool | Select only physical devices. |
bridge
Bridge contains the various options for configuring a bridge interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
interfaces | []string | The interfaces that make up the bridge. | |
stp | STP | ||
vlan | BridgeVLAN |
stp
STP contains the various options for configuring the STP properties of a bridge interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Whether Spanning Tree Protocol (STP) is enabled. |
vlan
BridgeVLAN contains the various options for configuring the VLAN properties of a bridge interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
vlanFiltering | bool | Whether VLAN filtering is enabled. |
vlans[]
Vlan represents vlan settings for a device.| Field | Type | Description | Value(s) |
|---|---|---|---|
addresses | []string | The addresses in CIDR notation or as plain IPs to use. | |
routes | Route | A list of routes associated with the VLAN. | |
dhcp | bool | Indicates if DHCP should be used. | |
vlanId | uint16 | The VLAN’s ID. | |
mtu | uint32 | The VLAN’s MTU. | |
vip | DeviceVIPConfig | The VLAN’s virtual IP address configuration. | |
dhcpOptions | DHCPOptions |
routes[]
Route represents a network route.| Field | Type | Description | Value(s) |
|---|---|---|---|
network | string | The route’s network (destination). | |
gateway | string | The route’s gateway (if empty, creates link scope route). | |
source | string | The route’s source address (optional). | |
metric | uint32 | The optional metric for the route. | |
mtu | uint32 | The optional MTU for the route. |
vip
DeviceVIPConfig contains settings for configuring a Virtual Shared IP on an interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
ip | string | Specifies the IP address to be used. | |
equinixMetal | VIPEquinixMetalConfig | Specifies the Equinix Metal API settings to assign VIP to the node. | |
hcloud | VIPHCloudConfig | Specifies the Hetzner Cloud API settings to assign VIP to the node. |
equinixMetal
VIPEquinixMetalConfig contains settings for Equinix Metal VIP management.| Field | Type | Description | Value(s) |
|---|---|---|---|
apiToken | string | Specifies the Equinix Metal API Token. |
hcloud
VIPHCloudConfig contains settings for Hetzner Cloud VIP management.| Field | Type | Description | Value(s) |
|---|---|---|---|
apiToken | string | Specifies the Hetzner Cloud API Token. |
dhcpOptions
DHCPOptions contains options for configuring the DHCP settings for a given interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
routeMetric | uint32 | The priority of all routes received via DHCP. | |
ipv4 | bool | Enables DHCPv4 protocol for the interface (default is enabled). | |
ipv6 | bool | Enables DHCPv6 protocol for the interface (default is disabled). | |
duidv6 | string | Set client DUID (hex string). |
dhcpOptions
DHCPOptions contains options for configuring the DHCP settings for a given interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
routeMetric | uint32 | The priority of all routes received via DHCP. | |
ipv4 | bool | Enables DHCPv4 protocol for the interface (default is enabled). | |
ipv6 | bool | Enables DHCPv6 protocol for the interface (default is disabled). | |
duidv6 | string | Set client DUID (hex string). |
wireguard
DeviceWireguardConfig contains settings for configuring Wireguard network interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
privateKey | string | ||
listenPort | int | Specifies a device’s listening port. | |
firewallMark | int | Specifies a device’s firewall mark. | |
peers | DeviceWireguardPeer | Specifies a list of peer configurations to apply to a device. |
peers[]
DeviceWireguardPeer a WireGuard device peer configuration.| Field | Type | Description | Value(s) |
|---|---|---|---|
publicKey | string | ||
endpoint | string | Specifies the endpoint of this peer entry. | |
persistentKeepaliveInterval | Duration | ||
allowedIPs | []string | AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer. |
vip
DeviceVIPConfig contains settings for configuring a Virtual Shared IP on an interface.| Field | Type | Description | Value(s) |
|---|---|---|---|
ip | string | Specifies the IP address to be used. | |
equinixMetal | VIPEquinixMetalConfig | Specifies the Equinix Metal API settings to assign VIP to the node. | |
hcloud | VIPHCloudConfig | Specifies the Hetzner Cloud API settings to assign VIP to the node. |
equinixMetal
VIPEquinixMetalConfig contains settings for Equinix Metal VIP management.| Field | Type | Description | Value(s) |
|---|---|---|---|
apiToken | string | Specifies the Equinix Metal API Token. |
hcloud
VIPHCloudConfig contains settings for Hetzner Cloud VIP management.| Field | Type | Description | Value(s) |
|---|---|---|---|
apiToken | string | Specifies the Hetzner Cloud API Token. |
extraHostEntries[]
ExtraHost represents a host entry in /etc/hosts.| Field | Type | Description | Value(s) |
|---|---|---|---|
ip | string | The IP of the host. | |
aliases | []string | The host alias. |
kubespan
NetworkKubeSpan struct describes KubeSpan configuration.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | ||
advertiseKubernetesNetworks | bool | ||
allowDownPeerBypass | bool | ||
harvestExtraEndpoints | bool | ||
mtu | uint32 | ||
filters | KubeSpanFilters |
filters
KubeSpanFilters struct describes KubeSpan advanced network addresses filtering.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoints | []string |
disks[]
MachineDisk represents the options available for partitioning, formatting, and mounting extra disks.| Field | Type | Description | Value(s) |
|---|---|---|---|
device | string | The name of the disk to use. | |
partitions | DiskPartition | A list of partitions to create on the disk. |
partitions[]
DiskPartition represents the options for a disk partition.| Field | Type | Description | Value(s) |
|---|---|---|---|
size | DiskSize | The size of partition: either bytes or human readable representation. If size: is omitted, the partition is sized to occupy the full disk. | |
mountpoint | string | Where to mount the partition. |
install
InstallConfig represents the installation options for preparing a node.| Field | Type | Description | Value(s) |
|---|---|---|---|
disk | string | The disk used for installations. | |
diskSelector | InstallDiskSelector | ||
extraKernelArgs | []string | ||
image | string | ||
extensions | InstallExtensionConfig | Allows for supplying additional system extension images to install on top of base Talos image. | |
wipe | bool | trueyesfalseno | |
legacyBIOSSupport | bool |
diskSelector
InstallDiskSelector represents a disk query parameters for the install disk lookup.| Field | Type | Description | Value(s) |
|---|---|---|---|
size | InstallDiskSizeMatcher | Disk size. | |
name | string | Disk name /sys/block/{"<"}dev{">"}/device/name. | |
model | string | Disk model /sys/block/{"<"}dev{">"}/device/model. | |
serial | string | Disk serial number /sys/block/{"<"}dev{">"}/serial. | |
modalias | string | Disk modalias /sys/block/{"<"}dev{">"}/device/modalias. | |
uuid | string | Disk UUID /sys/block/{"<"}dev{">"}/uuid. | |
wwid | string | Disk WWID /sys/block/{"<"}dev{">"}/wwid. | |
type | InstallDiskType | Disk Type. | ssdhddnvmesd |
busPath | string | Disk bus path. |
extensions[]
InstallExtensionConfig represents a configuration for a system extension.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | System extension image. |
files[]
MachineFile represents a file to write to disk.| Field | Type | Description | Value(s) |
|---|---|---|---|
content | string | The contents of the file. | |
permissions | FileMode | The file’s permissions in octal. | |
path | string | The path of the file. | |
op | string | The operation to use | createappendoverwrite |
time
TimeConfig represents the options for configuring time on a machine.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | ||
servers | []string | ||
bootTimeout | Duration |
registries
RegistriesConfig represents the image pull options.| Field | Type | Description | Value(s) |
|---|---|---|---|
mirrors | map[string]RegistryMirrorConfig | ||
config | map[string]RegistryConfig |
mirrors.*
RegistryMirrorConfig represents mirror configuration for a registry.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoints | []string | ||
overridePath | bool |
config.*
RegistryConfig specifies auth & TLS config per registry.| Field | Type | Description | Value(s) |
|---|---|---|---|
tls | RegistryTLSConfig | The TLS configuration for the registry. | |
auth | RegistryAuthConfig |
tls
RegistryTLSConfig specifies TLS config for HTTPS registries.| Field | Type | Description | Value(s) |
|---|---|---|---|
clientIdentity | PEMEncodedCertificateAndKey | ||
ca | Base64Bytes | ||
insecureSkipVerify | bool | Skip TLS server certificate verification (not recommended). |
auth
RegistryAuthConfig specifies authentication configuration for a registry.| Field | Type | Description | Value(s) |
|---|---|---|---|
username | string | ||
password | string | ||
auth | string | ||
identityToken | string |
systemDiskEncryption
SystemDiskEncryptionConfig specifies system disk partitions encryption settings.| Field | Type | Description | Value(s) |
|---|---|---|---|
state | EncryptionConfig | State partition encryption. | |
ephemeral | EncryptionConfig | Ephemeral partition encryption. |
state
EncryptionConfig represents partition encryption settings.| Field | Type | Description | Value(s) |
|---|---|---|---|
provider | string | Encryption provider to use for the encryption. | |
keys | EncryptionKey | Defines the encryption keys generation and storage method. | |
cipher | string | Cipher kind to use for the encryption. Depends on the encryption provider. | aes-xts-plain64xchacha12,aes-adiantum-plain64xchacha20,aes-adiantum-plain64 |
keySize | uint | Defines the encryption key length. | |
blockSize | uint64 | Defines the encryption sector size. | |
options | []string | Additional —perf parameters for the LUKS2 encryption. | no_read_workqueueno_write_workqueuesame_cpu_crypt |
keys[]
EncryptionKey represents configuration for disk encryption key.| Field | Type | Description | Value(s) |
|---|---|---|---|
static | EncryptionKeyStatic | Key which value is stored in the configuration file. | |
nodeID | EncryptionKeyNodeID | Deterministically generated key from the node UUID and PartitionLabel. | |
kms | EncryptionKeyKMS | KMS managed encryption key. | |
slot | int | Key slot number for LUKS2 encryption. | |
tpm | EncryptionKeyTPM | Enable TPM based disk encryption. |
static
EncryptionKeyStatic represents throw away key type.| Field | Type | Description | Value(s) |
|---|---|---|---|
passphrase | string | Defines the static passphrase value. |
nodeID
EncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.kms
EncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoint | string | KMS endpoint to Seal/Unseal the key. |
tpm
EncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.| Field | Type | Description | Value(s) |
|---|---|---|---|
checkSecurebootStatusOnEnroll | bool |
ephemeral
EncryptionConfig represents partition encryption settings.| Field | Type | Description | Value(s) |
|---|---|---|---|
provider | string | Encryption provider to use for the encryption. | |
keys | EncryptionKey | Defines the encryption keys generation and storage method. | |
cipher | string | Cipher kind to use for the encryption. Depends on the encryption provider. | aes-xts-plain64xchacha12,aes-adiantum-plain64xchacha20,aes-adiantum-plain64 |
keySize | uint | Defines the encryption key length. | |
blockSize | uint64 | Defines the encryption sector size. | |
options | []string | Additional —perf parameters for the LUKS2 encryption. | no_read_workqueueno_write_workqueuesame_cpu_crypt |
keys[]
EncryptionKey represents configuration for disk encryption key.| Field | Type | Description | Value(s) |
|---|---|---|---|
static | EncryptionKeyStatic | Key which value is stored in the configuration file. | |
nodeID | EncryptionKeyNodeID | Deterministically generated key from the node UUID and PartitionLabel. | |
kms | EncryptionKeyKMS | KMS managed encryption key. | |
slot | int | Key slot number for LUKS2 encryption. | |
tpm | EncryptionKeyTPM | Enable TPM based disk encryption. |
static
EncryptionKeyStatic represents throw away key type.| Field | Type | Description | Value(s) |
|---|---|---|---|
passphrase | string | Defines the static passphrase value. |
nodeID
EncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.kms
EncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoint | string | KMS endpoint to Seal/Unseal the key. |
tpm
EncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.| Field | Type | Description | Value(s) |
|---|---|---|---|
checkSecurebootStatusOnEnroll | bool |
features
FeaturesConfig describes individual Talos features that can be switched on or off.| Field | Type | Description | Value(s) |
|---|---|---|---|
rbac | bool | Enable role-based access control (RBAC). | |
stableHostname | bool | Enable stable default hostname. | |
kubernetesTalosAPIAccess | KubernetesTalosAPIAccessConfig | ||
apidCheckExtKeyUsage | bool | Enable checks for extended key usage of client certificates in apid. | |
diskQuotaSupport | bool | ||
kubePrism | KubePrism | ||
hostDNS | HostDNSConfig | Configures host DNS caching resolver. |
kubernetesTalosAPIAccess
KubernetesTalosAPIAccessConfig describes the configuration for the Talos API access from Kubernetes pods.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Enable Talos API access from Kubernetes pods. | |
allowedRoles | []string | ||
allowedKubernetesNamespaces | []string | The list of Kubernetes namespaces Talos API access is available from. |
kubePrism
KubePrism describes the configuration for the KubePrism load balancer.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Enable KubePrism support - will start local load balancing proxy. | |
port | int | KubePrism port. |
hostDNS
HostDNSConfig describes the configuration for the host DNS resolver.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Enable host DNS caching resolver. | |
forwardKubeDNSToHost | bool | ||
resolveMemberNames | bool |
udev
UdevConfig describes how the udev system should be configured.| Field | Type | Description | Value(s) |
|---|---|---|---|
rules | []string | List of udev rules to apply to the udev system |
logging
LoggingConfig struct configures Talos logging.| Field | Type | Description | Value(s) |
|---|---|---|---|
destinations | LoggingDestination | Logging destination. |
destinations[]
LoggingDestination struct configures Talos logging destination.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoint | Endpoint | Where to send logs. Supported protocols are “tcp” and “udp”. | |
format | string | Logs format. | json_lines |
extraTags | map[string]string | Extra tags (key-value) pairs to attach to every log message sent. |
endpoint
Endpoint represents the endpoint URL parsed out of the machine config.| Field | Type | Description | Value(s) |
|---|
kernel
KernelConfig struct configures Talos Linux kernel.| Field | Type | Description | Value(s) |
|---|---|---|---|
modules | KernelModuleConfig | Kernel modules to load. |
modules[]
KernelModuleConfig struct configures Linux kernel modules to load.| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | Module name. | |
parameters | []string | Module parameters, changes applied after reboot. |
seccompProfiles[]
MachineSeccompProfile defines seccomp profiles for the machine.| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | The name field is used to provide the file name of the seccomp profile. | |
value | Unstructured | The value field is used to provide the seccomp profile. |
cluster
ClusterConfig represents the cluster-wide config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
id | string | Globally unique identifier for this cluster (base64 encoded random 32 bytes). | |
secret | string | ||
controlPlane | ControlPlaneConfig | Provides control plane specific configuration options. | |
clusterName | string | Configures the cluster’s name. | |
network | ClusterNetworkConfig | Provides cluster specific network configuration options. | |
token | string | The bootstrap token used to join the cluster. | |
aescbcEncryptionSecret | string | ||
secretboxEncryptionSecret | string | ||
ca | PEMEncodedCertificateAndKey | The base64 encoded root certificate authority used by Kubernetes. | |
acceptedCAs | []PEMEncodedCertificate | The list of base64 encoded accepted certificate authorities used by Kubernetes. | |
aggregatorCA | PEMEncodedCertificateAndKey | ||
serviceAccount | PEMEncodedKey | The base64 encoded private key for service account token generation. | |
apiServer | APIServerConfig | API server specific configuration options. | |
controllerManager | ControllerManagerConfig | Controller manager server specific configuration options. | |
proxy | ProxyConfig | Kube-proxy server-specific configuration options | |
scheduler | SchedulerConfig | Scheduler server specific configuration options. | |
discovery | ClusterDiscoveryConfig | Configures cluster member discovery. | |
etcd | EtcdConfig | Etcd specific configuration options. | |
coreDNS | CoreDNS | Core DNS specific configuration options. | |
externalCloudProvider | ExternalCloudProviderConfig | External cloud provider configuration. | |
extraManifests | []string | ||
extraManifestHeaders | map[string]string | A map of key value pairs that will be added while fetching the extraManifests. | |
inlineManifests | ClusterInlineManifest | ||
adminKubeconfig | AdminKubeconfigConfig | ||
allowSchedulingOnControlPlanes | bool | Allows running workload on control-plane nodes. | trueyesfalseno |
controlPlane
ControlPlaneConfig represents the control plane configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
endpoint | Endpoint | ||
localAPIServerPort | int |
endpoint
Endpoint represents the endpoint URL parsed out of the machine config.| Field | Type | Description | Value(s) |
|---|
network
ClusterNetworkConfig represents kube networking configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
cni | CNIConfig | ||
dnsDomain | string | ||
podSubnets | []string | The pod subnet CIDR. | |
serviceSubnets | []string | The service subnet CIDR. |
cni
CNIConfig represents the CNI configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | Name of CNI to use. | flannelcustomnone |
urls | []string | ||
flannel | FlannelCNIConfig |
flannel
FlannelCNIConfig represents the Flannel CNI configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
extraArgs | []string | Extra arguments for ‘flanneld’. |
apiServer
APIServerConfig represents the kube apiserver configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | The container image used in the API server manifest. | |
extraArgs | map[string]string | Extra arguments to supply to the API server. | |
extraVolumes | VolumeMountConfig | Extra volumes to mount to the API server static pod. | |
env | Env | The env field allows for the addition of environment variables for the control plane component. | |
certSANs | []string | Extra certificate subject alternative names for the API server’s certificate. | |
disablePodSecurityPolicy | bool | Disable PodSecurityPolicy in the API server and default manifests. | |
admissionControl | AdmissionPluginConfig | Configure the API server admission plugins. | |
auditPolicy | Unstructured | Configure the API server audit policy. | |
resources | ResourcesConfig | Configure the API server resources. |
extraVolumes[]
VolumeMountConfig struct describes extra volume mount for the static pods.| Field | Type | Description | Value(s) |
|---|---|---|---|
hostPath | string | Path on the host. | |
mountPath | string | Path in the container. | |
readonly | bool | Mount the volume read only. |
admissionControl[]
AdmissionPluginConfig represents the API server admission plugin configuration.| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | ||
configuration | Unstructured |
resources
ResourcesConfig represents the pod resources.| Field | Type | Description | Value(s) |
|---|---|---|---|
requests | Unstructured | Requests configures the reserved cpu/memory resources. | |
limits | Unstructured | Limits configures the maximum cpu/memory resources a container can use. |
controllerManager
ControllerManagerConfig represents the kube controller manager configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | The container image used in the controller manager manifest. | |
extraArgs | map[string]string | Extra arguments to supply to the controller manager. | |
extraVolumes | VolumeMountConfig | Extra volumes to mount to the controller manager static pod. | |
env | Env | The env field allows for the addition of environment variables for the control plane component. | |
resources | ResourcesConfig | Configure the controller manager resources. |
extraVolumes[]
VolumeMountConfig struct describes extra volume mount for the static pods.| Field | Type | Description | Value(s) |
|---|---|---|---|
hostPath | string | Path on the host. | |
mountPath | string | Path in the container. | |
readonly | bool | Mount the volume read only. |
resources
ResourcesConfig represents the pod resources.| Field | Type | Description | Value(s) |
|---|---|---|---|
requests | Unstructured | Requests configures the reserved cpu/memory resources. | |
limits | Unstructured | Limits configures the maximum cpu/memory resources a container can use. |
proxy
ProxyConfig represents the kube proxy configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable kube-proxy deployment on cluster bootstrap. | |
image | string | The container image used in the kube-proxy manifest. | |
mode | string | ||
extraArgs | map[string]string | Extra arguments to supply to kube-proxy. |
scheduler
SchedulerConfig represents the kube scheduler configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | The container image used in the scheduler manifest. | |
extraArgs | map[string]string | Extra arguments to supply to the scheduler. | |
extraVolumes | VolumeMountConfig | Extra volumes to mount to the scheduler static pod. | |
env | Env | The env field allows for the addition of environment variables for the control plane component. | |
resources | ResourcesConfig | Configure the scheduler resources. | |
config | Unstructured | Specify custom kube-scheduler configuration. |
extraVolumes[]
VolumeMountConfig struct describes extra volume mount for the static pods.| Field | Type | Description | Value(s) |
|---|---|---|---|
hostPath | string | Path on the host. | |
mountPath | string | Path in the container. | |
readonly | bool | Mount the volume read only. |
resources
ResourcesConfig represents the pod resources.| Field | Type | Description | Value(s) |
|---|---|---|---|
requests | Unstructured | Requests configures the reserved cpu/memory resources. | |
limits | Unstructured | Limits configures the maximum cpu/memory resources a container can use. |
discovery
ClusterDiscoveryConfig struct configures cluster membership discovery.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | ||
registries | DiscoveryRegistriesConfig | Configure registries used for cluster member discovery. |
registries
DiscoveryRegistriesConfig struct configures cluster membership discovery.| Field | Type | Description | Value(s) |
|---|---|---|---|
kubernetes | RegistryKubernetesConfig | ||
service | RegistryServiceConfig | Service registry is using an external service to push and pull information about cluster members. |
kubernetes
RegistryKubernetesConfig struct configures Kubernetes discovery registry.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable Kubernetes discovery registry. |
service
RegistryServiceConfig struct configures Kubernetes discovery registry.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable external service discovery registry. | |
endpoint | string | External service endpoint. |
etcd
EtcdConfig represents the etcd configuration options.| Field | Type | Description | Value(s) |
|---|---|---|---|
image | string | The container image used to create the etcd service. | |
ca | PEMEncodedCertificateAndKey | ||
extraArgs | map[string]string | ||
advertisedSubnets | []string | ||
listenSubnets | []string |
coreDNS
CoreDNS represents the CoreDNS config values.| Field | Type | Description | Value(s) |
|---|---|---|---|
disabled | bool | Disable coredns deployment on cluster bootstrap. | |
image | string | The image field is an override to the default coredns image. |
externalCloudProvider
ExternalCloudProviderConfig contains external cloud provider configuration.| Field | Type | Description | Value(s) |
|---|---|---|---|
enabled | bool | Enable external cloud provider. | trueyesfalseno |
manifests | []string |
inlineManifests[]
ClusterInlineManifest struct describes inline bootstrap manifests for the user.| Field | Type | Description | Value(s) |
|---|---|---|---|
name | string | ||
contents | string | Manifest contents as a string. |
adminKubeconfig
AdminKubeconfigConfig contains admin kubeconfig settings.| Field | Type | Description | Value(s) |
|---|---|---|---|
certLifetime | Duration |