Skip to main content

Talhelper - GitOps at Home for Talos Linux

Table of Contents

Talhelper
#

If you’re like me — constantly breaking, rebuilding, and spinning up new things in your homelab — manually creating Talos Linux clusters gets tedious fast. On top of that, you can’t safely store config files in git due to plain-text secrets.

Fortunately, Talhelper is here to save the day. It’s a tool that helps you create Talos config files declaratively and lets you use SOPS to encrypt files containing secrets, so you can safely commit your Talos Linux configs into Git.

It’s made up of the following parts:

  1. talconfig.yaml - Manually created file that holds all your config, schematics, and patches — things like system extensions, patches to disable kube-proxy and CNI, uservolumeconfigs for Longhorn volumes, and much more.

  2. talsecret.sops.yaml - File created with talhelper gensecret. Contains cluster secrets, can be encrypted with SOPS, and committed to Git alongside talconfig.yaml.

  3. talosconfig and worker/controlplane.yaml - Files created with talhelper genconfig, which uses the talconfig and talsecret.sops files as references to generate your cluster config (accomplishing the same thing as talosctl gen config --with-secrets secrets.yaml $CLUSTER_NAME https://$YOUR_ENDPOINT:6443). A .gitignore is automatically generated to include these files and prevent accidental commits.

I’ve barely scratched the surface of what’s possible with Talhelper and will keep tinkering as I build out different Talos Linux clusters across varying hardware.

image

Sources
#

https://budimanjojo.github.io/talhelper/latest/

There are no articles to list here yet.