Datastore without backup or retention

errordatastore-missing-backup

A system of record with backups off, or with no retention period stated, cannot be restored. The loss is discovered on the day it matters.

Severity
error
Selects
every node of kind sql-database
Components in scope
76
What it checks

It looks at every node of kind sql-database, and fires when:

  • — any of these hold:
  • — the node's `backupEnabled` is false
  • — the node's `backupRetentionDays` has no value
Message
Datastore '{{node.id}}' has no backup or no retention policy declared.

{{node.id}} style paths are filled in from the node, the edge or the design the finding is about.

Applies to · 76 components
Tripped by · 16

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.

Source
# yaml-language-server: $schema=../schema/rule.schema.json
# A system of record with no backup or no stated retention is an unrecoverable data loss
# waiting to happen. Tripped by designs/multi-region-web.broken.yaml.
schemaVersion: "1"
type: "rule"
id: "datastore-missing-backup"
severity: "error"
select:
  node:
    kind: "sql-database"
when:
  any:
    - prop: "backupEnabled"
      equals: false
    - prop: "backupRetentionDays"
      exists: false
message: "Datastore '{{node.id}}' has no backup or no retention policy declared."

The same page as markdown, for an agent: /catalogue/rules/datastore-missing-backup.md