aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-04-23 19:18:16 -0700
committerFranck Cuny <franck@fcuny.net>2023-04-29 15:04:06 -0700
commit3910ad471cfe5fd64bedb1ac20a69ae8dcfe4435 (patch)
tree6140bfa4cd75bfcc82dadf910d9d97b066f24bc4
parenthosts/tahoe: rename account for backup and enable sftp for it (diff)
downloadinfra-3910ad471cfe5fd64bedb1ac20a69ae8dcfe4435.tar.gz
modules/restic: handle extra options and remove unused settings
For a host to use a repository from a remote machine, we need to configure options for the CLI. For this we add a new setting `extraOptions` where we can define the sftp command. Remove the setting for the user that will run restic, since it's always 'root' in our situation. Clean some descriptions.
-rw-r--r--modules/services/backup/default.nix20
1 files changed, 9 insertions, 11 deletions
diff --git a/modules/services/backup/default.nix b/modules/services/backup/default.nix
index d681a07..3481f3f 100644
--- a/modules/services/backup/default.nix
+++ b/modules/services/backup/default.nix
@@ -12,7 +12,7 @@ in
repository = mkOption {
type = types.str;
- example = "/data/slow/backups/system";
+ example = "/data/slow/backups/hosts";
description = "The repository to back up to";
};
@@ -22,6 +22,13 @@ in
description = "Read the repository's password from this path";
};
+ extraOptions = mkOption {
+ type = with types; listOf str;
+ default = [ ];
+ example = [ "sftp.command='ssh ....'" ];
+ description = "Extra options to restic";
+ };
+
paths = mkOption {
type = with types; listOf str;
default = [ ];
@@ -72,15 +79,6 @@ in
When to run the backup. See man systemd.timer for details.
'';
};
-
- user = mkOption {
- type = types.str;
- default = "root";
- description = ''
- As which user the backup should run.
- '';
- example = "postgresql";
- };
};
config = lib.mkIf cfg.enable {
@@ -91,7 +89,7 @@ in
++ lib.optional (builtins.length cfg.exclude != 0) excludeArg;
# Take care of creating the repository if it doesn't exist
initialize = true;
- inherit (cfg) passwordFile pruneOpts timerConfig repository user;
+ inherit (cfg) passwordFile pruneOpts timerConfig repository extraOptions;
};
};
}