diff options
| author | Emily <git@emilylange.de> | 2024-08-02 18:18:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-02 18:18:47 +0200 |
| commit | ecf7c683c21655a2c90bec49ce726aa6615a7d28 (patch) | |
| tree | 29b0725490fbbac48f496370fe103c5914b82d61 | |
| parent | Merge pull request #330741 from emilazy/push-rlvumrtyxrmk (diff) | |
| parent | nixos/restic: ensure newline in --files-from (diff) | |
| download | nixpkgs-ecf7c683c21655a2c90bec49ce726aa6615a7d28.tar.gz | |
Merge pull request #319807 from hellodword/nixos-restic-add-unlock
nixos/restic: ensure newline in --files-from
| -rw-r--r-- | nixos/modules/services/backup/restic.nix | 2 | ||||
| -rw-r--r-- | nixos/tests/restic.nix | 15 |
2 files changed, 12 insertions, 5 deletions
diff --git a/nixos/modules/services/backup/restic.nix b/nixos/modules/services/backup/restic.nix index a9330e5d43f2..a7c2ef2eacd5 100644 --- a/nixos/modules/services/backup/restic.nix +++ b/nixos/modules/services/backup/restic.nix @@ -374,7 +374,7 @@ in ${resticCmd} cat config > /dev/null || ${resticCmd} init ''} ${optionalString (backup.paths != null && backup.paths != []) '' - cat ${pkgs.writeText "staticPaths" (concatStringsSep "\n" backup.paths)} >> ${filesFromTmpFile} + cat ${pkgs.writeText "staticPaths" (concatLines backup.paths)} >> ${filesFromTmpFile} ''} ${optionalString (backup.dynamicFilesFrom != null) '' ${pkgs.writeScript "dynamicFilesFromScript" backup.dynamicFilesFrom} >> ${filesFromTmpFile} diff --git a/nixos/tests/restic.nix b/nixos/tests/restic.nix index 878523ca712b..49631d27ca80 100644 --- a/nixos/tests/restic.nix +++ b/nixos/tests/restic.nix @@ -27,6 +27,7 @@ import ./make-test-python.nix ( echo some_other_file > $out/some_other_file mkdir $out/a_dir echo a_file > $out/a_dir/a_file + echo a_file_2 > $out/a_dir/a_file_2 ''; }; @@ -62,7 +63,10 @@ import ./make-test-python.nix ( inherit passwordFile exclude pruneOpts; initialize = true; repositoryFile = pkgs.writeText "repositoryFile" remoteFromFileRepository; - paths = [ "/opt/a_dir" ]; + paths = [ + "/opt/a_dir/a_file" + "/opt/a_dir/a_file_2" + ]; dynamicFilesFrom = '' find /opt -mindepth 1 -maxdepth 1 ! -name a_dir # all files in /opt except for a_dir ''; @@ -144,15 +148,18 @@ import ./make-test-python.nix ( # test that remote-from-file-backup produces a snapshot "systemctl start restic-backups-remote-from-file-backup.service", 'restic-remote-from-file-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"', + "mkdir /tmp/restore-2", + "restic-remote-from-file-backup restore latest -t /tmp/restore-2", + "diff -ru ${testDir} /tmp/restore-2/opt", # test that remote-noinit-backup produces a snapshot "systemctl start restic-backups-remote-noinit-backup.service", 'restic-remote-noinit-backup snapshots --json | ${pkgs.jq}/bin/jq "length | . == 1"', # test that restoring that snapshot produces the same directory - "mkdir /tmp/restore-2", - "${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-2", - "diff -ru ${testDir} /tmp/restore-2/opt", + "mkdir /tmp/restore-3", + "${pkgs.restic}/bin/restic -r ${remoteRepository} -p ${passwordFile} restore latest -t /tmp/restore-3", + "diff -ru ${testDir} /tmp/restore-3/opt", # test that rclonebackup produces a snapshot "systemctl start restic-backups-rclonebackup.service", |
