feat: add ACL and Lifecycle support

Implements ACL and Lifecycle management capabilities (v0.16.0) including:
- Bucket APIs: PutBucketAcl, GetBucketAcl, PutBucketLifecycle, GetBucketLifecycle, DeleteBucketLifecycle
- Object APIs: PutObjectAcl, GetObjectAcl
- Integration: Support for Canned ACLs (private, public-read, etc.) and Full Access Control Policies
- Lifecycle Configuration: Rules, Filters, Expiration, Transitions

Verified integration with MinIO:
- Note: MinIO returns 501 Not Implemented for Canned ACLs via headers, so tests for those are skipped while Custom ACLs (XML) are fully verified.

Includes comprehensive integration tests covering all operations.
Updated ROADMAP.md to mark v0.16.0 as completed.
This commit is contained in:
Rohan Verma
2025-11-27 17:04:27 +05:30
parent 9219b63613
commit b43fd913ed
5 changed files with 1015 additions and 21 deletions
+9 -8
View File
@@ -146,20 +146,21 @@ Features Implemented:
---
## v0.16.0 - ACLs & Lifecycle
## v0.16.0 - ACLs & Lifecycle ✅ COMPLETED
**Scope**: Advanced management
**Size**: Medium (9 APIs, ~500 LOC)
**Released**: Nov 27, 2025
ACLs:
- [ ] PutObjectAcl
- [ ] GetObjectAcl
- [ ] PutBucketAcl
- [ ] GetBucketAcl
- [x] PutObjectAcl
- [x] GetObjectAcl
- [x] PutBucketAcl
- [x] GetBucketAcl
Lifecycle:
- [ ] PutBucketLifecycle
- [ ] GetBucketLifecycle
- [ ] DeleteBucketLifecycle
- [x] PutBucketLifecycle
- [x] GetBucketLifecycle
- [x] DeleteBucketLifecycle
**Why**: Grouped advanced features. Completes library API surface.