Garage (Planned)
Garage is not yet bundled as a sub-chart of helm_aio. The
provider registry under objectStorage.providers already accommodates
it, so an operator can wire Garage in today through the
Add a New Provider procedure. Native bundled
support, alongside an automated bucket-init Job and a tested
end-to-end migration path, is on the Ilum roadmap.
Overview
Garage is an Apache-2.0 S3-compatible distributed object store written in Rust. It is designed for geo-distributed deployments with modest hardware footprints. The upstream project lives at git.deuxfleurs.fr/Deuxfleurs/garage.
| Property | Value |
|---|---|
| License | AGPL-3.0 (per upstream Cargo.toml) |
| Status in Ilum | Planned (registry-ready) |
| Bundled chart | Not yet shipped |
| Bundled image | Not yet shipped |
Default in helm_aio | Disabled |
| Upstream version | v2.1.0 and earlier stable releases (in production at Deuxfleurs since 2020) |
| Distributed mode | Native; intended use case |
| Console UX | Native admin UI; integration with the Ilum Object Storage iframe is on the roadmap |
| OIDC integration | Not yet evaluated against Garage |
Supported S3 surface
The upstream documentation enumerates supported S3 operations under Reference manual: S3 compatibility. The headline coverage relevant to Ilum workloads is:
- Object operations:
GetObject,PutObject,DeleteObject,CopyObject,HeadObject. - Listing:
ListObjects,ListObjectsV2with pagination. - Multipart upload:
CreateMultipartUpload,UploadPart,CompleteMultipartUpload, and related endpoints. - Bucket operations:
CreateBucket,DeleteBucket,HeadBucket,ListBuckets,GetBucketLocation. - Presigned URLs and CORS configuration.
- Lifecycle is partially supported (only
AbortIncompleteMultipartUploadandExpirationactions).
Operators evaluating Garage for Ilum workloads should be aware of the following upstream gaps:
- Bucket policies and ACLs are not implemented. Access is managed through Garage's per-access-key-per-bucket logic instead.
- Object versioning is not yet supported.
- Object tagging is not implemented.
- Server-side encryption (SSE-C, SSE-S3, SSE-KMS) is not supported.
- Replication, notifications, analytics, and inventory are not supported.
- Only SigV4 is supported. Legacy SigV2 is not implemented.
When this provider will be a good fit
- Geo-distributed deployments where erasure coding across heterogeneous hardware is required.
- Edge or homelab deployments that want a small, predictable resource footprint without sacrificing distribution.
- Air-gapped clusters that want a permissively licensed, Rust-native storage layer with broader distributed-mode maturity than the current bundled RustFS alpha.
Provisional registry entry
When Ilum ships bundled Garage support, the registry entry will look approximately like the snippet below. Operators wiring Garage in today through Add a New Provider can use this as a starting point.
objectStorage:
providers:
garage:
enabled: true
consolePath: /external/garage/
consoleMode: nginx-rewrite
Reference
- Upstream project: garagehq.deuxfleurs.fr
- Upstream source: git.deuxfleurs.fr/Deuxfleurs/garage
- Add this provider today: Add a New Object Storage Provider
- Helm values: Object Storage Helm Values