Skip to content

Commit d655ec5

Browse files
author
Nissan Pow
committed
fix: remove METAFLOW_S3_ENDPOINT_URL from minio config to fix argo/k8s pod S3 access
The k8s plugin injects METAFLOW_S3_ENDPOINT_URL into pods. With host.docker.internal:9000 set, pods override AWS_ENDPOINT_URL_S3 from the minio-secret (minio.default.svc.cluster.local:9000) with an unreachable URL. host.docker.internal resolves on macOS (OrbStack/Docker Desktop) but not from inside Kubernetes pods on Linux/minikube in CI. Fix: omit METAFLOW_S3_ENDPOINT_URL from config so S3_ENDPOINT_URL=None and nothing is injected into pods. Pods get their endpoint from the minio-secret (AWS_ENDPOINT_URL_S3=http://minio.default.svc.cluster.local:9000). Host-side boto3 still uses METAFLOW_DATATOOLS_CLIENT_PARAMS.endpoint_url.
1 parent f22292a commit d655ec5

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

devtools/tilt/minio.tiltfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ def setup_minio(ctx):
5656
config={
5757
"METAFLOW_DEFAULT_DATASTORE": "s3",
5858
"METAFLOW_DATASTORE_SYSROOT_S3": "s3://metaflow-test/metaflow",
59-
"METAFLOW_S3_ENDPOINT_URL": "http://host.docker.internal:9000",
59+
# Do NOT set METAFLOW_S3_ENDPOINT_URL here. The k8s plugin injects it
60+
# into pods verbatim, and host.docker.internal:9000 doesn't resolve from
61+
# inside Kubernetes pods on Linux. Pods get AWS_ENDPOINT_URL_S3 from the
62+
# minio-secret (http://minio.default.svc.cluster.local:9000) instead.
63+
# Host-side boto3 uses METAFLOW_DATATOOLS_CLIENT_PARAMS.endpoint_url below.
6064
"METAFLOW_DATATOOLS_CLIENT_PARAMS": {
6165
"endpoint_url": "http://localhost:9000",
6266
"config": {

0 commit comments

Comments
 (0)