Skip to content

fix(iceberg): replace MinIO and the Spark build in both iceberg labs - #307

Open
JakeSCahill wants to merge 2 commits into
mainfrom
jake/iceberg-rustfs
Open

JakeSCahill wants to merge 2 commits into
mainfrom
jake/iceberg-rustfs

Conversation

@JakeSCahill

Copy link
Copy Markdown
Contributor

Both iceberg labs are broken for everyone right now:

  • MinIO's server images no longer pull anonymously from Docker Hub or quay.io.
  • The custom Spark image no longer builds: bullseye's security packages 404, and Spark 3.5.7 is gone from the Apache CDN.

This replaces MinIO with RustFS 1.0.0 (Apache-2.0, S3-compatible, console on port 9001). It also replaces the custom Spark build with the prebuilt quay.io/jupyter/pyspark-notebook:spark-4.1.2 image, which fetches the Iceberg 1.11.0 jars when the first Spark session starts. Users no longer build anything. The old image also bundled taxi data and Scala and Java kernels that nothing used.

  • Docker Compose lab: mc is replaced by an aws-cli job that keeps the bucket anonymously readable. Redpanda now waits for the bucket, because it aborts startup when the bucket is missing. The notebook's %%sql cells are now spark.sql(...), so it needs no extra packages.
  • Kubernetes lab: a plain RustFS Deployment replaces the MinIO Operator and tenant. Spark's config and notebook come from a ConfigMap, replacing the build, kind load and verify steps.

Tested end to end:

  • Compose: all services healthy. Following the README, both Iceberg tables query from spark-sql and from the notebook run headlessly. The bucket allows anonymous reads and the console returns 200.
  • Kubernetes: on a fresh kind cluster, every README setup step passes. The key_value table queries from spark-sql and the notebook. The RustFS console returns 200 on the NodePort.

… lab

MinIO's images no longer pull from Docker Hub or quay.io, and the custom
Spark image no longer builds (bullseye security packages 404, Spark 3.5.7
left the Apache CDN). Use RustFS for object storage and the prebuilt
Jupyter Docker Stacks PySpark image, which fetches the Iceberg jars at
session start, so there is nothing to build. Redpanda now waits for the
bucket, since it aborts startup when the bucket is missing.
Same causes as the Docker Compose lab. A plain RustFS Deployment replaces
the MinIO Operator and tenant, and Spark runs from the prebuilt Jupyter
image with its config and notebook in a ConfigMap, replacing the build
and kind load steps.
@netlify

netlify Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for redpanda-labs-preview ready!

Name Link
🔨 Latest commit 239dced
🔍 Latest deploy log https://app.netlify.com/projects/redpanda-labs-preview/deploys/6ab637ce7123d400087ba387
😎 Deploy Preview https://deploy-preview-307--redpanda-labs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant