-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Change to use Chainguard MinIO container #27095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR updates all MinIO test containers to use the Chainguard MinIO image (cgr.dev/chainguard/minio) with the 'latest' tag by replacing fixed release constants and adjusting DockerContainer references. Class diagram for updated Minio container image referenceclassDiagram
class Minio {
- Logger log
+ DEFAULT_IMAGE : String = "cgr.dev/chainguard/minio"
+ DEFAULT_HOST_NAME : String
+ MINIO_API_PORT : int
}
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| private static final String MINIO_ACCESS_KEY = "minio-access-key"; | ||
| private static final String MINIO_SECRET_KEY = "minio-secret-key"; | ||
| private static final String MINIO_RELEASE = "RELEASE.2025-01-20T14-49-07Z"; | ||
| private static final String MINIO_RELEASE = "latest"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to use the MinIO container image from Chainguard Containers. Only "latest" is available so I am trying with that.
we need reproducible builds and deterministic tests. My "latest" won't be the same as your "latest".
how do we achieve that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need to copy the container into ghcr trino org and tag ourselves?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's possible to pull the image using the hash:
docker pull cgr.dev/chainguard/minio@sha256:66bd82c8fe5e75868ae7d0b2e102d9a0dcf971b270a41bd060a9e6a643476ff8Maybe this also works with Testcontainers?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Confirmed, that syntax works fine. We should see if we can centralize the version instead of copying it in multiple places.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The digests and all will continue to be avaiable so we can either tag ourselves with something like a date value or we can use hashes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can use a single constant of the form
MINIO_IMAGE = "cgr.dev/chainguard/minio@sha256:66bd82c8fe5e75868ae7d0b2e102d9a0dcf971b270a41bd060a9e6a643476ff8";There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems fine with me as well. Should I refactor the code to use a constant along those lines?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, let’s do that if it’s possible without messing up the module structure. I haven’t looked at the dependencies between these locations.
|
The Minio container seems to be returning 403 errors. I see these in the Which results in this exception on the Hive metastore side: |
|
Note that the log lines above are from the GHA logs for the failed jobs in this PR. I stripped out the prefix from each line to make them more readable. |
|
Chainguard build of minio defaults to running unprivileged. Thus to have compatibility, one would need to either ensure data / volume mounts use the same unprivileged uid shift inside the container, |
Description
Change to use the MinIO container image from Chainguard Containers. Only "latest" is available so I am trying with that.
This PR is just an initial test for now.
Additional context and related issues
MinIO no longer publishes updated to their container images and even the latest one has CVEs reported against it.
Release notes
(x) This is not user-visible or is docs only, and no release notes are required.