The GitHub Actions job "Required Checks" on texera.git/main has failed. Run started by GitHub user github-merge-queue[bot] (triggered by github-merge-queue[bot]).
Head commit for run: 12aeeab5816b12880c5f58970460adf87b548d89 / Ian Maxon <[email protected]> feat(deploy): replace MinIO with RustFS as the default object store (#8542) MinIO got all it's images deleted on Friday. This is just the latest stage of the rugpull. It's been umaintained, and containing known severe vulnerabilities since the maintainers did a hard private fork in October. RustFS quite similar to MinIO from a user standpoint. It seems to drop in well. All the changes I see that Claude had to do to was basically swap all the image names, adjust things in the charts, and modify how the store is bootstrapped when initializing a new cluster. >From the mouth of the LLM itself: - 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. <!-- Thanks for sending a pull request (PR)! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: [Contributing to Texera](https://github.com/apache/texera/blob/main/CONTRIBUTING.md) 2. Ensure you have added or run the appropriate tests for your PR 3. If the PR is work in progress, mark it a draft on GitHub. 4. Please write your PR title to summarize what this PR proposes, we are following Conventional Commits style for PR titles as well: - `fix` is for behavior that worked before and no longer does; adding or removing a functionality, or reworking one so that user-facing behavior intentionally changes, is a `feat`; a change that leaves the user-facing behavior unchanged is a `refactor`. - A test-only PR is `test(<module>): ...`; repairing a broken test is `fix(test, <module>): ...`. - A dependency bump is `fix(deps, <module>): ...` when it patches a CVE and `chore(deps, <module>): ...` otherwise; GitHub Actions bumps take `ci` as their module, e.g. `chore(deps, ci): ...`. - A PR targeting a release branch appends the version as the last scope component, e.g. `fix(deps, frontend, v1.2): ...`. See CONTRIBUTING.md for the full convention. 5. Be sure to keep the PR description updated to reflect all changes. --> ### What changes were proposed in this PR? <!-- Please clarify what changes you are proposing. The purpose of this section is to outline the changes. Here are some tips for you: 1. If you propose a new API, clarify the use case for a new API. 2. If you fix a bug, you can clarify why it is a bug. 3. If it is a refactoring, clarify what has been changed. 3. It would be helpful to include a before-and-after comparison using screenshots or GIFs. 4. Please consider writing useful notes for better and faster reviews. --> Move the default storage provider in all charts from MinIO to RustFS. ### Any related issues, documentation, discussions? <!-- Please use this section to link other resources if not mentioned already. 1. If this PR fixes an issue, please include `Fixes #1234`, `Resolves #1234` or `Closes #1234`. If it is only related, simply mention the issue number. 2. If there is design documentation, please add the link. 3. If there is a discussion in the mailing list, please add the link. --> Related discussion in https://github.com/apache/texera/discussions/3998 Bug in https://github.com/apache/texera/issues/8541 An alternative interim solution would be https://github.com/apache/texera/pull/8529 . The images haven't been deleted from Quay yet, and are exactly the same. Clearly however this may have just been an oversight though. I don't think the deletion of the images was a mistake. ### How was this PR tested? <!-- If tests were added, say they were added here. Or simply mention that if the PR is tested with existing test cases. Make sure to include/update test cases that check the changes thoroughly including negative and positive cases if possible. If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future. If tests were not added, please describe why they were not added and/or why it was difficult to add. --> I started the branch in Skaffold on a cluster. It seemed to work OK, I uploaded some tiny amounts of data (<20MB files) and those seemed to work fine in a very basic workflow. ### Was this PR authored or co-authored using generative AI tooling? <!-- If generative AI tooling has been used in the process of authoring this PR, please include the phrase: 'Generated-by: ' followed by the name of the tool and its version. If no, write 'No'. Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details. --> Generated-by: Claude Opus 5 Co-authored-by: Claude Opus 5 <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/34916379423 With regards, GitHub Actions via GitBox
