split backup dirs to their repos

This commit is contained in:
Motiejus Jakštys 2023-07-26 12:59:19 +03:00
parent 4f1aa85659
commit bccefbc4ba
2 changed files with 6 additions and 5 deletions

View File

@ -50,24 +50,25 @@ in {
zfsborg = { zfsborg = {
enable = true; enable = true;
repo = "zh2769@zh2769.rsync.net:hel1-a.servers.jakst";
passwordPath = config.age.secrets.borgbackup-password.path; passwordPath = config.age.secrets.borgbackup-password.path;
mountpoints = { mountpoints = {
"/var/lib" = { "/var/lib" = {
repo = "zh2769@zh2769.rsync.net:hel1-a.servers.jakst-var_lib";
paths = [ paths = [
"/var/lib/.snapshot-latest/gitea" "/var/lib/.snapshot-latest/gitea"
"/var/lib/.snapshot-latest/headscale" "/var/lib/.snapshot-latest/headscale"
"/var/lib/.snapshot-latest/matrix-synapse" "/var/lib/.snapshot-latest/matrix-synapse"
]; ];
backup_at = "*-*-* 00:11:00"; backup_at = "*-*-* 00:05:00";
}; };
"/var/log" = { "/var/log" = {
repo = "zh2769@zh2769.rsync.net:hel1-a.servers.jakst-var_log";
paths = ["/var/log/.snapshot-latest/caddy/"]; paths = ["/var/log/.snapshot-latest/caddy/"];
patterns = [ patterns = [
"+ /var/log/.snapshot-latest/caddy/access-jakstys.lt.log-*.zst" "+ /var/log/.snapshot-latest/caddy/access-jakstys.lt.log-*.zst"
"- *" "- *"
]; ];
backup_at = "*-*-* 00:10:00"; backup_at = "*-*-* 00:01:00";
}; };
}; };
}; };

View File

@ -18,7 +18,6 @@ in {
options.mj.base.zfsborg = with lib.types; { options.mj.base.zfsborg = with lib.types; {
enable = lib.mkEnableOption "backup zfs snapshots with borg"; enable = lib.mkEnableOption "backup zfs snapshots with borg";
repo = lib.mkOption {type = str;};
passwordPath = lib.mkOption {type = str;}; passwordPath = lib.mkOption {type = str;};
mountpoints = lib.mkOption { mountpoints = lib.mkOption {
@ -26,6 +25,7 @@ in {
type = attrsOf (submodule ( type = attrsOf (submodule (
{...}: { {...}: {
options = { options = {
repo = lib.mkOption {type = str;};
paths = lib.mkOption {type = listOf path;}; paths = lib.mkOption {type = listOf path;};
patterns = lib.mkOption { patterns = lib.mkOption {
type = listOf str; type = listOf str;
@ -65,7 +65,7 @@ in {
value = value =
{ {
doInit = true; doInit = true;
repo = config.mj.base.zfsborg.repo; repo = attrs.repo;
encryption = { encryption = {
mode = "repokey-blake2"; mode = "repokey-blake2";
passCommand = "cat ${config.mj.base.zfsborg.passwordPath}"; passCommand = "cat ${config.mj.base.zfsborg.passwordPath}";