nix-config/nixos/viridian/services
jasmine 15b4851e8e
refactor(borgbackup): implement shared staging with defense-in-depth
Major improvements to borgbackup configuration for better reliability and
maintainability:

**Shared staging directory:**
- Use single /btrfs-subvolumes directory (was /subvolumes-{onsite,offsite})
- Eliminates redundant path suffixes in archive structure
- Archive paths now semantic: /btrfs-subvolumes/srv-forgejo clearly indicates
  BTRFS subvolume content without redundant backup job metadata

**Defense-in-depth protection:**
- Layer 1: Systemd ordering - offsite waits for onsite completion
- Layer 2: Self-healing preHook - auto-cleanup orphaned snapshots from
  crashes/power loss
- Prevents cascading failures from race conditions or abnormal terminations

**Code quality improvements:**
- Extract subvolume lists to reduce duplication (DRY principle)
- Add /* sh */ syntax hints for proper editor highlighting
- Silent operation for consistency with existing hooks
- Improved readability with clearer comments and formatting
- All lines ≤ 100 characters

**Timing:**
- Offsite: *-*-* 00:15:00 (daily at 12:15 AM, waits for onsite)
- Onsite: hourly (unchanged)
2025-10-08 18:46:50 +08:00
..
borgbackup refactor(borgbackup): implement shared staging with defense-in-depth 2025-10-08 18:46:50 +08:00
crowdsec remove allowlist 2025-05-30 15:46:35 +08:00
forgejo refactor(viridian): migrate service data to dedicated BTRFS subvolumes 2025-10-06 13:07:46 +08:00
inspircd setup irc network 2025-06-06 18:31:08 +08:00
lighttpd refactor(viridian): migrate service data to dedicated BTRFS subvolumes 2025-10-06 13:07:46 +08:00
minecraft refactor(viridian): migrate service data to dedicated BTRFS subvolumes 2025-10-06 13:07:46 +08:00
mpd fix: Update NFS export IP address format 2025-02-18 21:56:49 +08:00
murmur install murmur 2025-06-04 23:38:48 +08:00
opengist refactor(viridian): migrate service data to dedicated BTRFS subvolumes 2025-10-06 13:07:46 +08:00
snapper fix(viridian): resolve backup system initialization issues 2025-10-07 09:38:07 +08:00
ssh fix(ssh): enable key-based root login and use FQDNs for system services 2025-10-07 23:11:31 +08:00
traefik remove ollama service from fuchsia host 2025-09-29 18:30:59 +08:00
default.nix refactor(ssh): decentralize SSH configuration to per-host services 2025-10-07 22:33:20 +08:00