From 8305f2eb5cc5d29ecae3709146115447d6fb6302 Mon Sep 17 00:00:00 2001 From: Austin Barrington Date: Sat, 24 Oct 2026 09:44:13 +0100 Subject: [PATCH] hyperbytedb-operator v0.3.3 Newest known HyperbyteDB: 0.9.3-beta, so a 0.9.3-beta cluster no longer reads NewerThanKnown; every capability needs 0.9.1-beta or older, so nothing renders differently. docs/compatibility.md: the v0.3.3 row and the backup, Go and CA changes (#20) in the v0.3.2 -> v0.3.3 notes. v0.3.3: each pod restarts once per rolling update (#19); backups use the AWS CLI since minio/mc can no longer be pulled, and the image is built with Go 1.27.3 on a base without the compromised eMudhra root (#20). Checked on kind with HyperbyteDB 0.9.3 (3-node sync_quorum and 1-node pools behind the proxy, 10 writes/s): one restart per pod, every acknowledged write on every pod, in three rolling updates. --- docs/compatibility.md | 16 +++++++++++++++- internal/hyperbytedb/compat.go | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/compatibility.md b/docs/compatibility.md index dd90e84..cea02de 100644 --- a/docs/compatibility.md +++ b/docs/compatibility.md @@ -32,7 +32,7 @@ Reasons: `Supported`, `Assumed` (no version found), `NewerThanKnown` | Operator | Renders for HyperbyteDB | Newest known | |---|---|---| -| v0.3.3 | 0.8.0 and later | 0.9.1-beta | +| v0.3.3 | 0.8.0 and later | 0.9.3-beta | | v0.3.2 | 0.8.0 and later | 0.9.1-beta | | v0.3.1 | 0.8.0 and later | 0.9.1-beta | | v0.3.0 | 0.8.0 and later | 0.9.1-beta | @@ -69,6 +69,20 @@ The source of truth is `CompatibilityMatrix` in `BackendExcludeFailed`), so a broken proxy cannot hold an update. With `spec.proxy.enabled: false` nothing changes. The partition is applied on the first reconcile after the upgrade and restarts nothing. + + Backup and restore Jobs use `amazon/aws-cli:2.38.5` instead of + `minio/mc`, which is gone from Docker Hub (Jobs on a node without it + cached could not start). A custom `spec.destination.s3.endpoint` on a `HyperbytedbBackup` (MinIO and + other S3-compatible stores) is addressed path-style; AWS by region; + without a credentials Secret the default AWS chain (an IAM role) is used. + Retention removes the timestamped backup folders older than + `retentionDays`, the same folders `mc` wrote; a restore downloads only the + newest one. + + The operator is built with Go 1.27.3 on a current distroless base, which + no longer trusts the compromised eMudhra root (CVE-2026-111943); v0.3.2's + image does. Newest known HyperbyteDB: 0.9.3-beta, so a 0.9.3-beta cluster + no longer reads `NewerThanKnown`. Nothing renders differently for it. - v0.3.1 → v0.3.2: a pool stuck in a rolling restart recovers by itself. The proxy Deployment is applied before the rolling restart, so a broken proxy is fixed even while a restart waits on it; proxies are excluded diff --git a/internal/hyperbytedb/compat.go b/internal/hyperbytedb/compat.go index 1027325..88c3387 100644 --- a/internal/hyperbytedb/compat.go +++ b/internal/hyperbytedb/compat.go @@ -22,7 +22,7 @@ const DatabaseVersionAnnotation = "hyperbytedb.hyperbyte.cloud/database-version" // LatestDatabaseVersion is the newest HyperbyteDB release this operator // knows. A cluster whose version cannot be determined is rendered for it. -const LatestDatabaseVersion = "0.9.1-beta" +const LatestDatabaseVersion = "0.9.3-beta" // OldestDatabaseVersion is the oldest HyperbyteDB release this operator // renders for. Older ones are rendered as this one.