github rajsinghtech/garage-operator v0.7.1

3 hours ago

What's new in v0.7

  • Node-local storage pools. A GarageCluster can now manage selector-driven HostPath pools as DaemonSets, with one durable Garage identity per Kubernetes Node. Pools can coexist with the existing PVC group, manually managed SMB/Ceph/PVC or external members, and gateways. Activation fences, HostPath ownership markers, serialized rollouts, and drain/layout proofs are built in. See the node-local pool guide.
  • Node-derived failure domains. spec.zoneFrom.nodeLabel can derive each storage member's Garage zone from its Kubernetes Node.
  • Safer lifecycle operations. Layout updates now verify Garage's readback, layout rebuilds use an exact Pod credential, and drain, cycle, and externally managed cluster paths have stronger coverage.
  • Targeted block retries. Cluster-wide retries of specific block-resync errors now inventory which nodes report each hash and send exact requests only to those nodes. Already-cleared hashes are an idempotent no-op, while an incomplete inventory fails closed.
  • Verifiable release artifacts. The operator image and OCI Helm chart are keylessly signed and include build provenance. The image also includes an SPDX SBOM attestation, and install.yaml includes provenance.

Before upgrading

  • Existing clusters are unchanged unless spec.storage.nodeLocalPools is explicitly declared. This release does not automatically migrate storage.
  • Node-local pools require Kubernetes 1.27+, Garage v2.0+, a v1beta2 GarageCluster, enabled validating and conversion webhooks, a cluster-scoped operator installation, Node access, an Admin token, and pre-created production HostPaths with .garage-volume-id markers. Garage v2.3.0 is the tested default. Existing non-pool configurations retain the Kubernetes 1.25+ minimum.
  • If custom env or envFrom entries set Garage configuration or credential variables, follow the reserved environment variable migration before upgrading.

Thanks to @florissmit10 for the original DaemonSet prototype and use case that the node-local pool design builds on.

Full changelog: v0.6.29...v0.7.1

Don't miss a new garage-operator release

NewReleases is sending notifications on new releases.