Skip to content

#144 Removing S3 SDK dependency - #171

Merged
gunnarmorling merged 1 commit into
mainfrom
144
Mar 27, 2026
Merged

#144 Removing S3 SDK dependency#171
gunnarmorling merged 1 commit into
mainfrom
144

Conversation

@gunnarmorling

@gunnarmorling gunnarmorling commented Mar 27, 2026

Copy link
Copy Markdown
Collaborator

hardwood-s3 needs two HTTP operations against S3: a suffix-range GET (for open()) and byte-range GETs (for readRange()). This does not warrant an 8 MB / 31-JAR dependency on the AWS SDK S3 service client.

This design builds S3 support on three layers:

  1. Credentials delegationS3Credentials / S3CredentialsProvider types in hardwood-s3. Callers supply credentials; Hardwood never resolves them.
  2. SigV4 signing — ~200 lines, JDK crypto only (MessageDigest, Mac).
  3. HTTP transport — JDK java.net.http.HttpClient, no SDK HTTP abstractions.

hardwood-s3 has zero external dependencies beyond hardwood-core. An optional hardwood-aws-auth module bridges software.amazon.awssdk:auth for users who want the full AWS credential/region chain.

@gunnarmorling
gunnarmorling merged commit a513a96 into main Mar 27, 2026
8 checks passed
@gunnarmorling
gunnarmorling deleted the 144 branch March 29, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant