Restore and recovery tiers — homelab farm systems¶
Purpose¶
Define tiered recovery expectations for farm records (farmOS / DB), container hosts, and cluster storage—using labels (Tier 0–3). RPO/RTO are operator-defined targets filled after restore drills, not invented by the wiki.
Doctrine role: Canonical tier vocabulary for the package—pair with Disaster recovery decision rules for when to invoke each tier.
Sources: homelab backup stack — official captures.
Canonical package: Backup and disaster recovery package — smart farm stack.
RPO and RTO expectations (worksheet)¶
Recovery Point Objective (RPO): maximum acceptable age of data you are willing to lose (e.g. “last successful nightly dump” vs “15-minute WAL shipping”—only the former is assumed here unless you document otherwise).
Recovery Time Objective (RTO): maximum acceptable downtime to bring minimum usable farm records or telemetry back online (typically hours to days by tier below).
| Workload | Tier target (below) | RPO (you fill) | RTO (you fill) | Last drill date |
|---|---|---|---|---|
| farmOS / PostgreSQL logical | 2 | e.g. 24 h | e.g. 8 h | |
| Longhorn volume(s) for app PVC | 1–2 | |||
| k3s etcd / control plane | 3 | |||
| Rancher (if deployed) | 3 | |||
| Edge gateway config (non-Git) | 1 |
Rule: Targets without a dated restore drill per Runbook — backup validation and recovery drill are aspirational only.
Tier definitions (operational)¶
| Tier | Scope | Restore speed (typical) | Complexity | Retention behavior (typical) | Encryption |
|---|---|---|---|---|---|
| 0 — Working state | Live service; no restore | N/A | N/A | N/A | TLS in transit as deployed |
| 1 — File / volume rollback | One PVC, bind mount, or VM disk from restic or Longhorn snapshot | Hours (operator available) | Low–medium—mount + verify | Snapshot count + forget policy (restic remove docs) |
restic repo encryption; Longhorn backup target TLS |
| 2 — Database logical restore | pg_dump / vendor dump into clean DB |
Hours | Medium—schema/version match | Daily/weekly dumps per policy | Same as backup medium |
| 3 — Platform DR | Longhorn system backup/restore + rebuild cluster | Days | High—ordering, CRDs, targets | Infrequent full platform bundles | Cluster secrets + backup store ACLs |
Rule: Tier 3 without Tier 2 for the same app data can produce empty “healthy” clusters—always keep a logical farm data path for farmOS-class systems unless you have proven consistent volume-level procedures.
What to drill (minimum)¶
- Restore one restic snapshot to scratch storage (verify files, not just
restic check). - Restore DB from latest logical dump to a staging DB and run farmOS update/migrate per project docs.
- Longhorn (if used): walkthrough backup target failure and re-auth procedure from
longhorn backupcapture.
Related¶
Disaster recovery decision rules — farm edge stackBackup and disaster recovery package — smart farm stackCentral vs local backup scope — farm edge stackBackup strategy comparison — farmOS, homelab, PostgreSQL, containersRunbook — backup validation and recovery drillAutomation degraded modes SOP— when “cloud is wrong” overlaps with “restore in progress.”Off-grid implications — backup and networking choices