[L4] BYOC S3 client pool: new streamhouse-storage/src/byoc.rs module - #15
Open
gbram1 wants to merge 1 commit into
Conversation
…odule Add the ByocS3ClientPool that assumes customer IAM roles via STS and wires it into AppState and the unified server.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Goal
Add the ByocS3ClientPool that assumes customer IAM roles via STS and wires it into AppState and the unified server.
Risk
medium — Adds aws-config and aws-sdk-sts as new heavy dependencies and introduces a network call (STS AssumeRole) in the server startup path when BYOC_ENABLED=true; the pool is opt-in but adds compile-time weight to all builds.
Rationale
Depends on L3 because
unified-server.rsnow initializes bothoidc_auth(L3) andbyoc_s3(this level), andAppStategains thebyoc_s3field which compiles only after L3'soidc_authrename is in place. Reviewers should check: the STS credential refresh window (5 min early), thatByocS3ClientPool::from_envreturnsNonesafely whenBYOC_ENABLEDis unset, and that the new AWS SDK deps don't introduce duplicate TLS stacks.fly.tomldeletion is included here as cleanup tied to the cloud-deployment refactor.Cargo.lockalso lives here as the lock file update is dominated by the new AWS SDK deps.Files (8)
crates/streamhouse-storage/src/byoc.rscrates/streamhouse-storage/src/lib.rscrates/streamhouse-storage/Cargo.tomlcrates/streamhouse-server/src/bin/unified-server.rsCargo.tomlCargo.lockdocs/deployment.mdfly.toml