Skip to content

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.

Quickstart Install talm

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.

    Node files

  • Helm templating


    Standard Go template syntax with the full Helm and Sprig function set — including lookup against live Talos COSI resources.

    Templates and values

  • 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.

    Encryption

  • 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.

    Apply-time safety gates

  • talosctl compatible


    The same subcommands, plus -f nodes/<name>.yaml so you never retype --nodes and --endpoints. Configs stay usable with talosctl and Omni.

    talosctl-compatible commands

  • Reproducible projects


    talm init vendors the preset and library chart into your repo, and warns when a binary upgrade leaves them stale.

    Upgrading talm

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