Type TalhelperConfig
File match talconfig.yaml talconfig.yml
Schema URL https://catalog.lintel.tools/schemas/schemastore/talhelper/latest.json
Source https://raw.githubusercontent.com/budimanjojo/talhelper/master/pkg/config/schemas/talconfig.json

Validate with Lintel

npx @lintel/lintel check
Type: TalhelperConfig

Definitions

Bond object
interfaces string[]
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 integer
updelay integer
downdelay integer
arpInterval integer
resendIgmp integer
minLinks integer
lpInterval integer
packetsPerSlave integer
numPeerNotif integer
tlbDynamicLb integer
allSlavesActive integer
useCarrier boolean
adActorSysPrio integer
adUserPortKey integer
peerNotifyDelay integer
Bridge object
interfaces string[]
stp object
1 nested properties
enabled boolean
vlan object
1 nested properties
vlanFiltering boolean
BridgePort object
master string
BridgeVLAN object
vlanFiltering boolean
CNIConfig object
name string
urls string[]
flannel object
1 nested properties
extraArgs string[]
ClusterInlineManifest object
name string
contents string
skipEnvsubst boolean

Whether to skip envsubst to the contents (only for contents in another file)

ClusterInlineManifests ClusterInlineManifest[]
ConfigFile object
content string
mountPath string
ConfigFileList ConfigFile[]
Customization object
extraKernelArgs string[]
systemExtensions object
1 nested properties
officialExtensions string[]
bootloader integer
secureboot object
1 nested properties
includeWellKnownCertificates boolean
CustomizationWrapper object
extraKernelArgs string[]

Extra kernel arguments to be passed to the kernel

meta object
2 nested properties
key integer
value string
systemExtensions object
1 nested properties
officialExtensions string[]
bootloader string

The bootloader to be used in the image

Values: "sd-boot" "grub" "dual-boot"
secureboot object
1 nested properties
includeWellKnownCertificates boolean
DHCPOptions object
routeMetric integer
ipv4 boolean
ipv6 boolean
duidv6 string
Device object
interface string
deviceSelector object
6 nested properties
busPath string
hardwareAddr string
permanentAddr string
pciID string
driver string
physical boolean
addresses string[]
cidr string
routes Route[]
bond object
28 nested properties
interfaces string[]
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 integer
updelay integer
downdelay integer
arpInterval integer
resendIgmp integer
minLinks integer
lpInterval integer
packetsPerSlave integer
numPeerNotif integer
tlbDynamicLb integer
allSlavesActive integer
useCarrier boolean
adActorSysPrio integer
adUserPortKey integer
peerNotifyDelay integer
bridge object
3 nested properties
interfaces string[]
stp object
1 nested properties
enabled boolean
vlan object
1 nested properties
vlanFiltering boolean
bridgePort object
1 nested properties
master string
vlans Vlan[]
mtu integer
dhcp boolean
ignore boolean
dummy boolean
dhcpOptions object
4 nested properties
routeMetric integer
ipv4 boolean
ipv6 boolean
duidv6 string
wireguard object
4 nested properties
privateKey string
listenPort integer
firewallMark integer
vip object
3 nested properties
ip string
equinixMetal object
1 nested properties
apiToken string
hcloud object
1 nested properties
apiToken string
DeviceVIPConfig object
ip string
equinixMetal object
1 nested properties
apiToken string
hcloud object
1 nested properties
apiToken string
DeviceWireguardConfig object
privateKey string
listenPort integer
firewallMark integer
DeviceWireguardPeer object
publicKey string
endpoint string
persistentKeepaliveInterval integer
allowedIPs string[]
DiskPartition object
size integer
mountpoint string
DiskSelectorWrapper object
match string

The Common Expression Language (CEL) expression to match the disk

EncryptionKey object
slot integer
static object
1 nested properties
passphrase string
nodeID object
kms object
1 nested properties
endpoint string
tpm object
2 nested properties
options object
1 nested properties
pcrs integer[]
checkSecurebootStatusOnEnroll boolean
lockToState boolean
EncryptionKeyKMS object
endpoint string
EncryptionKeyNodeID object
EncryptionKeyStatic object
passphrase string
EncryptionKeyTPM object
options object
1 nested properties
pcrs integer[]
checkSecurebootStatusOnEnroll boolean
EncryptionKeyTPMOptions object
pcrs integer[]
EncryptionSpec object
provider integer
cipher string
keySize integer
blockSize integer
options string[]
ExtensionService object
name string

Name of the extension service config

configFiles ConfigFile[]
environment string[]

The environment for the extension service

FilesystemSpecWrapper object
type string

Filesystem type

Default: "xfs"
Values: "ext4" "xfs"
FlannelCNIConfig object
extraArgs string[]
ImageFactory object
registryURL string

Registry url or the image

Default: "factory.talos.dev"
schematicEndpoint string
Default: "/schematics"
protocol string

Protocol of the registry(https or http)

Default: "https"
installerURLTmpl string

Template for installer image URL

Default: "{{.RegistryURL}}/installer{{if .Secureboot}}-secureboot{{end}}/{{.ID}}:{{.Version}}"
ISOURLTmpl string

Template for image URL

Default: "{{.Protocol}}://{{.RegistryURL}}/image/{{.ID}}/{{.Version}}/{{.Mode}}-{{.Arch}}{{if .Secureboot}}-secureboot{{end}}{{if and .Secureboot .UseUKI}}-uki.efi{{else}}{{.Suffix}}{{end}}"
IngressConfigWrapper object
subnet string

Source subnet

except string

Source subnet to exclude from the subnet

IngressFirewallWrapper object
defaultAction string

Default action for all not explicitly configured traffic

Default: "block"

List of matching network rules to allow or block against the defaultAction

InstallDiskSelectorWrapper object
size string

Disk size

Examples: "4GB"
name string
model string
serial string
modalias string
uuid string
wwid string
type string
Examples: "ssd"
busPath string
KernelModuleConfig object
name string
parameters string[]
MachineDisk object
device string
partitions DiskPartition[]
MachineFile object
content string
permissions integer
path string
op string
skipEnvsubst boolean

Whether to skip envsubst to the contents (only for contents in another file)

MachineFiles MachineFile[]
MachineSpec object
mode string

Machine mode (e.g: metal)

Default: "metal"
arch string

Machine architecture (e.g: amd64

Default: "amd64"
secureboot boolean

Whether to enable Secure Boot

Default: false
useUKI boolean

Whether to use UKI if Secure Boot is enabled

Default: false
bootMethod string

Boot method of the node (can be disk-image

Default: "iso"
imageSuffix string

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

MetaValue object
key integer
value string
NetworkDeviceSelector object
busPath string
hardwareAddr string
permanentAddr string
pciID string
driver string
physical boolean
NetworkRuleWrapper object
name string

Name of the rule

portSelector object
2 nested properties
ports array

List of ports or port ranges

protocol string

Protocol (can be tcp or udp)

List of source subnets allowed to access the host ports/protocols

Node object
hostname string required

Hostname of the node

ipAddress string required

IP address where the node can be reached

Examples: "192.168.200.11"
controlPlane boolean

Whether the node is a controlplane

installDisk string

The disk used for installation

installDiskSelector object
9 nested properties
size string

Disk size

Examples: "4GB"
name string
model string
serial string
modalias string
uuid string
wwid string
type string
Examples: "ssd"
busPath string
ignoreHostname boolean

Whether to set "machine.network.hostname" to the generated config file

overridePatches boolean

Whether "patches" defined here should override the one defined in node group

overrideExtraManifests boolean

Whether "extraManifests" defined here should override the one defined in node group

overrideMachineCertSANs boolean

Whether "certSANs" defined here should override the one defined in node group

nodeLabels Record<string, string>

Labels to be added to the node

nodeAnnotations Record<string, string>

Annotations to be added to the node

nodeTaints Record<string, string>

Node taints for the node. Effect is optional

machineDisks MachineDisk[]

DEPRECATED: user "userVolumes" instead

machineFiles MachineFile[]
disableSearchDomain boolean

Whether to disable generating default search domain

kernelModules KernelModuleConfig[]

List of additional kernel modules to load inside the node

nameservers string[]

List of nameservers for the node

networkInterfaces Device[]

List of network interface configuration for the node

extraManifests string[]

DEPRECATED: Use "patches" instead

certSANs string[]

Additional certificate SANs to add to the machine certificate

patches string[]

Patches to be applied to the node

talosImageURL string

Talos installer image url for the node

Examples: "factory.talos.dev/installer/e9c7ef96884d4fbc8c0a1304ccca4bb0287d766a8b4125997cb9dbe84262144e"
noSchematicValidate boolean

Whether to skip schematic validation

schematic object
2 nested properties
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]

Extra kernel arguments to be passed to the kernel

meta object
systemExtensions object
bootloader string

The bootloader to be used in the image

Values: "sd-boot" "grub" "dual-boot"
secureboot object
imageSchematic object
2 nested properties
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]
systemExtensions object
bootloader integer
secureboot object
machineSpec object
6 nested properties
mode string

Machine mode (e.g: metal)

Default: "metal"
arch string

Machine architecture (e.g: amd64

Default: "amd64"
secureboot boolean

Whether to enable Secure Boot

Default: false
useUKI boolean

Whether to use UKI if Secure Boot is enabled

Default: false
bootMethod string

Boot method of the node (can be disk-image

Default: "iso"
imageSuffix string

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

ingressFirewall object
2 nested properties
defaultAction string

Default action for all not explicitly configured traffic

Default: "block"

List of matching network rules to allow or block against the defaultAction

extensionServices ExtensionService[]

Machine extension services specification

volumes Volume[]

Machine volume configs specification

userVolumes UserVolume[]

Machine user volume configs specification

filenameTmpl string

Template for the generated filename

Default: "{{.ClusterName}}-{{Hostname}}.yaml"
NodeConfigs object
nodeLabels Record<string, string>

Labels to be added to the node

nodeAnnotations Record<string, string>

Annotations to be added to the node

nodeTaints Record<string, string>

Node taints for the node. Effect is optional

machineDisks MachineDisk[]

DEPRECATED: user "userVolumes" instead

machineFiles MachineFile[]
disableSearchDomain boolean

Whether to disable generating default search domain

kernelModules KernelModuleConfig[]

List of additional kernel modules to load inside the node

nameservers string[]

List of nameservers for the node

networkInterfaces Device[]

List of network interface configuration for the node

extraManifests string[]

DEPRECATED: Use "patches" instead

certSANs string[]

Additional certificate SANs to add to the machine certificate

patches string[]

Patches to be applied to the node

talosImageURL string

Talos installer image url for the node

Examples: "factory.talos.dev/installer/e9c7ef96884d4fbc8c0a1304ccca4bb0287d766a8b4125997cb9dbe84262144e"
noSchematicValidate boolean

Whether to skip schematic validation

schematic object
2 nested properties
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]

Extra kernel arguments to be passed to the kernel

meta object
systemExtensions object
bootloader string

The bootloader to be used in the image

Values: "sd-boot" "grub" "dual-boot"
secureboot object
imageSchematic object
2 nested properties
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]
systemExtensions object
bootloader integer
secureboot object
machineSpec object
6 nested properties
mode string

Machine mode (e.g: metal)

Default: "metal"
arch string

Machine architecture (e.g: amd64

Default: "amd64"
secureboot boolean

Whether to enable Secure Boot

Default: false
useUKI boolean

Whether to use UKI if Secure Boot is enabled

Default: false
bootMethod string

Boot method of the node (can be disk-image

Default: "iso"
imageSuffix string

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

ingressFirewall object
2 nested properties
defaultAction string

Default action for all not explicitly configured traffic

Default: "block"

List of matching network rules to allow or block against the defaultAction

extensionServices ExtensionService[]

Machine extension services specification

volumes Volume[]

Machine volume configs specification

userVolumes UserVolume[]

Machine user volume configs specification

filenameTmpl string

Template for the generated filename

Default: "{{.ClusterName}}-{{Hostname}}.yaml"
Overlay object
image string
name string
options object
PortSelectorWrapper object
ports array

List of ports or port ranges

protocol string

Protocol (can be tcp or udp)

ProvisioningSpecWrapper object
diskSelector object
1 nested properties
match string

The Common Expression Language (CEL) expression to match the disk

grow boolean

Should the volume grow to the size of the disk (if possible)

minSize string

The minimum size of the volume

Examples: "2.5GiB"
maxSize string

The maximum size of the volume

Examples: "50GiB"
Route object
network string
gateway string
source string
metric integer
mtu integer
STP object
enabled boolean
Schematic object
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]
systemExtensions object
1 nested properties
officialExtensions string[]
bootloader integer
secureboot object
1 nested properties
includeWellKnownCertificates boolean
SchematicWrapper object
overlay object
3 nested properties
image string
name string
options object
customization object
5 nested properties
extraKernelArgs string[]

Extra kernel arguments to be passed to the kernel

meta object
2 nested properties
key integer
value string
systemExtensions object
1 nested properties
officialExtensions string[]
bootloader string

The bootloader to be used in the image

Values: "sd-boot" "grub" "dual-boot"
secureboot object
1 nested properties
includeWellKnownCertificates boolean
SecureBootCustomization object
includeWellKnownCertificates boolean
SystemExtensions object
officialExtensions string[]
TalhelperConfig object
clusterName string required

Name of the cluster

endpoint string required

Cluster's controlplane endpoint

Examples: "https://192.168.200.10:6443"
nodes Node[] required

List of configurations for Node

talosVersion string

Talos version to perform installation

Examples: "v1.5.4"
kubernetesVersion string

Kubernetes version to use

Examples: "v1.27.0"
domain string

The domain to be used by Kubernetes DNS

Examples: "cluster.local"
allowSchedulingOnMasters boolean

Whether to allow running workload on controlplane nodes

allowSchedulingOnControlPlanes boolean

Whether to allow running workload on controlplane nodes. It is an alias to "AllowSchedulingOnMasters"

additionalMachineCertSans string[]

DEPRECATED Use node/node groups extraMachineCertSans ! Extra certificate SANs for the machine's certificate

additionalApiServerCertSans string[]

Extra certificate SANs for the API server's certificate

inlineManifests ClusterInlineManifest[]
clusterPodNets string[]

The pod subnet CIDR list

clusterSvcNets string[]

The service subnet CIDR list

cniConfig object
3 nested properties
name string
urls string[]
flannel object
1 nested properties
extraArgs string[]
patches string[]

Patches to be applied to all nodes

imageFactory object
5 nested properties
registryURL string

Registry url or the image

Default: "factory.talos.dev"
schematicEndpoint string
Default: "/schematics"
protocol string

Protocol of the registry(https or http)

Default: "https"
installerURLTmpl string

Template for installer image URL

Default: "{{.RegistryURL}}/installer{{if .Secureboot}}-secureboot{{end}}/{{.ID}}:{{.Version}}"
ISOURLTmpl string

Template for image URL

Default: "{{.Protocol}}://{{.RegistryURL}}/image/{{.ID}}/{{.Version}}/{{.Mode}}-{{.Arch}}{{if .Secureboot}}-secureboot{{end}}{{if and .Secureboot .UseUKI}}-uki.efi{{else}}{{.Suffix}}{{end}}"
controlPlane object
22 nested properties
nodeLabels Record<string, string>

Labels to be added to the node

nodeAnnotations Record<string, string>

Annotations to be added to the node

nodeTaints Record<string, string>

Node taints for the node. Effect is optional

machineDisks MachineDisk[]

DEPRECATED: user "userVolumes" instead

machineFiles MachineFile[]
disableSearchDomain boolean

Whether to disable generating default search domain

kernelModules KernelModuleConfig[]

List of additional kernel modules to load inside the node

nameservers string[]

List of nameservers for the node

networkInterfaces Device[]

List of network interface configuration for the node

extraManifests string[]

DEPRECATED: Use "patches" instead

certSANs string[]

Additional certificate SANs to add to the machine certificate

patches string[]

Patches to be applied to the node

talosImageURL string

Talos installer image url for the node

Examples: "factory.talos.dev/installer/e9c7ef96884d4fbc8c0a1304ccca4bb0287d766a8b4125997cb9dbe84262144e"
noSchematicValidate boolean

Whether to skip schematic validation

schematic object
2 nested properties
overlay object
customization object
imageSchematic object
2 nested properties
overlay object
customization object
machineSpec object
6 nested properties
mode string

Machine mode (e.g: metal)

Default: "metal"
arch string

Machine architecture (e.g: amd64

Default: "amd64"
secureboot boolean

Whether to enable Secure Boot

Default: false
useUKI boolean

Whether to use UKI if Secure Boot is enabled

Default: false
bootMethod string

Boot method of the node (can be disk-image

Default: "iso"
imageSuffix string

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

ingressFirewall object
2 nested properties
defaultAction string

Default action for all not explicitly configured traffic

Default: "block"

List of matching network rules to allow or block against the defaultAction

extensionServices ExtensionService[]

Machine extension services specification

volumes Volume[]

Machine volume configs specification

userVolumes UserVolume[]

Machine user volume configs specification

filenameTmpl string

Template for the generated filename

Default: "{{.ClusterName}}-{{Hostname}}.yaml"
worker object
22 nested properties
nodeLabels Record<string, string>

Labels to be added to the node

nodeAnnotations Record<string, string>

Annotations to be added to the node

nodeTaints Record<string, string>

Node taints for the node. Effect is optional

machineDisks MachineDisk[]

DEPRECATED: user "userVolumes" instead

machineFiles MachineFile[]
disableSearchDomain boolean

Whether to disable generating default search domain

kernelModules KernelModuleConfig[]

List of additional kernel modules to load inside the node

nameservers string[]

List of nameservers for the node

networkInterfaces Device[]

List of network interface configuration for the node

extraManifests string[]

DEPRECATED: Use "patches" instead

certSANs string[]

Additional certificate SANs to add to the machine certificate

patches string[]

Patches to be applied to the node

talosImageURL string

Talos installer image url for the node

Examples: "factory.talos.dev/installer/e9c7ef96884d4fbc8c0a1304ccca4bb0287d766a8b4125997cb9dbe84262144e"
noSchematicValidate boolean

Whether to skip schematic validation

schematic object
2 nested properties
overlay object
customization object
imageSchematic object
2 nested properties
overlay object
customization object
machineSpec object
6 nested properties
mode string

Machine mode (e.g: metal)

Default: "metal"
arch string

Machine architecture (e.g: amd64

Default: "amd64"
secureboot boolean

Whether to enable Secure Boot

Default: false
useUKI boolean

Whether to use UKI if Secure Boot is enabled

Default: false
bootMethod string

Boot method of the node (can be disk-image

Default: "iso"
imageSuffix string

The image file extension (will be automatically determined by specified bootMethod) (e.g: raw.xz

ingressFirewall object
2 nested properties
defaultAction string

Default action for all not explicitly configured traffic

Default: "block"

List of matching network rules to allow or block against the defaultAction

extensionServices ExtensionService[]

Machine extension services specification

volumes Volume[]

Machine volume configs specification

userVolumes UserVolume[]

Machine user volume configs specification

filenameTmpl string

Template for the generated filename

Default: "{{.ClusterName}}-{{Hostname}}.yaml"
UserVolume object
name string

Name of user volume config

volumeType integer

Volume type of user volume config

provisioning object
4 nested properties
diskSelector object
1 nested properties
match string

The Common Expression Language (CEL) expression to match the disk

grow boolean

Should the volume grow to the size of the disk (if possible)

minSize string

The minimum size of the volume

Examples: "2.5GiB"
maxSize string

The maximum size of the volume

Examples: "50GiB"
filesystem object
1 nested properties
type string

Filesystem type

Default: "xfs"
Values: "ext4" "xfs"
encryption object
6 nested properties
provider integer
cipher string
keySize integer
blockSize integer
options string[]
VIPEquinixMetalConfig object
apiToken string
VIPHCloudConfig object
apiToken string
Vlan object
addresses string[]
cidr string
routes Route[]
dhcp boolean
vlanId integer
mtu integer
vip object
3 nested properties
ip string
equinixMetal object
1 nested properties
apiToken string
hcloud object
1 nested properties
apiToken string
dhcpOptions object
4 nested properties
routeMetric integer
ipv4 boolean
ipv6 boolean
duidv6 string
VlanList Vlan[]
Volume object
name string

Name of the volume config

provisioning object
4 nested properties
diskSelector object
1 nested properties
match string

The Common Expression Language (CEL) expression to match the disk

grow boolean

Should the volume grow to the size of the disk (if possible)

minSize string

The minimum size of the volume

Examples: "2.5GiB"
maxSize string

The maximum size of the volume

Examples: "50GiB"
encryption object
6 nested properties
provider integer
cipher string
keySize integer
blockSize integer
options string[]