Skip to content

Replace MinIO with RustFS across Iceberg repos #18246

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

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