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 | infra-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; }; }; } |
