fix(argo-workflows): default S3 endpoint to s3.amazonaws.com when not set#3796
Merged
tico24 merged 3 commits intoargoproj:mainfrom Mar 24, 2026
Merged
Conversation
tico24
requested changes
Mar 20, 2026
Member
tico24
left a comment
There was a problem hiding this comment.
You're the second person today who allowed their LLM to delete the PR checklist and to not do the things in them. Humans have to spend time reviewing these PRs.
Please mark this PR as draft, re add the checklist and follow it. Thank you.
a6ec565 to
9f57d5a
Compare
9f57d5a to
e452661
Compare
… set The endpoint field was rendered with an empty value when no endpoint was configured, causing argoexec to fail with 'does not follow ip address or domain name standards'. The argoexec S3 driver passes the endpoint directly to minio-go which requires a valid hostname. Neither an empty string nor omitting the key works — Go unmarshals a missing string field as "" (zero value), and argoexec has no empty-endpoint guard before calling minio.New(). Default to s3.amazonaws.com (the AWS global S3 endpoint) when no endpoint is explicitly configured. This is recognized by minio-go as an Amazon endpoint and enables signature v4 and dual-stack automatically. Fixes argoproj#3801 Signed-off-by: Andre Kurait <[email protected]>
e452661 to
5c2fdbe
Compare
Contributor
Author
|
@tico24 Thank you, i'm ready for a re-review now with the checklist followed |
yu-croco
approved these changes
Mar 23, 2026
jmeridth
approved these changes
Mar 23, 2026
pipekit-ci
approved these changes
Mar 24, 2026
tico24
approved these changes
Mar 24, 2026
xavier-re
pushed a commit
to xavier-re/argo-helm-xr
that referenced
this pull request
Apr 8, 2026
… set (argoproj#3796) Signed-off-by: Xavier Renaut <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #3801
Summary
The S3
endpointfield in the artifact repository ConfigMap template renders an empty value when no endpoint is configured. The argoexec S3 driver passes this directly to minio-go (minio.New("")), which rejects it:Neither an empty string nor omitting the key works — Go unmarshals a missing string field as
""(zero value), and argoexec has no empty-endpoint guard before callingminio.New(). The fix must provide a valid default.Change
Default the endpoint to
s3.amazonaws.comwhen not explicitly set:Before:
After:
s3.amazonaws.comis the AWS global S3 endpoint. Minio-go explicitly recognizes it (IsAmazonEndpoint), enabling signature v4 and dual-stack automatically. It works with VPC gateway endpoints and interface endpoints (with private DNS enabled).Deployments with custom endpoints (MinIO, LocalStack, GCS, etc.) are unaffected — their value takes precedence over the default.
Checklist: