Object store in fewer than three zones with a durability target
errorobject-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.
- Severity
- error
- Selects
- every node of kind object-store
- Components in scope
- 33
It looks at every node of kind object-store, and fires when:
- — 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
Object store '{{node.id}}' spans fewer than 3 zones (or declares none) while the design targets more than 10 nines of durability.Reference designs whose broken twin names this rule in its header. The gate reads the same header, and fails when a rule no design trips.
# yaml-language-server: $schema=../schema/rule.schema.json # Eleven nines of durability is a designed target that assumes redundancy spread over at # least three failure domains. An object store confined to one or two zones cannot meet it. # Tripped by: designs/object-storage.broken.yaml schemaVersion: "1" type: "rule" id: "object-store-single-zone-with-durability-target" severity: "error" select: node: kind: "object-store" when: all: - requirement: "durability.annualNines" gt: 10 - any: - prop: "zones" exists: false - prop: "zones" lt: 3 message: "Object store '{{node.id}}' spans fewer than 3 zones (or declares none) while the design targets more than 10 nines of durability."