Configuration
Config
Package config contains all the options available for configuring a Talos cluster.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
clusterName |
string | Configures the cluster's name.Show example |
"" |
![]() |
endpoint |
string | Configures the cluster's controlplane endpoint.Can be an IP address or a DNS hostnameShow example |
"" |
![]() |
nodes |
[]Node | List of nodes configurationsShow example |
[] |
![]() |
talosVersion |
string | Talos version to perform the installation.Image reference for each Talos release can be found onTalos GitHub release page Show example |
"latest" |
![]() |
kubernetesVersion |
string | Allows for supplying the Kubernetes version to use.Show example |
"" |
![]() |
domain |
string | Allows for supplying the domain used by Kubernetes DNS.Show example |
"cluster.local" |
![]() |
allowSchedulingOnMasters |
bool | Whether to allow running workload on controlplane nodes.Show example |
false |
![]() |
allowSchedulingOnControlPlanes |
bool | Whether to allow running workload on controlplane nodes.It is an alias toallowSchedulingOnMastersShow example |
false |
![]() |
additionalMachineCertSans |
[]string | DEPRECATED! Use node/node groups certSANs. Extra certificate SANs for the machine's certificate.Show example |
[] |
![]() |
additionalApiServerCertSans |
[]string | Extra certificate SANs for the API server's certificate.Show example |
[] |
![]() |
clusterPodNets |
[]string | The pod subnet CIDR list.Show example |
nil |
![]() |
clusterSvcNets |
[]string | The service subnet CIDR list.Show example |
[] |
![]() |
cniConfig |
CNIConfig | The CNI to be used for the cluster's network.Show example |
[] |
![]() |
imageFactory |
ImageFactory | Configures selfhosted image factory.Show example |
nil |
![]() |
patches |
[]string | Patches to be applied to all nodes.List of strings containing RFC6902 (deprecated) JSON patches, strategic merge patches,or a file containing them Show example |
[] |
![]() |
inlineManifests |
[]InlineManifest | A list of inline Kubernetes manifests for the cluster.Show example |
[] |
![]() |
controlPlane |
NodeConfigs | Configurations targetted for all controlplane nodes.Show example |
nil |
![]() |
worker |
NodeConfigs | Configurations targetted for all worker nodes.Show example |
nil |
![]() |
Node
Node defines machine configurations for each node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
hostname |
string | Configures the hostname of a node.Show example |
"" |
![]() |
ipAddress |
string | IP address where the node can be reached, can be IP or comma separated list of IPs.Needed for endpoint and node address insidetalosconfig.Show example |
"" |
![]() |
installDisk |
string | The disk used for installation.Show example |
"" |
![]() |
installDiskSelector |
InstallDiskSelector | Look up disk used for installation.Required ifinstallDisk is not specified.Show example |
nil |
![]() |
controlPlane |
bool | Whether the node is a controlplane.Show example |
false |
![]() |
ignoreHostname |
bool | Whether to set It will also set stable hostname to |
false |
![]() |
overridePatches |
bool | Whether By default they will get appended instead. |
false |
![]() |
overrideExtraManifests |
bool | Whether By default they will get appended instead. |
false |
![]() |
overrideMachineCertSANs |
bool | Whether By default they will get appended instead. |
false |
![]() |
| - | NodeConfigs | Node specific configurations that will override node group configurations.Show example |
nil |
![]() |
NodeConfigs
NodeConfigs defines machine configurations.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
talosImageURL |
string | Allows for supplying the node level image used to perform the installation.Show example |
"" |
![]() |
machineSpec |
MachineSpec | Machine hardware specification for the node.Only used forgenurl image subcommand.Show example |
nil |
![]() |
filenameTmpl |
string | Go template for generated filename.Available placeholders:ClusterName,Hostname,IPAddress, RoleShow example |
{{.ClusterName}}-{{.Hostname}}.yaml |
![]() |
ingressFirewall |
IngressFirewall | Machine firewall specification for the node.Show example |
nil |
![]() |
extensionServices |
[]ExtensionService | Machine extension services specification for the node.Show example |
nil |
![]() |
volumes |
[]Volume | Machine volume configs specification.Show example |
nil |
![]() |
userVolumes |
[]UserVolume | Machine user volume configs specification.Show example |
nil |
![]() |
nodeLabels |
map[string]string | Labels to be added to the node.Show example |
false |
![]() |
nodeAnnotations |
map[string]string | Annotations to be added to the node.Show example |
false |
![]() |
nodeTaints |
map[string]string | Node taints for the node.Show example |
false |
![]() |
disableSearchDomain |
bool | Whether to disable generating default search domain.Show example |
false |
![]() |
machineDisks |
[]MachineDisk | DEPRECATED: use userVolumes instead.Show example |
[] |
![]() |
noSchematicValidate |
bool | Whether to skip schematic validation.Show example |
false |
![]() |
machineFiles |
[]MachineFile | List of additional files to create inside the node.Show example |
[] |
![]() |
schematic |
Schematic | Configure Talos image customization to be used in the installer imageShow example |
nil |
![]() |
imageSchematic |
Schematic | Configure Talos image customization to be used for ISO or boot imageShow example |
nil |
![]() |
kernelModules |
[]KernelModuleConfig | List of additional kernel modules to load.Show example |
[] |
![]() |
nameservers |
[]string | List of nameservers for the node.Show example |
[] |
![]() |
networkInterfaces |
[]Device | List of network interface configurations for the node.Show example |
[] |
![]() |
extraManifests |
[]string | DEPRECATED! Use patches instead.List of manifest files to be added for the node.Show example |
[] |
![]() |
certSANs |
[]string | Extra SANs in the machine's certificate.Show example |
[] |
![]() |
patches |
[]string | Patches to be applied to the node.List of strings containing RFC6902 (deprecated) JSON patches, strategic merge patches,or a file containing them. Show example |
[] |
![]() |
ImageFactory
ImageFactory defines configuration for selfhosted image-factory.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
registryURL |
string | Registry URL of the factory.Show example |
"factory.talos.dev" |
![]() |
protocol |
string | Protocol the registry is listening to.Show example |
https |
![]() |
schematicEndpoint |
string | Path to do HTTP POST request to the registry.Show example |
/schematics |
![]() |
installerURLTmpl |
string | Go template to parse the full installer URL.Available placeholders:RegistryURL,ID,Version, Secureboot, ModeShow example |
{{.RegistryURL}}/{{.Mode}}-installer{{if .Secureboot}}-secureboot{{end}}/{{.ID}}:{{.Version}} |
![]() |
ImageURLTmpl |
string | Go template to parse the full ISO or boot image URL.Available placeholders:Protocol,RegistryURL,ID,Version,Mode,Arch, Secureboot, UseUKI, BootMethod, SuffixShow example |
{{.Protocol}}://{{.RegistryURL}}/image/{{.ID}}/{{.Version}}/{{.Mode}}-{{.Arch}}{{if .Secureboot}}-secureboot{{end}}{{if and .Secureboot .UseUKI}}-uki.efi{{else}}{{.Suffix}}{{end}} |
![]() |
MachineSpec
MachineSpec defines machine hardware configurations for a node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
mode |
string | Machine mode.Show example |
"metal" |
![]() |
arch |
string | Machine architecture.Show example |
amd64 |
![]() |
secureboot |
bool | Whether to enable Secure Boot.Show example |
false |
![]() |
useUKI |
bool | Whether to use UKI if Secure Boot is enabled.Show example |
false |
![]() |
bootMethod |
string | Boot method for the node.Can be "disk-image", "iso" or "pxe".Show example |
iso |
![]() |
imageSuffix |
string | The image file extension.Will be automatically defined by specifiedbootMethod, e.g: raw.xz, raw.tar.gz, qcow2.Show example |
"" |
![]() |
IngressFirewall
IngressFirewall defines machine firewall configuration for a node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
defaultAction |
string |
Default action for all not explicitly configured traffic.Can be "accept" or "block"Show example |
nil |
![]() |
rules |
[]NetworkRule | List of matching network rules to allow or block against the defaultAction.IfdefaultAction is set to block, matching rules will be allowed vice versa.Show example |
nil |
![]() |
ExtensionService
ExtensionService defines machine extension service configuration for a node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
name |
string |
Name of the extension service config.Show example |
nil |
![]() |
configFiles |
[]ConfigFile | The config files for the extension service.Show example |
nil |
![]() |
environment |
[]string | The environment for the extension service.Show example |
nil |
![]() |
Volume
Volume defines machine volume configuration for a node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
name |
string |
Name of the volume config.Show example |
nil |
![]() |
provisioning |
ProvisioningSpec | Provisioning spec of the volume config.Show example |
nil |
![]() |
encryption |
EncryptionSpec | Encryption spec of the volume config.Show example |
nil |
![]() |
UserVolume
UserVolume defines machine user volume configuration for a node.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
name |
string |
Name of the volume config.Show example |
nil |
![]() |
provisioning |
ProvisioningSpec | Provisioning spec of the volume config.Show example |
nil |
![]() |
filesystem |
FilesystemSpec | Filesystem spec of the volume config.Show example |
nil |
![]() |
encryption |
EncryptionSpec | Encryption spec of the volume config.Show example |
nil |
![]() |
NetworkRule
NetworkRule defines the firewall rules to match.
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
name |
string |
Name of the rule.Show example |
nil |
![]() |
portSelector |
PortSelector | Ports and protocols on the host affected by the rule.Show example |
nil |
![]() |
ingress |
[]IngressConfig | List of source subnets allowed to access the host ports/protocols.Show example |
nil |
![]() |
CNIConfig
CNIConfig is type of upstream Talos v1alpha1.CNIConfig
InstallDiskSelector
InstallDiskSelector is type of upstream Talos v1alpha1.InstallDiskSelector.
InlineManifest
InlineManifest is type of upstream Talos v1alpha1.ClusterInlineManifest
In addition to this, there's also a skipEnvsubst key that can be set to true to skip doing envsubst (only for file outside of talconfig.yaml)
MachineDisk
MachineDisk is type of upstream Talos v1alpha1.MachineDisk
MachineFile
MachineFile is type of upstream Talos v1alpha1.MachineFile
In addition to this, there's also a skipEnvsubst key that can be set to true to skip doing envsubst (only for file outside of talconfig.yaml)
InstallExtensionConfig
InstallExtensionConfig is type of upstream Talos v1alpha1.InstallExtensionConfig
Schematic
Schematic is type of upstream Talos Image Factory schematic.Schematic
KernelModuleConfig
KernelModuleConfig is type of upstream Talos v1alpha1.KernelModuleConfig
Device
Device is type of upstream Talos v1alpha1.Device
PortSelector
PortSelector is type of upstream Talos network.RulePortSelector
IngressConfig
IngressConfig is type of upstream Talos network.IngressConfig
ConfigFile
ConfigFile is type of upstream Talos extensions.ConfigFile
ProvisioningSpec
ProvisioningSpec is type of upstream Talos block.ProvisioningSpec
FilesystemSpec
FilesystemSpec is type of upstream Talos block.ProvisioningSpec
EncryptionSpec
Encryption is type of upstream Talos block.EncryptionSpec

