| Field | Type | Description | Value(s) |
|---|
version | string | Indicates the schema used to decode the contents. | v1alpha1
|
debug | bool | | true
yes
false
no
|
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 | | controlplane
worker
|
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. | |
install | InstallConfig | | |
files | MachineFile | Allows the addition of user specified files. Supported paths and operations are listed under files[]. | |
env | Env | | GRPC_GO_LOG_VERBOSITY_LEVEL
GRPC_GO_LOG_SEVERITY_LEVEL
http_proxy
https_proxy
no_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. | |
baseRuntimeSpecOverrides | Unstructured | | |
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.
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. | true
yes
false
no
|
registerWithFQDN | bool | | true
yes
false
no
|
nodeIP | KubeletNodeIPConfig | | |
skipNodeRegistration | bool | | true
yes
false
no
|
disableManifestsDirectory | bool | | true
yes
false
no
|
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 | | |
searchDomains | []string | Used to statically set arbitrary search domains. | |
extraHostEntries | ExtraHost | Allows for extra entries to be added to the /etc/hosts file | |
kubespan | NetworkKubeSpan | Configures KubeSpan feature. | |
disableSearchDomain | bool | | true
yes
false
no
|
interfaces[]
Device represents a network interface.
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 (MAC) address, supports matching by wildcard. | |
permanentAddr | string | | |
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 (MAC) address, supports matching by wildcard. | |
permanentAddr | string | | |
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. | |
bridgePort
BridgePort contains settings for assigning a link to a bridge interface.
| Field | Type | Description | Value(s) |
|---|
master | string | The name of the bridge master interface | |
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. | |
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 | | |
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 | | |
wipe | bool | | true
yes
false
no
|
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. | ssd
hdd
nvme
sd
|
busPath | string | Disk bus path. | |
files[]
MachineFile represents a file to write to disk.
Entries are processed at boot, are not validated when the configuration is applied, and require a reboot to change.
create: allowed only under /var, directly in /etc/kubernetes/manifests, and for /etc/cri/conf.d/20-customization.part.
overwrite and append: path must be an existing regular file.
/etc/cri/conf.d/20-customization.part is merged into the containerd configuration.
- Files directly in
/etc/kubernetes/manifests are written in place.
- All other paths outside
/var are written under /var and bind-mounted over the original.
| 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 | create
append
overwrite
|
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.
mirrors.*
RegistryMirrorConfig represents mirror configuration for a registry.
| Field | Type | Description | Value(s) |
|---|
endpoints | []string | | |
overridePath | bool | | |
skipFallback | bool | | |
config.*
RegistryConfig specifies auth & TLS config per registry.
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.
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-plain64
xchacha12,aes-adiantum-plain64
xchacha20,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_workqueue
no_write_workqueue
same_cpu_crypt
|
keys[]
EncryptionKey represents configuration for disk encryption key.
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-plain64
xchacha12,aes-adiantum-plain64
xchacha20,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_workqueue
no_write_workqueue
same_cpu_crypt
|
keys[]
EncryptionKey represents configuration for disk encryption key.
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. | |
imageCache | ImageCacheConfig | Enable Image Cache feature. | |
nodeAddressSortAlgorithm | string | | |
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 | | |
imageCache
ImageCacheConfig describes the configuration for the Image Cache feature.
| Field | Type | Description | Value(s) |
|---|
localEnabled | bool | Enable local image cache. | |
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.
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.
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. | true
yes
false
no
|
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. | flannel
custom
none
|
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. | |
authorizationConfig | AuthorizationConfigAuthorizerConfig | Configure the API server authorization config. Node and RBAC authorizers are always added irrespective of the configuration. | |
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. | |
authorizationConfig[]
AuthorizationConfigAuthorizerConfig represents the API server authorization config authorizer configuration.
| Field | Type | Description | Value(s) |
|---|
type | string | Type is the name of the authorizer. Allowed values are Node, RBAC, and Webhook. | |
name | string | Name is used to describe the authorizer. | |
webhook | Unstructured | webhook is the configuration for the webhook authorizer. | |
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. | |
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. | |
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.
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. | true
yes
false
no
|
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 | | |