The GitHub Actions job "Required Checks" on texera.git/imaxon/rustfs has succeeded. Run started by GitHub user parshimers (triggered by parshimers).
Head commit for run: 22ba4823a96db0d97f65139f76de0784412a25f6 / Ian Maxon <[email protected]> feat(deploy): replace MinIO with RustFS as the object store MinIO's images are gone: `minio/minio` and `minio/mc` 404 on Docker Hub, and every `dl.min.io` binary path returns 410 Gone. That breaks three things on main today — the single-node compose stack, the CI jobs that start an object store, and the k8s lakekeeper-init job, which fetches `mc` from `dl.min.io` at run time. Swap in RustFS (Apache-2.0, S3-compatible) everywhere: - single-node compose: `rustfs` + `rustfs-init` services, `RUSTFS_PORT`, `texera-rustfs` hostname, `rc` (RustFS's `mc` equivalent) for bucket setup. - Helm chart: the bitnami `minio` subchart becomes the upstream `rustfs` chart, pinned to the same appVersion as the image. The service is `<release>-rustfs-svc` and the credentials Secret `<release>-rustfs-secret` with `RUSTFS_ACCESS_KEY`/`RUSTFS_SECRET_KEY` keys, so `_helpers.tpl` is retargeted. lakekeeper-init creates its bucket from an `rc` init container instead of downloading `mc`. - Tests: `RustFSContainer` replaces testcontainers-scala's `MinIOContainer` (no RustFS module exists), built on `GenericContainer` with the `RUSTFS_ACCESS_KEY` credentials and the `/health` readiness probe. One real behavioral difference surfaced. `AbortMultipartUpload` on an unknown upload id is `NoSuchUpload` in the S3 API, and RustFS returns it; MinIO answered such an abort with success. LakeFS wraps the backend's 404 in a 500, so `StagedFileCleanupJob`'s existing 404 catch — written for this case but never exercised under MinIO — no longer covers it. `isAlreadyAborted` now also matches a 500 carrying `NoSuchUpload`, narrowly, so any other server error still rolls the transaction back and retries next round. Migration note: the object store's on-disk format is not shared, and the volume/claim names change (`minio_data` -> `rustfs_data`, `minio-data-pvc` -> `rustfs-data-pvc`). Existing deployments must copy their data across with an S3 client; there is no in-place upgrade. Co-Authored-By: Claude Opus 5 <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/34859248889 With regards, GitHub Actions via GitBox
