diff options
author | Franck Cuny <franck@fcuny.net> | 2023-04-23 19:18:16 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2023-04-29 15:04:06 -0700 |
commit | 3910ad471cfe5fd64bedb1ac20a69ae8dcfe4435 (patch) | |
tree | 6140bfa4cd75bfcc82dadf910d9d97b066f24bc4 | |
parent | hosts/tahoe: rename account for backup and enable sftp for it (diff) | |
download | world-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.nix | 20 |
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; }; }; } |