infra/hosts/build02/nixpkgs-update-backup.nix

37 lines
1 KiB
Nix
Raw Normal View History

2023-04-30 14:22:16 +10:00
{ config, ... }:
{
# 100GB storagebox is under the nix-community hetzner account
2023-04-30 14:22:16 +10:00
sops.secrets.hetzner-borgbackup-ssh = { };
2023-04-30 14:22:16 +10:00
systemd.services.borgbackup-job-nixpkgs-update = {
after = [ "nixpkgs-update-delete-old-logs.service" ];
2024-07-24 19:05:26 +10:00
serviceConfig.ReadWritePaths = [ "/var/log/telegraf" ];
};
2023-04-30 14:22:16 +10:00
services.borgbackup.jobs.nixpkgs-update = {
2024-07-24 19:05:26 +10:00
paths = [ "/var/log/nixpkgs-update" ];
2023-04-30 14:22:16 +10:00
repo = "u348918@u348918.your-storagebox.de:/./nixpkgs-update";
encryption.mode = "none";
compression = "auto,zstd";
startAt = "daily";
environment.BORG_RSH = "ssh -oPort=23 -i ${config.sops.secrets.hetzner-borgbackup-ssh.path}";
2023-04-30 14:22:16 +10:00
preHook = ''
set -x
'';
postHook = ''
2023-08-13 16:17:15 +10:00
cat > /var/log/telegraf/borgbackup-job-nixpkgs-update.service <<EOF
2023-04-30 14:22:16 +10:00
task,frequency=daily last_run=$(date +%s)i,state="$([[ $exitStatus == 0 ]] && echo ok || echo fail)"
EOF
'';
prune.keep = {
within = "1d"; # Keep all archives from the last day
daily = 7;
weekly = 4;
monthly = 0;
};
};
}