feat: auto-enable path-style addressing when a custom endpoint is set #101

Closed
argoyle wants to merge 1 commits from feat/path-style-for-custom-endpoint into main
Owner

When AWS_ENDPOINT_URL_S3 or AWS_ENDPOINT_URL is set (typically because the runtime is pointing at a local MinIO/S3-compatible endpoint), enable path-style addressing on the S3 client. Without this, MinIO requests fail because MinIO doesn't implement virtual-hosted style addressing out of the box.

Production deployments leave those env vars unset and continue talking to real AWS S3 with virtual-hosted style, so no behaviour change there.

Both New() and NewS3() share a new s3ClientOptions helper that applies the toggle.

Needed for the Shiny acctest environment to exercise document-service, invoice-service and accounting-service S3 upload paths against an in-cluster MinIO.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

When `AWS_ENDPOINT_URL_S3` or `AWS_ENDPOINT_URL` is set (typically because the runtime is pointing at a local MinIO/S3-compatible endpoint), enable path-style addressing on the S3 client. Without this, MinIO requests fail because MinIO doesn't implement virtual-hosted style addressing out of the box. Production deployments leave those env vars unset and continue talking to real AWS S3 with virtual-hosted style, so no behaviour change there. Both `New()` and `NewS3()` share a new `s3ClientOptions` helper that applies the toggle. Needed for the Shiny acctest environment to exercise document-service, invoice-service and accounting-service S3 upload paths against an in-cluster MinIO. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
argoyle added 1 commit 2026-04-17 17:23:39 +00:00
feat: auto-enable path-style addressing when a custom endpoint is set
storage / vulnerabilities (pull_request) Successful in 1m39s
storage / test (pull_request) Successful in 1m40s
pre-commit / pre-commit (pull_request) Successful in 6m16s
5f6044a0c1
When AWS_ENDPOINT_URL_S3 or AWS_ENDPOINT_URL is set (typically because
the runtime is pointing at a local MinIO/S3-compatible endpoint),
enable path-style addressing on the S3 client. Without this
requests fail because MinIO doesn't implement virtual-hosted style
addressing out of the box.

Production deployments leave those env vars unset and continue talking
to real AWS S3 with virtual-hosted style, so no behaviour change there.

Both New() and NewS3() share a s3ClientOptions helper that applies the
toggle.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
argoyle closed this pull request 2026-04-17 17:31:04 +00:00
argoyle deleted branch feat/path-style-for-custom-endpoint 2026-04-17 17:31:08 +00:00
All checks were successful
storage / vulnerabilities (pull_request) Successful in 1m39s
Required
Details
storage / test (pull_request) Successful in 1m40s
Required
Details
pre-commit / pre-commit (pull_request) Successful in 6m16s
Required
Details

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unboundsoftware/storage#101