Aller au contenu principal

Garage (Planned)

Planned, registry-ready

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 Travail and a tested end-to-end migration path, is on the Ilum roadmap.

Aperçu​

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.

PropertyValeur
LicenceAGPL-3.0 (per upstream Cargo.toml)
Status in IlumPlanned (registry-ready)
Bundled chartNot yet shipped
Bundled imageNot yet shipped
Default in helm_aioDisabled
Upstream versionv2.1.0 and earlier stable releases (in production at Deuxfleurs since 2020)
Distributed modeNative; intended use case
Console UXNative admin UI; integration with the Ilum Object Storage iframe is on the roadmap
OIDC integrationNot 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, ListObjectsV2 with 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 AbortIncompleteMultipartUpload et Expiration actions).

Operators evaluating Garage pour 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:
Activé: vrai
consolePath: /external/garage/
consoleMode: nginx-rewrite

Reference​