Skip to content

v0.2.13

Choose a tag to compare

@bradpenney bradpenney released this 12 Nov 00:11
· 2 commits to main since this release
8ee6518

Fixed

  • The roll no longer trusts a Longhorn write it did not check (bug-215). Every controller leave or join makes k0s restart every konnectivity agent, and until they reconnect a call through a Longhorn webhook fails with No agent available. On the 2026-10-27 roll that left a destroyed node's replica records in place while the roll printed that it had removed them, and a volume then could not attach. Now:
    • the roll waits for rollout status ds/konnectivity-agent after the leave and again after the join, before any Longhorn write;
    • Longhorn writes (the replica delete and the disk re-admit patches) retry No agent available for up to a minute;
    • the replica delete's result is checked, and the records are re-read afterwards. Any record on the dead node whose deletion was not accepted halts the roll before the node is re-created, with the record names.
  • The flux-operator bump bot no longer rewrites cosign's checksum. Its sed replaced every two-space sha256: in versions.yml, and cosign is the second one. PR #5 (v0.62.1) carried that error and was closed unmerged. The edit is now scoped to the flux_operator block, and the job fails unless exactly those two lines changed.

Pins

Component From To Why
Grafana v13.2.4 v13.3.1 security: six CVEs fixed in 13.3.1/13.2.6, plus those in 13.3.0
VictoriaMetrics v1.154.1 v1.156.0 Go 1.27.3 and base-image security updates, bug fixes
VictoriaLogs datasource v0.33.1 v0.34.0 alerting fix for empty Instant stats queries; needs Grafana ≥ 10.4
flux-operator v0.61.0 v0.62.1 maintenance; applies at the next node build
rustix (build dependency) 1.1.4 1.1.6 RUSTSEC-2026-0486 (unsound), which fails the release audit

Each sha256 was checked against upstream's published checksum: sha256 for VictoriaMetrics and Grafana; SHA-1 for the datasource, whose sha256 was then computed from the same artefact. The flux-operator sha256 was computed from the downloaded install.yaml.

Install

  1. From server1: substrate install-fleet v0.2.13 to preview, then --apply. It installs on every hypervisor and ends by checking each host's version.
  2. substrate deploy-observability --apply (Grafana, VictoriaMetrics, the datasource). Then confirm Grafana's VictoriaLogs panels still load.
  3. flux-operator changes nothing until the next node build. The roll changes are proven by the next roll.

216 tests.

Known

  • The konnectivity wait narrows the window rather than closing it: k0s may rewrite the DaemonSet a moment after the wait returns. The retry and the re-read are what make the roll safe. The proof is the next roll passing without roll_runbook.md §2a done by hand.