nix-config/nixos/viridian/services/borgbackup
jasmine c05598d9e0
feat(viridian): implement comprehensive 3-2-1 backup strategy
Add automated snapshot and backup system with three independent tiers:

Snapper (hourly local snapshots):
- Configure snapper for all srv-* subvolumes
- Tiered retention: 24 hourly, 7 daily, 4 weekly, 12 monthly
- Snapshots stored at /.snapshots on viridian drive
- Provides fast operational rollback for user errors

Borgbackup onsite (hourly local backups):
- Independent staging snapshots at /.staging-onsite
- Repository on data drive at /srv/borg-repo
- Unencrypted (physical security assumed)
- Matches snapper retention policy
- Fast local disaster recovery

Borgbackup offsite (daily remote backups):
- Independent staging snapshots at /.staging-offsite
- Encrypted backups to borgbase repository
- Retention: 7 daily, 4 weekly, 12 monthly
- Remote disaster recovery with prune policy

Architecture decisions:
- Separate staging directories prevent job conflicts
- Staging snapshots decouple borg jobs from snapper
- Consistent zstd,9 compression across both borg jobs
- Special case handling for containers subvolume path
2025-10-06 20:59:26 +08:00
..
borgbase_hosts chore: update borg repo and passphrase 2025-03-26 13:34:07 +08:00
default.nix feat(viridian): implement comprehensive 3-2-1 backup strategy 2025-10-06 20:59:26 +08:00
key.age chore: update borg repo and passphrase 2025-03-26 13:34:07 +08:00
offsite.nix feat(viridian): implement comprehensive 3-2-1 backup strategy 2025-10-06 20:59:26 +08:00
onsite.nix feat(viridian): implement comprehensive 3-2-1 backup strategy 2025-10-06 20:59:26 +08:00
passphrase.age migrate backups to borgbase 2024-10-15 06:46:10 +08:00