Skip to content

Storage

One bucket per component, provisioned by terraform/garage-buckets — see garage-buckets.md.

Component Bucket Prefixes Local disk
Loki loki chunks and ruler share it 10Gi Longhorn, WAL and index staging
Mimir mimir blocks, ruler 20Gi Longhorn, TSDB head, compactor scratch, store-gateway sync
Tempo tempo 5Gi Longhorn, WAL

Garage needs the same three things everywhere: path-style addressing (s3ForcePathStyle / bucket_lookup_type: path / forcepathstyle), insecure for plain HTTP on port 3900, and region garage.

Retention is in-app, 30 days everywhere — limits_config.retention_period, compactor_blocks_retention_period and tempo.retention. Not S3 lifecycle rules: the vhco-pro/garage provider exposes buckets, keys and permissions only, so a lifecycle policy is not something this repo can declare.

Only the two key fields come from OpenBao. Endpoint, region and bucket are not secrets and sit in the values. Each component reads the keys as environment variables and expands them with -config.expand-env=true, so no credential is ever templated into a ConfigMap.

Loki's chart still renders an inert boltdb_shipper index-gateway stanza. No schema period references it — the single schema entry is tsdb/v13 — so it is dead config, not a second index.