feat: add server-side encryption support

Implements server-side encryption capabilities (v0.13.0) including:
- Core Support: SSE-S3 (AES256) and SSE-KMS
- Integration: Added encryption fields to UploadInput, CopyObjectInput, InitiateMultipartUploadInput, and MultipartUploadInput
- Operations: Updated FilePut, FileUpload (POST), CopyObject, and multipart upload flows to support encryption headers
- API: Updated FileDetails (HeadObject) to return ServerSideEncryption and SSEKMSKeyId in DetailsResponse

Testing:
- Configured MinIO with built-in KMS (via MINIO_KMS_SECRET_KEY) in docker-compose.yml to enable SSE-S3 support
- Added comprehensive integration tests verifying headers are correctly sent and returned
- Verified file integrity and encryption status across all upload methods

Updated ROADMAP.md to mark v0.13.0 as completed.
This commit is contained in:
Rohan Verma
2025-11-27 17:26:03 +05:30
parent b43fd913ed
commit 0f57456b2a
6 changed files with 319 additions and 12 deletions
+1
View File
@@ -8,6 +8,7 @@ services:
environment:
- MINIO_ROOT_USER=minioadmin
- MINIO_ROOT_PASSWORD=minioadmin
- MINIO_KMS_SECRET_KEY=my-minio-key:eXmCryULA8N6GxvDms8iUHa9t8qUmffLHJdB/e4qPy0=
volumes:
- minio_data:/data
command: server /data --console-address ":9001"