Skip to content

feat(services/swift): add TempURL presigned URL support#7214

Merged
Xuanwo merged 1 commit intoapache:mainfrom
benroeder:swift/tempurl-presign
Feb 23, 2026
Merged

feat(services/swift): add TempURL presigned URL support#7214
Xuanwo merged 1 commit intoapache:mainfrom
benroeder:swift/tempurl-presign

Conversation

@benroeder
Copy link
Contributor

Summary

  • Fixes feat: Swift service should support presigned URLs via TempURL #7213
  • Add presigned URL support via Swift's TempURL middleware for stat, read, and write operations
  • Uses prefixed base64 signature format (sha256:<base64>) which explicitly declares the algorithm
  • Supports SHA1, SHA256 (default), and SHA512 via temp_url_hash_algorithm config
  • Requires temp_url_key matching the key set on the Swift account/container
  • Configure TempURL key on SAIO for CI presign test coverage
  • Add multi-arch Dockerfile for native arm64 local testing

References:

Test plan

  • test_presign_stat, test_presign_read, test_presign_write, test_presign_read_expired now execute
  • All 97 behavior tests pass against both local SAIO and a real Swift cluster (SHA1, SHA256, SHA512 all verified)

@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Feb 23, 2026
@dosubot
Copy link

dosubot bot commented Feb 23, 2026

Related Documentation

Checked 0 published document(s) in 1 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

@dosubot dosubot bot added the releases-note/feat The PR implements a new feature or has a title that begins with "feat" label Feb 23, 2026
Copy link
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you! Really nice. The only thing left is addressing the conflicts.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Feb 23, 2026
@benroeder benroeder force-pushed the swift/tempurl-presign branch 2 times, most recently from 8baf751 to 0b78f0e Compare February 23, 2026 01:34
Add HMAC-signed TempURL support for presign operations (stat, read,
write). Uses the prefixed base64 signature format (e.g. sha256:<base64>)
which works universally across Swift deployments.

- Supports SHA1, SHA256 (default), and SHA512 algorithms via
  temp_url_hash_algorithm config
- Requires temp_url_key matching X-Account-Meta-Temp-URL-Key or
  X-Container-Meta-Temp-URL-Key on the Swift account/container
- Configure TempURL key on SAIO for CI presign test coverage
- Add multi-arch Dockerfile for native arm64 local testing
@benroeder benroeder force-pushed the swift/tempurl-presign branch from 0b78f0e to 0dbc9b3 Compare February 23, 2026 01:41
@Xuanwo Xuanwo merged commit bd4b26b into apache:main Feb 23, 2026
335 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Swift service should support presigned URLs via TempURL

2 participants