Quickstart
This walks through installing tuppr and running one Talos and one Kubernetes upgrade. It assumes you have granted Talos API access to the controller namespace - see Requirements.
Install
Section titled “Install”helm install tuppr oci://ghcr.io/home-operations/charts/tuppr \ --namespace system-upgradeEvery chart value is documented in the generated Helm chart values reference.
Upgrade Talos
Section titled “Upgrade Talos”Create a TalosUpgrade. This is the minimal form - one target version applied
to every node, sequentially:
apiVersion: tuppr.home-operations.com/v1alpha1kind: TalosUpgrademetadata: name: clusterspec: talos: # renovate: datasource=docker depName=ghcr.io/siderolabs/talos version: v1.14.5tuppr health-checks the cluster, then upgrades each node in turn: drain →
talosctl upgrade → reboot → wait for the node to return Ready on the new
version. Watch it:
kubectl get talosupgrade -wkubectl describe talosupgrade clusterAdding health checks, parallel batches, hooks, maintenance windows, and per-node overrides: Talos upgrades.
Upgrade Kubernetes
Section titled “Upgrade Kubernetes”Create the (single) KubernetesUpgrade:
apiVersion: tuppr.home-operations.com/v1alpha1kind: KubernetesUpgrademetadata: name: kubernetesspec: kubernetes: # renovate: datasource=docker depName=ghcr.io/siderolabs/kubelet version: v1.37.1kubectl get kubernetesupgrade -wThere is exactly one KubernetesUpgrade per cluster; to upgrade again, edit
spec.kubernetes.version on it. Details: Kubernetes
upgrades.
Both at once
Section titled “Both at once”You can apply both resources; tuppr never runs them concurrently. Whichever
starts first runs to completion while the other waits in Pending, then the
second starts automatically. See Upgrade coordination.