A Docker image that wraps minio/minio:RELEASE.2024-01-18T22-51-28Z with the lux-env-loader-entrypoint utility, enabling MinIO to load environment variables from external secrets files at startup.
This image is designed for environments where secrets are delivered as JSON files (e.g., mounted from a Kubernetes secret or a cloud secrets manager) rather than as plain environment variables. The env-loader reads /secrets/*.json at startup, exports the key-value pairs as environment variables, and then delegates to the original MinIO entrypoint.
- The container starts with
env-loader-entrypoint.shas its entrypoint. - The entrypoint reads all
*.jsonfiles under/secrets/and exports each top-level key as an environment variable. - Control is then handed to
minioas the default command.
make build-env-loaderTo build and push:
make env-loaderOverride the registry or version:
make env-loader REGISTRY=my-registry MINIO_VERSION=RELEASE.2024-01-18T22-51-28ZBase image: minio/minio:RELEASE.2024-01-18T22-51-28Z
Env-loader source: us-docker.pkg.dev/hasura-ddn/ddn/lux-env-loader-entrypoint:20250508.rc1
Published image: us-docker.pkg.dev/hasura-ddn/ddn/minio:RELEASE.2024-01-18T22-51-28Z-env-loader
Co-authored-by: Tomasz Skawinski tom@hasura.io