You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Add environment variables to disable AWS-specific S3 headers for compatibility with non-AWS S3 services like MinIO and Rook Ceph RGW
- `AWS_S3_DISABLE_SSE=true` disables server-side encryption headers (`x-amz-server-side-encryption`)
- `AWS_S3_DISABLE_CHECKSUMS=true` disables checksum algorithm headers (`x-amz-checksum-algorithm`)
## Problem
The current Convex backend hard-codes AWS-specific headers in S3 multipart upload operations:
- `ServerSideEncryption::Aes256`
- `ChecksumAlgorithm::Crc32`
These headers cause compatibility issues with S3-compatible services that don't support AWS-specific features, leading to multipart upload failures.
## Solution
- Added two new environment variables in `aws_utils` crate for S3 compatibility configuration
- Modified `aws_s3` storage implementation to conditionally add AWS headers based on environment variables
- Maintains backward compatibility (headers are added by default when variables are not set)
## Files Changed
- `crates/aws_utils/src/lib.rs`: Added environment variable configuration and accessor functions
- `crates/aws_s3/src/storage.rs`: Updated multipart upload methods to conditionally add headers
## Testing
- Code compiles successfully with all dependencies
- Backward compatibility maintained (default behavior unchanged)
- Ready for testing with MinIO and other S3-compatible services
## Benefits
- Enables self-hosted Convex to work with a wider range of S3-compatible storage backends
- Improves compatibility with MinIO, Rook Ceph RGW, and other S3 implementations
- Maintains full backward compatibility with existing AWS S3 deployments
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Jason Overmier <jason.r.overmier@gmail.com>
GitOrigin-RevId: f854dba3a108deb6e9d407c50f6e8181e91bb70a
0 commit comments