Files
doc/ks2/decommission.md
Julien LutranandClaude Opus 5 66c7bca28f ks2: ks4 pull leg and its WireGuard tunnel move from nuc to nas
nuc-seed.md -> nas-seed.md. The leg was designed around nuc's USB pool,
which is exactly the device it must not depend on. Target pool ks4backup
now lives on tank; nas becomes WG peer 10.8.0.22 and nuc's tunnel retires
once seeded — nuc no longer needs one at all, since transmission-bt (the
only other user) moved to nas with its own in-container tunnel.

ks4 needs no change: traffic arrives masqueraded as the wireguard
container whichever peer sent it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-30 23:53:30 +02:00

2.4 KiB

ks2 decommission — final checklist

Status: prepared — execute only when every gate in plan.md is ticked. Rental ends Sep 30, 2026; leave a few days of margin.

Preconditions (the plan's release gates)

  • restic S3 leg running nightly for ≥ a week, done (rc=0), restore test passed (restic-backup.md §7)
  • nas pull leg seeded and one instance test-restored (nas-seed.md)
  • local leg (sdb5) cron green in /var/log/incus-copy.log

1. Cut the last flows to ks2 (root on ks4)

crontab -e   # remove any remaining ks2 line (the 02:00 push, if it was
             # re-enabled; the 04:00 incus-backup.sh line is long gone)
incus remote list                 # if a "ks2" remote is still defined:
incus remote remove ks2
# drop the rsyncbackup SSH key if it exists only for ks2:
ls /root/.ssh/id_rsyncbackup* && rm -i /root/.ssh/id_rsyncbackup*

2. Last look at ks2 before wiping (root on ks2)

# anything in the rsync tree newer than the S3 cutover?
find /backup/ns3061243 -newermt '2026-08-23' | head
# pre-2023 dirs (catc, mythoughts, qcm, scripts): instances still
# exist stopped on ks4 — spot-check nothing unique remains:
ls /backup/ns3061243/{catc,mythoughts,qcm,scripts}

Archive anything unique into the restic dump dir on ks4 (/backup/dumps) — it then rides the nightly S3 snapshot for free.

3. Wipe and terminate

# on ks2 — destroy the data (both pools hold copies of personal data):
zpool destroy backup && zpool destroy data
# optional: shred the OS disks via OVH rescue mode / reinstall

Then in the OVH manager: cancel the ks2 (Kimsufi) server before the renewal date.

4. Post-mortem cleanup

  • Update doc/README.md: remove ks2 from the ks4 durability bullet and the index line for ks2/s "being decommissioned" wording (keep the folder as history)
  • Retire scripts/incus-backup.sh + incus-backup.db in the repo (superseded by restic-backup.sh) — keep for reference, note the retirement in their headers
  • login container cleanup: its native postgres still holds the pre-migration outline database (live Outline uses the dockerised outline-postgres-1) — dropdb outline and remove the native postgres package
  • Mark the ks2 line in plan.md done, date it