- 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 |
||
|---|---|---|
| .. | ||
| api | ||
| auth | ||
| cli | ||
| core | ||
| database | ||
| deployment | ||
| generation | ||
| ingestion | ||
| interlinking | ||
| templating | ||
| __init__.py | ||