mirror of
https://github.com/NixOS/nix.git
synced 2025-11-08 19:46:02 +01:00
1.1 KiB
1.1 KiB
| synopsis | prs | issues | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Improved S3 binary cache support via HTTP |
|
|
S3 binary cache operations now happen via HTTP, leveraging libcurl's native
AWS SigV4 authentication instead of the AWS C++ SDK, providing significant
improvements:
- Reduced memory usage: Eliminates memory buffering issues that caused segfaults with large files
- Fixed upload reliability: Resolves AWS SDK chunking errors
(
InvalidChunkSizeError) - Lighter dependencies: Uses lightweight
aws-crt-cppinstead of fullaws-cpp-sdk, reducing build complexity
The new implementation requires curl >= 7.75.0 and aws-crt-cpp for credential
management.
All existing S3 URL formats and parameters remain supported, with the notable exception of multi-part uploads, which are no longer supported.
Note that this change also means Nix now supports S3 binary cache stores even
if build without aws-crt-cpp, but only for public buckets which do not
require auth.