This is an automated email from the ASF dual-hosted git repository.
voonhous pushed a commit to branch branch-1.2.x
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/branch-1.2.x by this push:
new 7a46e9761ad8 fix(docker): pull MinIO images from Chainguard (#20059)
7a46e9761ad8 is described below
commit 7a46e9761ad895708bde6e5e60ada8dadc6ff77f
Author: voonhous <[email protected]>
AuthorDate: Tue Sep 29 16:07:55 2026 +0800
fix(docker): pull MinIO images from Chainguard (#20059)
* fix(docker): pull MinIO images from Chainguard
MinIO turned off anonymous pulls of quay.io/minio/minio and
quay.io/minio/mc on 2026-09-24, ten days after #19955 moved us there
from Docker Hub. Every compose stack that starts MinIO now fails with
"unauthorized: access to the requested resource is not authorized",
which breaks the Trino E2E and other testcontainers integration tests.
Switch to Chainguard's MinIO images, as trinodb/trino did, pinned by
multi-arch index digest:
- server: cgr.dev/chainguard/minio
- client: cgr.dev/chainguard/minio-client (latest-dev build, which
ships /bin/sh for the mc entrypoint scripts)
Chainguard images run as uid 65532 and track current MinIO releases,
so also move off the long-deprecated forms:
- MINIO_ACCESS_KEY/MINIO_SECRET_KEY -> MINIO_ROOT_USER/PASSWORD
- mc policy set public -> mc anonymous set public
- chown the k8s example hostPath dir to 65532 instead of 9999
* fix(docker): use floating tags for Chainguard MinIO images
Chainguard's free tier only publishes latest and latest-dev, so a
digest pin needs a manual bump to pick up fixes. Use the tags instead,
matching how the compose files tracked MinIO's latest before:
- cgr.dev/chainguard/minio:latest
- cgr.dev/chainguard/minio-client:latest-dev
---
.../docker-compose_hadoop334_hive313_spark353_amd64.yml | 10 +++++-----
.../docker-compose_hadoop334_hive313_spark353_arm64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive2310_spark402_amd64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive2310_spark402_arm64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive2310_spark411_amd64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive2310_spark411_arm64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive313_spark401_amd64.yml | 10 +++++-----
.../docker-compose_hadoop340_hive313_spark401_arm64.yml | 10 +++++-----
.../hudi-examples-k8s/config/k8s/minio-standalone.yaml | 4 ++--
hudi-notebooks/docker-compose.yml | 6 +++---
10 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/docker/compose/docker-compose_hadoop334_hive313_spark353_amd64.yml
b/docker/compose/docker-compose_hadoop334_hive313_spark353_amd64.yml
index 352407f4a6c2..16417a093152 100644
--- a/docker/compose/docker-compose_hadoop334_hive313_spark353_amd64.yml
+++ b/docker/compose/docker-compose_hadoop334_hive313_spark353_amd64.yml
@@ -242,7 +242,7 @@ services:
volumes:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
platform: linux/amd64
hostname: minio
container_name: minio
@@ -252,12 +252,12 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
platform: linux/amd64
container_name: mc
entrypoint: >
@@ -265,7 +265,7 @@ services:
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git a/docker/compose/docker-compose_hadoop334_hive313_spark353_arm64.yml
b/docker/compose/docker-compose_hadoop334_hive313_spark353_arm64.yml
index aef85e346a65..1629e72b3f9b 100644
--- a/docker/compose/docker-compose_hadoop334_hive313_spark353_arm64.yml
+++ b/docker/compose/docker-compose_hadoop334_hive313_spark353_arm64.yml
@@ -225,7 +225,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -234,20 +234,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git
a/docker/compose/docker-compose_hadoop340_hive2310_spark402_amd64.yml
b/docker/compose/docker-compose_hadoop340_hive2310_spark402_amd64.yml
index 9309333d34a6..448e856c4ad1 100644
--- a/docker/compose/docker-compose_hadoop340_hive2310_spark402_amd64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive2310_spark402_amd64.yml
@@ -228,7 +228,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -237,20 +237,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git
a/docker/compose/docker-compose_hadoop340_hive2310_spark402_arm64.yml
b/docker/compose/docker-compose_hadoop340_hive2310_spark402_arm64.yml
index 9309333d34a6..448e856c4ad1 100644
--- a/docker/compose/docker-compose_hadoop340_hive2310_spark402_arm64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive2310_spark402_arm64.yml
@@ -228,7 +228,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -237,20 +237,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git
a/docker/compose/docker-compose_hadoop340_hive2310_spark411_amd64.yml
b/docker/compose/docker-compose_hadoop340_hive2310_spark411_amd64.yml
index ef5babd57e7e..4291a2fea290 100644
--- a/docker/compose/docker-compose_hadoop340_hive2310_spark411_amd64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive2310_spark411_amd64.yml
@@ -228,7 +228,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -237,20 +237,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git
a/docker/compose/docker-compose_hadoop340_hive2310_spark411_arm64.yml
b/docker/compose/docker-compose_hadoop340_hive2310_spark411_arm64.yml
index ef5babd57e7e..4291a2fea290 100644
--- a/docker/compose/docker-compose_hadoop340_hive2310_spark411_arm64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive2310_spark411_arm64.yml
@@ -228,7 +228,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -237,20 +237,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git a/docker/compose/docker-compose_hadoop340_hive313_spark401_amd64.yml
b/docker/compose/docker-compose_hadoop340_hive313_spark401_amd64.yml
index a57be2c79af6..5f1e18859ebd 100644
--- a/docker/compose/docker-compose_hadoop340_hive313_spark401_amd64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive313_spark401_amd64.yml
@@ -248,7 +248,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
platform: linux/amd64
hostname: minio
container_name: minio
@@ -258,13 +258,13 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
platform: linux/amd64
container_name: mc
entrypoint: >
@@ -272,7 +272,7 @@ services:
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git a/docker/compose/docker-compose_hadoop340_hive313_spark401_arm64.yml
b/docker/compose/docker-compose_hadoop340_hive313_spark401_arm64.yml
index 3cb6fe1bef76..67304a3b911f 100644
--- a/docker/compose/docker-compose_hadoop340_hive313_spark401_arm64.yml
+++ b/docker/compose/docker-compose_hadoop340_hive313_spark401_arm64.yml
@@ -236,7 +236,7 @@ services:
- ${HUDI_WS}:/var/hoodie/ws
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
hostname: minio
container_name: minio
ports:
@@ -245,20 +245,20 @@ services:
volumes:
- minio-data:/data
environment:
- - MINIO_ACCESS_KEY=minio
- - MINIO_SECRET_KEY=minio123
+ - MINIO_ROOT_USER=minio
+ - MINIO_ROOT_PASSWORD=minio123
- MINIO_DOMAIN=minio
command: server --address ":9090" --console-address ":9091" /data
mc:
- image: quay.io/minio/mc
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc alias set minio http://minio:9090 minio minio123
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
depends_on:
diff --git a/hudi-examples/hudi-examples-k8s/config/k8s/minio-standalone.yaml
b/hudi-examples/hudi-examples-k8s/config/k8s/minio-standalone.yaml
index d04ec46f307b..46274ab89c3f 100644
--- a/hudi-examples/hudi-examples-k8s/config/k8s/minio-standalone.yaml
+++ b/hudi-examples/hudi-examples-k8s/config/k8s/minio-standalone.yaml
@@ -43,13 +43,13 @@ spec:
initContainers:
- name: prepare
image: busybox:1.28
- command: ['sh', '-c', 'mkdir -p /data/minio/ && chown 9999
/data/minio/' ]
+ command: ['sh', '-c', 'mkdir -p /data/minio/ && chown 65532
/data/minio/' ]
volumeMounts:
- mountPath: /data
name: hostvolume
containers:
- name: minio
- image: quay.io/minio/minio:RELEASE.2024-01-13T07-53-03Z
+ image: cgr.dev/chainguard/minio:latest
command:
- /bin/bash
- -c
diff --git a/hudi-notebooks/docker-compose.yml
b/hudi-notebooks/docker-compose.yml
index 0f0d938b0621..d5ec46203c7a 100644
--- a/hudi-notebooks/docker-compose.yml
+++ b/hudi-notebooks/docker-compose.yml
@@ -40,7 +40,7 @@ services:
- hudi-datalake
minio:
- image: 'quay.io/minio/minio:latest'
+ image: 'cgr.dev/chainguard/minio:latest'
container_name: minio
command: server /data --console-address ":9001"
environment:
@@ -60,7 +60,7 @@ services:
- warehouse.minio
mc:
- image: quay.io/minio/mc:latest
+ image: cgr.dev/chainguard/minio-client:latest-dev
container_name: mc
depends_on:
minio:
@@ -70,7 +70,7 @@ services:
until (/usr/bin/mc alias set minio http://minio:9000 admin password
--api S3v4) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc rm -r --force minio/warehouse;
/usr/bin/mc mb minio/warehouse;
- /usr/bin/mc policy set public minio/warehouse;
+ /usr/bin/mc anonymous set public minio/warehouse;
tail -f /dev/null
"
networks: