Garage

Self-hosted S3-compatible object store for geo-distributed, heterogeneous nodes.

Provider
default
Category
Data
Properties · 5 set by this component
propertytypevaluesrequiredkind defaultthis component
checksumOnWrite · advancedboolean—nofalseinherited
consistencyMode · component propertyenumconsistent | degraded | dangerousnoconsistentinherited
durabilityNines · advancedinteger—no—inherited
encryptionAtRestboolean—nofalse▸ false
managedboolean—nofalse▸ false
multiSite · component propertyboolean—nofalseinherited
objectLockboolean—nofalseinherited
replicationenumnone | primary-secondary | quorum | erasure-codednonone▸ quorum
replicationFactor · component propertyinteger—no—inherited
strongReadAfterWrite · advancedboolean—nofalse▸ true
tierenumhot | warm | coldnohotinherited
versioningboolean—nofalse▸ false
zonesinteger—no—inherited
Rules that apply · 1

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

object-store-single-zone-with-durability-target

Eleven nines of durability assumes redundancy spread over at least three failure domains. An object store confined to fewer zones, or declaring none, cannot reach the target the design states.

  • — all of these hold:
  • — the design requirement `durability.annualNines` is a number greater than 10
  • — any of these hold:
  • — the node's `zones` has no value
  • — the node's `zones` is a number less than 3
Use it in a design
nodes:
  - { id: "garage", component: "garage" }
Other Object store products · 32
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Garage: self-hosted S3-compatible object store designed for geo-distributed, heterogeneous nodes.
# Per "Configuration file format", replication_factor is a required cluster-wide setting that stores that
# many full copies (there is no erasure coding), and consistency_mode defaults to "consistent", which uses
# quorum reads and writes and gives read-after-write consistency.
schemaVersion: "1"
type: "component"
id: "garage"
kind: "object-store"
provider: "default"
docs: "https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/"
defaults:
  managed: false
  replication: "quorum"
  strongReadAfterWrite: true
  versioning: false
  encryptionAtRest: false
properties:
  consistencyMode:
    type: "enum"
    values: ["consistent", "degraded", "dangerous"]
    default: "consistent"
  replicationFactor:
    type: "integer"
  multiSite:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/components/garage.md