Expand description
S3-compatible origin backend (#437).
Fetches blobs from {prefix?}{hex[0..2]}/{hex} keys in an S3 bucket via
the official AWS SDK. The sharded key layout mirrors
super::FilesystemOrigin so operators can aws s3 sync between a
filesystem origin and an S3 origin without rewriting object names.
Supports plain AWS S3, Cloudflare R2, Backblaze B2, MinIO, and any other
S3-compatible service via the endpoint_url + path_style knobs on
S3OriginConfig. Credentials come from either explicit static keys or
the AWS default credential chain (env, ~/.aws/credentials profile,
container/instance role).
§TLS / HTTP layer
The SDK is configured to bring its own HTTP client built from
aws_smithy_http_client over hyper-1 + rustls 0.23 + aws-lc-rs,
matching the rest of the workspace. The SDK’s stock HTTP stack
(hyper-0.14 + rustls 0.21 + ring) is suppressed via default-features = false on aws-sdk-s3 and aws-config — bringing it in would force a
third parallel TLS implementation into the dep tree.
Structs§
- S3Origin
- Origin backed by an S3-compatible object store.
- S3Origin
Config - Validated, runtime-ready configuration for an
S3Origin.
Enums§
- S3Credentials
- How
S3Originobtains AWS credentials.