backup: init as a reusable module

This commit is contained in:
Katherina Walshe-Grey 2025-03-04 14:43:03 +00:00
parent 691c180ac1
commit fefc7bd20d
5 changed files with 144 additions and 31 deletions

View file

@ -23,26 +23,10 @@ in
console.keyMap = "uk";
services.xserver.xkb.layout = "gb";
# TODO: modularise this
# These are populated by fountain.backup
randomcat.services.zfs.datasets = {
"rpool_elucredassa/backup" = { mountpoint = "none"; };
"rpool_elucredassa/backup/orm" = {
mountpoint = "none";
zfsPermissions.users.syncoid = [ "mount" "create" "receive" "recordsize" ];
};
};
services.syncoid = {
enable = true;
interval = "*-*-* *:15:00";
commonArgs = [ "--no-sync-snap" ];
commands = {
"testing1" = {
source = "backup@10.127.1.2:rpool_orm/state";
target = "rpool_elucredassa/backup/orm/state";
recursive = true;
recvOptions = "ux recordsize o compression=lz4";
};
};
"rpool_elucredassa/backup/orm" = { mountpoint = "none"; };
};
qenya.services.distributed-builds = {

View file

@ -31,19 +31,6 @@
useTemplate = [ "production" ];
recursive = "zfs";
};
# TODO: modularise this
randomcat.services.zfs.datasets."rpool_orm/state".zfsPermissions.users.backup = [ "hold" "send" ];
users.users.backup = {
group = "backup";
isSystemUser = true;
useDefaultShell = true;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFa3hjej6KGmS2aQ4s46Y7U8pN4yyR2FuMofpHRwXNk syncoid@elucredassa"
];
packages = with pkgs; [ mbuffer lzop ]; # syncoid uses these if available but doesn't pull them in automatically
};
users.groups.backup = { };
qenya.services.actual = {
enable = true;