Commit graph

2 commits

Author SHA1 Message Date
38343c0128 feat: simplify GCS storage naming and add Cloud Run deployment options
Changes:
- **NEW**: type: 'gcs' now uses native @google-cloud/storage SDK (more intuitive!)
- **DEPRECATED**: type: 'gcs-native' is deprecated (use 'gcs' instead)
- **NEW**: Add skipInitialScan option to skip bucket scan on init (fixes Cloud Run timeouts)
- **NEW**: Add skipCountsFile option to disable counts persistence
- **NEW**: Add 2-minute timeout to bucket scans with helpful error messages
- **IMPROVED**: Better error handling and recovery for bucket scan failures
- **IMPROVED**: Automatic detection of HMAC keys routes to S3CompatibleStorage
- **IMPROVED**: Backward compatibility maintained - all existing configs still work

Migration Guide:
- If using type: 'gcs-native' → Change to type: 'gcs' (or remove type, it auto-detects)
- If using HMAC keys with gcsStorage → Consider migrating to ADC for better performance
- For Cloud Run timeouts → Add skipInitialScan: true to gcsNativeStorage config

Why This Fixes the Waitlist Bug:
- Cloud Run containers were timing out during bucket scans
- skipInitialScan option allows bypassing expensive bucket scans
- Timeout handling prevents silent failures
- Better error messages guide users to solutions

Resolves issue where GCS native adapter was confusingly named 'gcs-native'
while legacy S3-compatible mode used 'gcs'. Now 'gcs' correctly uses the
native SDK by default, as users expect. Previous configs continue to work.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-20 11:12:32 -07:00
e2aa8e3253 feat: add native Google Cloud Storage adapter with ADC support
Implement native @google-cloud/storage adapter for better performance
and easier authentication in Cloud Run/GCE environments.

Features:
- Application Default Credentials (ADC) for zero-config auth
- Service account authentication (keyFilename, credentials)
- HMAC fallback for backward compatibility
- Full UUID-based sharding preservation
- Write buffers for high-volume mode
- Multi-level caching and adaptive backpressure
- Complete feature parity with S3-compatible adapter

Benefits over S3-compatible GCS:
- No HMAC key management required
- Native SDK performance optimizations
- Automatic authentication in Cloud Run/GCE
- Simpler configuration

Configuration:
- type: 'gcs-native'
- gcsNativeStorage: { bucketName, keyFilename?, credentials? }
- Zero data migration required (same path structure)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-08 14:08:43 -07:00