From 1e85c11ede16636de78524fcc9f356d8b15af7ea Mon Sep 17 00:00:00 2001 From: sjat Date: Wed, 10 Jun 2026 11:24:44 +0200 Subject: [PATCH] =?UTF-8?q?docs(backup):=20update=20hardware=20ref=20(ubon?= =?UTF-8?q?go=20M70q,=20add=20fisi)=20+=20CAPABILITIES=20=C2=A79=20(ADR-02?= =?UTF-8?q?2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/CAPABILITIES.md | 6 +++--- docs/hardware/reference.md | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/CAPABILITIES.md b/docs/CAPABILITIES.md index efa33f6..56cee84 100644 --- a/docs/CAPABILITIES.md +++ b/docs/CAPABILITIES.md @@ -104,9 +104,9 @@ role from a shared `group_vars` service catalog. The host `nftables` layer is bu | Capability | Candidate service(s) | Tier | Commitment | What it does | Notes / open | |---|---|---|---|---|---| | Databases | Postgres/MariaDB — central *vs* per-app | P | candidate | Backing store for stateful apps | Open: central server vs per-service (TODO 3.9) | -| Backup engine | Proxmox Backup Server · restic | P | planned | VM backups (PBS) + file/DB dumps (restic) | TODO 3.8 | -| Off-site target | pCloud | S | planned | Off-site copy of backups (3-2-1) | | -| Air-gap target | USB hard drives | S | maybe-later | Periodic cold/air-gapped copy | Manual rotation | +| Backup engine | restic (data-only) | S | planned | Per-service state: file dirs + logical DB dumps, pulled by `fisi` | ADR-022 (PBS deferred) | +| Off-site target | pCloud (via rclone) | S | planned | Encrypted off-site copy of the restic repo (3-2-1) | ADR-022; sync-coupled | +| Air-gap target | USB hard drives | S | planned | Rotated offline cold copy — the immutable backstop | ADR-022; udev-triggered `restic copy` | ## 10. Operations & support — [S] diff --git a/docs/hardware/reference.md b/docs/hardware/reference.md index 8098ebf..3df2c3a 100644 --- a/docs/hardware/reference.md +++ b/docs/hardware/reference.md @@ -22,10 +22,20 @@ - **Model / form factor:** _TBD (x86-64 mini-PC / USFF, e.g. N100 or refurb micro)_ - **CPU:** _TBD (target 4 cores, x86-64)_ - **RAM:** _TBD (target 16 GB)_ -- **Storage:** _TBD (target 250 GB SSD/NVMe)_ +- **Storage:** 1 TB NVMe (ThinkCentre M70q Tiny; i3-10100T, 16 GB) — over-spec for Tier-1 restore-verify (ADR-022) - **NICs:** _wired GbE_ - **Notes:** _always-on; control plane + AI-worker + local test runner (ADR-015); not a Proxmox guest_ +### fisi (backup node — outside the cluster; provisional) +- **Model / form factor:** HP Elite 600 G9 (tower) +- **CPU:** i-series (12th-gen), x86-64 — featherweight for a data-only restic node +- **RAM:** 16 GB+ (TBD exact) +- **Storage:** OS NVMe + **2× 8 TB HDD in a mirror** (ZFS/mdraid → 8 TB usable, survives one disk) +- **NICs:** wired GbE +- **Notes:** off-cluster pull backup node (ADR-022); owns the restic repo, runs rclone→pCloud, + docks the rotated USB air-gap drives. **Pending:** SATA power cable to the HDDs. + Crown-jewel host → full `base` hardening. Assignment provisional (revisit when all hardware on hand). + _(repeat for pve1, pve2, askari)_ ## 2. Network gear @@ -54,7 +64,8 @@ Physical totals per node. Integers; `ram_gb` and `disk_gb` may be decimals. |------|-------|--------|---------| | pve0 | 20 | 64 | 4000 | | pve1 | 20 | 64 | 4000 | -| ubongo | 4 | 16 | 250 | +| ubongo | 4 | 16 | 1000 | +| fisi | 4 | 16 | 8000 | ## 5. Capacity notes