objects/s3: add force_path_style option and use path-style addressing when set (MinIO compatibility) #2115
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.
Summary:
Add a force_path_style option to the S3 provider and use it to switch the AWS SDK to path-style bucket addressing. This enables compatibility with MinIO and other S3-compatible endpoints that don’t support virtual-hosted-style URLs.
Changes:
Proto: add BucketCluster.S3.force_path_style.
Infra mapping: accept force_path_style in JSON and pass it to runtime.
S3 client: enable AWS SDK path-style when force_path_style is true.
Why:
MinIO and some custom/local endpoints require path-style (https://endpoint/bucket/key) instead of virtual-hosted-style.
Usage:
Set force_path_style: true in your S3 provider config.
Example:
"force_path_style": true
Backwards compatibility:
Default is false; behavior unchanged unless enabled.