Commit Graph

3 Commits (3210dc5739036c2fac224bda9f9a5dd4485082bc)

Author SHA1 Message Date
PeninsulaInd 0748b29f7c Add S3 bucket discovery with auto-import and exclusion list support
- Add auto-import-all flag to discover_s3_buckets.py for bulk import
- Add bucket exclusion list (s3_bucket_exclusions.txt) to prevent re-importing manually added FQDN sites
- Add helper scripts for S3 site management (list, check, delete)
- Update README.md with comprehensive S3 bucket management documentation
- Add colinkri_processor.py for batch processing
- Various deployment and storage improvements
2025-12-30 16:57:51 -06:00
PeninsulaInd 3cd62e4135 Add CLI documentation, S3 scripts, and update deployment code 2025-12-29 12:51:59 -06:00
PeninsulaInd a815cbcf3e Story 6.2: Implement AWS S3 Storage Client
- Add S3StorageClient class implementing StorageClient Protocol
- Support AWS S3 and S3-compatible services with custom endpoints
- Automatic bucket configuration for public read access only
- Content-type detection for uploaded files
- URL generation (default S3 URLs and custom domain support)
- Error handling for common S3 errors (403, 404, NoSuchBucket, etc.)
- Retry logic with exponential backoff (consistent with BunnyStorageClient)
- Update storage_factory to return S3StorageClient for 's3' and 's3_compatible'
- Add comprehensive unit tests with mocked boto3 calls (18 tests, all passing)

Implements Story 6.2 from Epic 6: Multi-Cloud Storage Support
2025-12-10 14:57:44 -06:00