feat(s3): Add S3-compatible storage backend for Tigris/AWS #3
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.
Summary
Convos::Util::S3- AWS Signature Version 4 signing utility for S3-compatible APIsConvos::Core::Backend::S3- Storage backend extending File backend to store objects in S3/TigrisArchitecture
Backend::S3extendsBackend::Filevia inheritance:save_object_p,load_object_p,delete_object_p→ S3users_p,connections_p,files_p→ S3 LIST operationsmessages_p,notifications_p→ local files (append-heavy, different solution needed)Configuration
CONVOS_BACKEND=Convos::Core::Backend::S3 CONVOS_S3_ENDPOINT=https://fly.storage.tigris.dev CONVOS_S3_BUCKET=my-bucket CONVOS_S3_KEY=tid_xxxx CONVOS_S3_SECRET=tsec_xxxx CONVOS_S3_REGION=auto CONVOS_HOME=/data/convos # still needed for logsStats
Test Plan
t/util-s3.t)t/backend-s3.t)t/backend-s3-integration.t- requires credentials)