Skip to content

Replace MinIO with RustFS across Iceberg repos #18246

Closed

Description

@kevinjqliu

Feature Request / Improvement

Why we moved to Quay: Docker Hub stopped serving minio/minio and minio/mc, which broke CI. As a stopgap we switched to quay.io/minio/* (#18071, apache/iceberg-rust#3220).

Why we need to move again: quay.io/minio/minio no longer allows anonymous pulls, so CI is breaking again. On top of that, MinIO Community Edition stopped publishing images in October 2025 and its repo was archived in April 2026, so even working images are frozen builds with no security fixes (see #14638). PyIceberg has already switched to RustFS (apache/iceberg-python#3928), and Polaris uses it too.

Proposal: Replace MinIO with RustFS everywhere. Name the service/container something generic like object-store rather than rustfs, so the next swap is a one-line image change.

Tracking

Repo Status Current image Where PR
iceberg ✅ RustFS rustfs/rustfs:1.0.0 aws/src/integration/... tests, kafka-connect, Flink quickstart, site/docs/spark-quickstart.md #18247
iceberg-python ✅ RustFS rustfs/rustfs:1.0.0 dev/docker-compose*.yml apache/iceberg-python#3928, apache/iceberg-python#4013
iceberg-rust ✅ RustFS rustfs/rustfs:1.0.0 dev/docker-compose.yaml, test utils/tests apache/iceberg-rust#3273
iceberg-go ✅ RustFS rustfs/rustfs:1.0.0 internal/recipe/docker-compose.yml, Makefile, go-integration.yml apache/iceberg-go#2055
iceberg-cpp ✅ RustFS rustfs/rustfs:1.0.0; RustFS release binary on macOS ci/scripts/start_object_store.sh, aws_test.yml apache/iceberg-cpp#962
terraform-provider-iceberg ✅ RustFS rustfs/rustfs:1.0.0 dev/docker-compose.yml apache/terraform-provider-iceberg#123, apache/terraform-provider-iceberg#125

Notes:

  • iceberg: Testcontainers has no RustFS module; use GenericContainer.
  • Bucket setup currently uses mc, so it needs a replacement.
  • Virtual-host-style addressing needs RUSTFS_SERVER_DOMAINS (see PyIceberg).

Query engine

None

Willingness to contribute

  • I can contribute this improvement/feature independently
  • I would be willing to contribute this improvement/feature with guidance from the Iceberg community
  • I cannot contribute this improvement/feature at this time

Activity

  1. kevinjqliu commented on Sep 24, 2026

    @kevinjqliu
    ContributorAuthor

    RustFS 1.0.0 is out as a stable release. We should pin rustfs/rustfs:1.0.0 everywhere instead of the RCs.

    1.0.0 also includes rustfs/rustfs#7051, so RUSTFS_SERVER_DOMAINS shouldn't need the :9000 port anymore.

    Repo Current pin Uses 1.0.0?
    iceberg 1.0.0 (#18247) ✅
    iceberg-python 1.0.0 (apache/iceberg-python#4013) ✅
    iceberg-rust 1.0.0 (apache/iceberg-rust#3273) ✅
    iceberg-go 1.0.0 (apache/iceberg-go#2055) ✅
    iceberg-cpp 1.0.0 (apache/iceberg-cpp#962) ✅
    terraform-provider-iceberg 1.0.0 (apache/terraform-provider-iceberg#125) ✅
  2. rambleraptor commented on Sep 24, 2026

    @rambleraptor
    Contributor

    Thanks for looking into this @kevinjqliu! I'm glad we're able to move off of MinIO. Looks like I was a little ahead of the game with the RC builds and I appreciate you getting us on 1.0!

  3. smaheshwar-pltr commented on Sep 24, 2026

    @smaheshwar-pltr
    Contributor

    Thanks for investigating @kevinjqliu! This proposal sounds good to me, linking also the mailing list thread: https://lists.apache.org/thread/wnt4ojcjsv1frfg1drxpz3gj0l91c5jl.

    I think we should unblock integration tests for now given that's fairly no regret; we can defer the docs / quickstart / etc. changes:

  4. kevinjqliu commented on Sep 25, 2026

    @kevinjqliu
    ContributorAuthor

    all merged. thank you @smaheshwar-pltr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    improvementPR that improves existing functionality

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions