github rajsinghtech/garage-operator v0.7.0

latest release: v0.7.1
4 hours ago

What's new

  • 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.
  • Verifiable release artifacts. The operator image is keylessly signed and includes build provenance plus an SPDX SBOM attestation. The install.yaml release asset also includes provenance.
  • 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.

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.0

Don't miss a new garage-operator release

NewReleases is sending notifications on new releases.