Highlights
Gateway-tier unification, a safe path to change the replication factor, and a round of availability hardening.
Features
- Unified gateway tier (#210). In a unified cluster, gateways now run as per-node
GarageNodes — symmetric with storage. Each is a single-replica StatefulSet with a persistent metadata PVC (stable identity) and acapacity: nillayout role, so S3 key/bucket auth resolves locally instead of needing a quorum RPC to the storage tier. This release also adds race-safe layout apply and a richer cluster-health status surface. - Coordinated replication-factor migration (#208, #211). A new
purge-cluster-layoutannotation drives a resumable state machine to changereplication.factor— the only safe way to do it, since the factor is fixed at layout creation upstream. It refuses federated clusters, requires at least N storage nodes, and tears down cleanly on abort (never leaves storage scaled to zero). - PeerUnreachable condition (#212). Surfaces peers that have been continuously down beyond ~10 minutes in
status.unreachablePeers, so a sustained-down node is visible without reading Garage internals.
Bug fixes & hardening
- Pre-release review fixes (#216): admin-client behavior, factor-migration teardown / override-refusal / init-container UID, gateway connectivity, and
pods/execRBAC. - Tolerate a factor-propagation race during migration validation that was flaking the main e2e suite (#213).