mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-21 01:34:16 +00:00
refactor appview to use envvars. move distribution configurations to code
This commit is contained in:
+22
-4
@@ -471,12 +471,30 @@ A company wants shared storage for their team:
|
||||
3. **In-memory cache** - Hold endpoint cache is in-memory (for production, use Redis)
|
||||
4. **Manual profile updates** - No UI for updating sailor profile (must use ATProto client)
|
||||
|
||||
## Performance Optimization: S3 Presigned URLs
|
||||
|
||||
**Status:** Planned implementation (see [PRESIGNED_URLS.md](./PRESIGNED_URLS.md))
|
||||
|
||||
Currently, hold services act as proxies for blob data. With presigned URLs:
|
||||
|
||||
- **Downloads:** Docker → S3 direct (via 307 redirect)
|
||||
- **Uploads:** Docker → AppView → S3 (via presigned URL)
|
||||
- **Hold service bandwidth:** Reduced by 99.98% (only orchestration)
|
||||
|
||||
**Benefits:**
|
||||
- Hold services can run on minimal infrastructure ($5/month instances)
|
||||
- Direct S3 transfers at maximum speed
|
||||
- Scales to arbitrarily large images
|
||||
- Works with Storj, MinIO, Backblaze B2, Cloudflare R2
|
||||
|
||||
See [PRESIGNED_URLS.md](./PRESIGNED_URLS.md) for complete technical details and implementation guide.
|
||||
|
||||
## Future Improvements
|
||||
|
||||
1. **Automatic failover** - Multiple storage endpoints, fallback to default
|
||||
2. **Storage analytics** - Track usage per DID
|
||||
3. **Quota integration** - Optional quota tracking in storage service
|
||||
4. **Direct presigned URL support** - S3 native presigned URLs (bypass proxy)
|
||||
1. **S3 Presigned URLs** - Implement direct S3 URLs (see [PRESIGNED_URLS.md](./PRESIGNED_URLS.md))
|
||||
2. **Automatic failover** - Multiple storage endpoints, fallback to default
|
||||
3. **Storage analytics** - Track usage per DID
|
||||
4. **Quota integration** - Optional quota tracking in storage service
|
||||
5. **Profile management UI** - Web interface for users to manage their sailor profile
|
||||
6. **Distributed cache** - Redis/Memcached for hold endpoint cache in multi-instance deployments
|
||||
|
||||
|
||||
Reference in New Issue
Block a user