on reproducibility, and reviving (or moving) a host #28

Open
opened 2026-06-11 00:33:05 -05:00 by sarahlament · 5 comments
Owner

problem: currently, the process to revive a dead host is an arcane magic that even I could mess up easily

solution:
- setup services.borgbackup pointing to an external Hetzner box, allowing for remote backups that do not rely on my hosts
- add a RECOVERY.md file with the steps for a full host recovery, including passing my key.age to the target host first
- after backups are created and functionally tested, perform a full test on athena after implementing impermanence

problem: currently, the process to revive a dead host is an arcane magic that even I could mess up easily solution: - setup `services.borgbackup` pointing to an external Hetzner box, allowing for remote backups that do not rely on my hosts - add a RECOVERY.md file with the steps for a full host recovery, including passing my `key.age` to the target host first - after backups are created and functionally tested, perform a full test on `athena` after implementing impermanence
sarahlament referenced this issue from a commit 2026-06-12 16:51:18 -05:00
Author
Owner

remote backups are working! only problem is that the backup name defaults to <hostname>-<jobname>... which are the exact same with my module. so I'm going to fix that, then start on wiring in impermanence on athena. ishtar is a secondary prio, so it is outside the scope of this issue

remote backups are working! only problem is that the backup name defaults to `<hostname>-<jobname>`... which are the exact same with my module. so I'm going to fix that, then start on wiring in impermanence on `athena`. `ishtar` is a secondary prio, so it is outside the scope of this issue
sarahlament changed title from on reproducibility, and loosing a host to on reproducibility, and loosing (or moving) a host 2026-06-13 23:25:20 -05:00
Author
Owner

new plan: instead of doing an in-place revival of athena, I will instead be migrating to a new VPS host and using that as a test-bed. I plan for at minimum a half-month of overlap with two servers to ensure a proper revival

as an intermediary step in this process, I will be moving my domain authority to cloudflare, so I will be wiring its DNS stuff before tackling the rest of impermanence

upon a successful revival (no manual intervention beyond nixos-anywhere --extra-files /staging ... (with /staging holding the root-of-trust /persist/key.age within it) and the custom borg-revival-${hostName} scripts I will be writing

new plan: instead of doing an _in-place_ revival of `athena`, I will instead be migrating to a new VPS host and using that as a test-bed. I plan for at minimum a half-month of overlap with two servers to ensure a proper revival as an intermediary step in this process, I will be moving my domain authority to cloudflare, so I will be wiring its DNS stuff before tackling the rest of impermanence upon a successful revival (no manual intervention beyond `nixos-anywhere --extra-files /staging ...` (with `/staging` holding the root-of-trust `/persist/key.age` within it) and the custom `borg-revival-${hostName}` scripts I will be writing
sarahlament added the due date 2026-07-31 2026-06-14 01:09:51 -05:00
sarahlament changed title from on reproducibility, and loosing (or moving) a host to on reproducibility, and reviving (or moving) a host 2026-06-14 03:23:45 -05:00
Author
Owner

correction: I will be going with porkbun instead, since I planned on moving my domain registration to them anyways

correction: I will be going with porkbun instead, since I planned on moving my domain registration to them anyways
sarahlament referenced this issue from a commit 2026-06-15 02:05:18 -05:00
Author
Owner

updates! I have gone with knot as my primary, with Hurricane Electric as my secondary

updates! I have gone with `knot` as my primary, with Hurricane Electric as my secondary
Author
Owner

and the majority of this has been completed!
I have a new box that I'm slowly moving services over to, so all that is left is 'recovering' over 'new' hosts

and the majority of this has been completed! I have a new box that I'm slowly moving services over to, so all that is left is 'recovering' over 'new' hosts
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

2026-07-31

Reference
sarahlament/nix-configurations#28
No description provided.