Repository navigation
clustertool-v5.0.0-alpha.6
Pre-releaseClusterTool v5 — Native Talos configuration and Flux Operator
ClusterTool v5 introduces native Talos machine configuration, a new configuration layout, Flux Operator bootstrap and Helm 4 integration. It also simplifies configuration management and improves secret handling, initialization safeguards and chart testing.
⚠️ Breaking changes — read before upgrading
The main reason for this major release is the replacement of Talhelper with native Talos 1.14 machine configuration. This changes how node configurations are defined and generated, including the configuration layout and storage paths.
Existing Talhelper-based configurations cannot be used unchanged. Automatic migration is not provided, and a fresh cluster bootstrap is strongly recommended. Initialize v5 in a new folder and review the new configuration before applying it to existing infrastructure.
Storage now uses directory-type Talos user volumes, with Longhorn and OpenEBS configured for /var/mnt/longhorn and /var/mnt/openebs. Changing these paths does not migrate existing data. Back up persistent data and retain your cluster secrets and age key before planning a migration.
Because the Talos transition already required a breaking release, we have deliberately included the move to Flux Operator in v5 as well. This brings both configuration changes into the same major release.
🖥️ Native Talos configuration
- Replace Talhelper with native Talos configuration generation and validation.
- Define versions, node roles, management addresses and the bootstrap node in
talos/clustertool.yaml. - Organize patches into shared, role-specific and node-specific directories.
- Support individual network settings, installation disks and schematic IDs per node.
- Validate all generated node configurations before applying them.
- Improve targeted node operations, bootstrap recovery and control-plane quorum checks.
Details: #478
🔄 Flux Operator bootstrap
- Replace the previous Flux manifest bootstrap with Flux Operator and a FluxInstance.
- Install the operator first, followed by the instance, with readiness checks.
- Support OCIRepository chart references during bootstrap.
- Apply the deploy key and SOPS age-key Secret during Flux bootstrap, keeping the age key out of generated Kustomizations.
Details: #480
🔐 Unified settings and improved secret handling
- Use
clusters/<cluster>/secrets/cluster-settings.sops.yamlfor both ClusterTool variables and Flux substitutions, replacingclusterenv.yamland the generated settings ConfigMap. - Standardize credential filenames on
deploy-key.sops.yamlandsops-age.sops.yaml. - Validate settings values: numbers and booleans in
stringDatamust be quoted. - Respect SOPS
storesandmac_only_encryptedsettings.
🛠️ Clearer configuration commands
genconfigandtalos applyno longer regenerate Flux placeholders or Kustomizations.- Use the new
genkscommand, also available askustomizations, to generate missing Kustomization files. - Use
githookto reinstall the encryption pre-commit hook after switching environments. - Block initialization of legacy Talhelper configurations and request confirmation before repeating completed initialization.
- Preserve retry state when initialization fails and report hook installation errors.
Details: #501
⎈ Helm 4 integration
- Migrate the Helm SDK to v4.3.0.
- Enable server-side apply for new installations.
- Use the Helm 4 status watcher when waiting for resource readiness.
- Expose internal Helm logs through ClusterTool’s configured log level, including
LOGLEVEL=debug.
Bootstrap and subsequent Flux reconciliation were successfully tested on a Talos cluster, with all reported HelmReleases ready and workloads reaching their desired replica counts.
Details: #502
🧪 Testing and reliability
Improve HelmRelease deployment tests with OCI chart resolution and dependency handling, and exercise all included HelmReleases through chart-test triggers. Additional fixes cover Windows pre-commit hooks, SOPS path matching and concurrent chart downloads.