Talm¶
Manage Talos the GitOps way.
Talm is just like Helm, but for Talos Linux. It renders per-node machine configs from Go templates, discovers each node's real disks and interfaces, and applies the result with the flags you already know from talosctl — while the generated files stay clean enough to commit.
Why Talm¶
-
Automatic discovery
Bare-metal servers differ in disks and interfaces. Talm reads the node's real hardware and writes the discovered names into the node file as comments you pick from.
-
Helm templating
Standard Go template syntax with the full Helm and Sprig function set — including
lookupagainst live Talos COSI resources. -
GitOps friendly
Generated patches carry no sensitive data, so they live in Git in the clear. Secrets your templates need are age-encrypted at rest and decrypted in memory at render time.
-
Guarded applies
Every apply checks that the links and disks your config references exist on the node, and prints a diff of what is about to change before it changes it.
-
talosctl compatible
The same subcommands, plus
-f nodes/<name>.yamlso you never retype--nodesand--endpoints. Configs stay usable with talosctl and Omni. -
Reproducible projects
talm initvendors the preset and library chart into your repo, and warns when a binary upgrade leaves them stale.
From zero to a configured node¶
brew install talm
mkdir mycluster && cd mycluster
talm init -p cozystack -N mycluster --endpoints 192.0.2.4
talm --nodes 192.0.2.4 -e 192.0.2.4 template -t templates/controlplane.yaml -i > nodes/node1.yaml
talm apply -f nodes/node1.yaml -i
The same five lines, explained
Where to next¶
- Initializing a project —
--image,--cluster-endpoint,--root. - Endpoints and VIPs —
endpoint,floatingIP,vipLink. - Talos versions and output format — which schema a render targets, and the version keys to pin.
- Applying with side-patches — the
-fchain. - CLI reference — generated from the command tree.