Commit graph

449 commits

Author SHA1 Message Date
Franz Pletz b9db8b7c16
Merge pull request #325589 from wskeele/duplicity-include-filelist
nixos/duplicity: Add support for --include-filelist / --exclude-filelist
2024-07-09 16:45:35 +02:00
wskeele fff878e7c6 nixos/duplicity: Add support for --include-filelist / --exclude-filelist 2024-07-08 17:02:42 +02:00
Max Hausch a8038698d3
nixos/restic: add option to inhibit going to sleep 2024-07-08 09:43:27 +02:00
Tom Sydney Kerckhove edb707e3b5 borgbackup: Use RequiresMountsFor to require that the repo is mounted 2024-06-30 21:33:13 +02:00
Yarny0 fcb87b6377 tsm-client: 8.1.22.0 -> 8.1.23.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343
The list of APARs ("Authorized Program Analysis Reports")
does not contain anything that would affect security.

With this update, the Java-based
GUI requires a newer jdk version
(note: version 8.1.22.0 was not compatible with the newer jdk).

Also, all URLs in package and module comments are updated.
2024-06-17 14:51:31 +02:00
Guillaume Girol 952b1a3d96 nixos/btrbk: undeprecate extraPackages
it is required on systems where ssh access is configured for
lz4-compressed btrfs send, but no instances are present.

fixes https://github.com/NixOS/nixpkgs/issues/316676
2024-06-10 12:00:00 +00:00
Matt Kline 234f4db797 nixos/snapper, nixos/borgbackup: Fix module doc typo
The persistentTimer argument sets the _Persistent_ field in
systemd.timer(5).

Pointed out in #312549
2024-05-23 14:23:40 -07:00
Guillaume Girol 673f00ad7b
Merge pull request #310199 from symphorien/borg_ignore_warnings_master
nixos/borgbackup: add an option to ignore warnings
2024-05-13 23:53:18 +02:00
Guillaume Girol 00346bff2b nixos/borgbackup: add an option to ignore warnings
borgbackup exit code 1 means warning, not error. For example if a file
is modified during backup, borg create exits with code 1. It may be
desirable to count that as success.
2024-05-09 12:00:00 +00:00
Pascal Wittmann a751e2faa2
Merge pull request #302908 from kai-tub/nixos/restic/fix-checkCmd
nixos/restic: fix skipping of check command
2024-05-08 10:29:31 +02:00
Kai Norman Clasen c650982a43 nixos/restic: Add runCheck option
This commit fixes the requirement to provide a pruneOption to ensure
that the check command is run when a check option is set. This is useful
for check-only configurations. The option is implicitly set if checkOpts
are given by default.
2024-05-04 22:44:37 +02:00
Jonathan Davies 046691a499 nixos/restic: Use cat config command in pre-start command for repo initialization
check, per upstream recommendation in https://github.com/restic/restic/issues/1690

This is to prevent logs from becoming unwieldy with large repo listings.
2024-05-01 12:50:55 +01:00
Tobi Bleiker 3accf6d393
znapzend: update declarations for --mailErrorSummaryTo
Co-authored-by: Janne Heß <dasJ@users.noreply.github.com>
2024-05-01 09:51:09 +02:00
Tobi Bleiker 2bb9ac6442 znapzend: add --mailErrorSummaryTo 2024-04-19 22:16:18 +02:00
Peder Bergebakken Sundt 2cf972b603
Merge pull request #298563 from Yarny0/tsm-client-update
tsm-client: 8.1.21.0 -> 8.1.22.0
2024-04-18 12:09:50 +02:00
stuebinm 6afb255d97 nixos: remove all uses of lib.mdDoc
these changes were generated with nixq 0.0.2, by running

  nixq ">> lib.mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> mdDoc[remove] Argument[keep]" --batchmode nixos/**.nix
  nixq ">> Inherit >> mdDoc[remove]" --batchmode nixos/**.nix

two mentions of the mdDoc function remain in nixos/, both of which
are inside of comments.

Since lib.mdDoc is already defined as just id, this commit is a no-op as
far as Nix (and the built manual) is concerned.
2024-04-13 10:07:35 -07:00
Pascal Bach a8eaee11a9
Merge pull request #296459 from MinerSebas/restic-rest-server-hardening
nixos/restic-rest-server:  Add additional service hardening
2024-04-10 23:33:34 +02:00
Rick van Schijndel 067e519281
Merge pull request #302858 from tweag/infinisil-maintainer
treewide: Drop infinisil as maintainer from most packages
2024-04-10 08:50:38 +02:00
Silvan Mosberger ea5dfeab93 treewide: Drop infinisil as maintainer from most packages
I'm not going anywhere, I'm focusing my energy on other issues, and
getting pinged as a maintainer for packages is a bit distracting (also
I'm not using most of these packages anyways!)
2024-04-09 21:43:39 +02:00
Jörg Thalheim 13cc579932
Merge pull request #301528 from Mic92/borgbackup-fix
nixos/borgbackup: fix network-online.target warning
2024-04-09 19:39:11 +02:00
Bjørn Forsman 786141228f nixos/borgbackup: fix directory ownership regression
Re-add separate creation of the ~/.config and ~/.cache directories so
that they get correct ownership. Or else they get owned by root.

systemd-tmpfiles also warns about it:

  machine # [    3.022195] systemd-tmpfiles[472]: Detected unsafe path transition /home/user1 (owned by user1) → /home/user1/.cache (owned by root) during canonicalization of home/user1/.cache.
  machine # [    3.024566] systemd-tmpfiles[472]: Detected unsafe path transition /home/user1 (owned by user1) → /home/user1/.config (owned by root) during canonicalization of home/user1/.config.

Fixes: 8d3cf213db ("nixos/borgbackup: replace activationScript via tmpfiles")
2024-04-06 16:38:11 +02:00
Jörg Thalheim 44fd320df6 nixos/borgbackup: fix network-online.target warning
service runs after network-online.target but doesn't depend on it.
2024-04-04 13:49:40 +02:00
Janne Heß fcc95ff817 treewide: Fix all Nix ASTs in all markdown files
This allows for correct highlighting and maybe future automatic
formatting. The AST was verified to work with nixfmt only.
2024-03-28 09:28:12 +01:00
Janne Heß bc77c7a973 treewide: Mark Nix blocks in markdown as Nix
This should help us with highlighting and future formatting.
2024-03-28 09:28:12 +01:00
Yarny0 961584c3dc tsm-client: 8.1.21.0 -> 8.1.22.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343

...does not list any security-relevant changes
(mostly trademark name changes).

Also, all URLs in package and module comments are updated.
2024-03-22 17:25:25 +01:00
MinerSebas 9e1fe5cddd nixos/restic-rest-server: Make the service socket activated 2024-03-16 17:07:55 +01:00
MinerSebas 7762c2233c nixos/restic-rest-server: Add additional service hardening 2024-03-16 08:18:50 +01:00
Sandro 80ec88edec
Merge pull request #292025 from RaHoni/baculaTls 2024-03-11 12:01:19 +01:00
Peder Bergebakken Sundt 5f9689332a
Merge pull request #278537 from wfdewith/syncoid-permissions
nixos/syncoid: add missing ZFS mount permission
2024-03-08 00:11:39 +01:00
Finn Landweber 9d94b98e46
nixos/borgmatic: refactor
added configuration check at built time
added borgmatic.enableConfigCheck whether or not it'll be executed.
2024-03-02 12:25:00 +01:00
RaHoni 2af073f716
nixos/bacula: refactor option generation
The generation of the descriptions always used lib explicitly even
thoughit was already specified with 'with'.

Since using `with lib` is discouraged this was also changed to inherit.
2024-03-01 14:11:57 +01:00
RaHoni ad2f55dc4e
nixos/bacula: Add support for TLS
Added the majority of TLS options used for transport encryption.

This uses a submodule since all resources share the same settings.

The documentation can be found under:
https://www.bacula.org/13.0.x-manuals/en/main/Bacula_TLS_Communications_E.html
2024-03-01 14:11:57 +01:00
Sandro ed742ab4fc
Merge pull request #275621 from Yarny0/tsm-client-update
tsm-client: 8.1.20.0 -> 8.1.21.0
2024-02-06 17:17:40 +01:00
Wim de With de0a5c6a6b nixos/syncoid: add missing ZFS mount permission 2024-01-10 14:27:12 +01:00
nikstur 8d3cf213db nixos/borgbackup: replace activationScript via tmpfiles 2023-12-29 03:41:45 +01:00
Yarny0 59539b9bc5 tsm-client: 8.1.20.0 -> 8.1.21.0
"Update History" (release notes):
https://www.ibm.com/support/pages/node/6998343

At the time of this writing,
the "APAR" links of the "Update History" lead to 404.
However, the abstracts indicate that
this update is not security critical.

Note that this update changed the GUI window title
to "IBM Storage Protect"
(the product itself was renamed with version 8.1.19.0 already).
The commit at hand adapts the GUI vm test accordingly.

Also, all URLs in package and module comments are updated.
2023-12-19 19:47:28 +01:00
Linus Heckemann f66d2b11d7
Merge pull request #270084 from Atemu/nixos/snapraid-top-level
nixos/snapraid: remove from top-level
2023-12-14 14:51:04 +01:00
ajs124 be0a6b0dd6 nixos/restic: append PATH in wrappers instead of overwriting
fixes "mount"
2023-12-13 16:24:50 +01:00
Jonas Heinrich b3eddb0c53
Merge pull request #272646 from onny/btrbk-stream-compress
nixos/btrbk: Add required stream_compress packages
2023-12-10 18:38:38 +01:00
Jonas Heinrich 1440b865c0 nixos/btrbk: Add required stream_compress packages 2023-12-09 13:03:46 +01:00
Silvan Mosberger bf67c02b1b
Merge pull request #272744 from hercules-ci/lib-lists-sortOn
`lib.lists.sortOn`: init
2023-12-08 23:11:05 +01:00
Robert Hensing 7438f4e0de nixos/btrbk: Optimize sort
This avoids computing the prio more than necessary.
The test evaluates to the same derivation hash.
2023-12-08 22:15:30 +01:00
h7x4 5ec449a6be nixos/borgbackup: add listOf str types to extraArgs 2023-12-06 23:12:21 +01:00
Atemu f39eb36250 nixos/snapraid: remove from top-level
I don't use this tool but saw it in the top level and that's not where it should
live.

This could arguably also be seen as a RAID; it's a bit of an in-between.
2023-12-06 19:02:38 +01:00
Weijia Wang d1fc3a5f9f
Merge pull request #253428 from Yarny0/tsm-freeform
nixos/tsm-client: migrate to freeform settings (RFC42)
2023-12-03 14:50:12 +01:00
Yarny0 3fb29fecd5 nixos/tsm-client: use freeformType for server config
`tsm-client` uses a global configuration
file that must contain coordinates for each
server that it is supposed to contact.
This configuration consists of text
lines with key-value pairs.

In the NixOS module, these servers may be declared
with an attribute set, where the attribute name
defines an alias for the server, and the value
is again an attribute set with the settings for
the respective server.
This is organized as an option of type `attrsOf submodule...`.

Before this commit:

Important settings have their own option within
the submodule.  For everything else, there is
the "catch-all" option `extraConfig` that may
be used to declare any key-value pairs.
There is also `text` that can be used to
add arbitrary text to each server's
section in the global config file.

After this commit:

`extraConfig` and `text` are gone,
the attribute names and values of each server's attribute
set are translated directly into key-value pairs,
with the following notable rules:

* Lists are translated into multiple lines
  with the same key, as such is permitted by
  the software for certain keys.
* `null` may be used to override/shadow a value that
  is defined elsewhere and hides the corresponding key.

Those "important settings" that have previously been
defined as dedicated options are still defined as such,
but they have been renamed to match their
corresponding key names in the configuration file.
There is a notable exception:
"Our" boolean option `genPasswd` influences the "real"
option `passwordaccess', but the latter one is
uncomfortable to use and might lead
to undesirable outcome if used the wrong way.
So it seems advisable to keep the boolean option
and the warning in its description.
To this end, the value of `getPasswd` itself is
later filtered out when the config file is generated.

The tsm-backup service module and the vm test are adapted.

Migration code will be added in a separate
commit to permit easy reversal later, when the
migration code is no longer deemed necessary.
2023-12-02 09:09:27 +01:00
Yarny0 d5f337809e nixos/backup/tsm: use lib.getExe' for service command line 2023-12-02 09:05:45 +01:00
Yarny0 cec6d7f51a nixos/tsm*: update product name and URLs
With the tsm-client 8.1.19.0 release,
IBM renamed the product brand from
"IBM Spectrum Protect" to "IBM Storage Protect":
https://www.ibm.com/support/pages/node/6964770 .

The package already got updated in commits
5ff5b2ae4c and
a4b7a62532 .

The commit at hand updates the modules accordingly.
2023-12-02 09:05:45 +01:00
Sefa Eyeoglu c1f0be0373 nixos/postgresqlBackup: add Scrumplex as maintainer
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-01 19:08:31 +01:00
Sefa Eyeoglu 0aaf428fde nixos/postgresqlBackup: add --rsyncable to compression programs
The --rsyncable option changes the behavior of gzip/zstd so that the
resulting files can be incrementally backed up easily. Tools like Borg,
rsync and xdelta can make use their deduplication/diff mechanisms more
easily.

In my local testing, this resulted in a 2% size increase for backup
files.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2023-12-01 19:08:31 +01:00
h7x4 79d3d59f58
treewide: replace mkPackageOptionMD with mkPackageOption 2023-11-30 19:03:14 +01:00
Weijia Wang feeae486de
Merge pull request #261702 from h7x4/replace-mkoption-with-mkpackageoption
treewide: use `mkPackageOption`
2023-11-30 02:49:30 +01:00
h7x4 0a37316d6c
treewide: use mkPackageOption
This commit replaces a lot of usages of `mkOption` with the package
type, to be `mkPackageOption`, in order to reduce the amount of code.
2023-11-27 01:28:36 +01:00
Maciej Krüger cdd67575e7
Merge pull request #265722 from nbraud/nixos/sudo-rs/btrbk 2023-11-26 21:36:20 +01:00
datafoo 480f5b14e3 nixos/syncoid: add possibility to use string type for sshKey options
The sshKey options do not need to be a valid path at build time. Using
string instead allow use case when the path is not known at build time
such as when using systemd credentials (e.g. `sshKey =
"\${CREDENTIALS_DIRECTORY}/zfs-replication_ed25519";`).
2023-11-22 10:57:58 +01:00
Robert Obryk 20b202b3c8 nixos/restic: allow timer to be disabled 2023-11-07 22:37:37 +01:00
Janik 22aa256c6c
Merge pull request #264882 from robryk/resticfix
nixos/restic: fix #264696 and add a regression test
2023-11-07 09:46:55 +01:00
Ivan Petkov 49f444897b syncoid: disable PrivateUsers in systemd unit
* leaving PrivateUsers=true appears to break when using zfs-2.2.0
2023-11-06 10:16:15 +01:00
nicoo 19af28537b nixos/btrbk: Support both Miller's sudo and sudo-rs 2023-11-05 20:15:18 +00:00
Robert Obryk 536401e90a nixos/restic: fix #264696 and add a regression test
Make sure that preStart and postStop are included in all cases when they are nonempty.
2023-11-01 21:18:56 +01:00
Maximilian Bosch 1220a4d4dd
postgresql_11: remove
As described in the release lifecycle docs from postgresql[1], v11 will
stop receiving fixes as of Nov 9 2023. This means it's EOL throughout
the entire lifetime of 23.11, so let's drop it now.

A lot of examples are also referencing postgresql_11. Where it's
sensible, use postgresql_15 as example now to avoid confusion.

This is also handy because the LLVM 16 fix for postgresql is not
available for postgresql 11 ;-)

[1] https://www.postgresql.org/support/versioning/
2023-10-30 10:41:16 +01:00
Weijia Wang 66ab26fce8
Merge pull request #262084 from imlonghao/borgmatic/fix-262020
borgmatic: fix deprecation warning check failed
2023-10-28 15:33:39 +02:00
imlonghao 88bc98a073
borgmatic: fix deprecation warning check failed 2023-10-28 11:32:38 +08:00
Alyssa Ross 44ff5dfca2 nixos/restic: remove s3CredentialsFile option
This has been deprecated since 2021, so all users should have seen the
warning and migrated by now.
2023-10-27 12:31:54 +00:00
Peder Bergebakken Sundt adcaf3962d
Merge pull request #212087 from robryk/resticpaths
nixos/backups/restic: handle cases when both dynamicFileFrom and paths are set
2023-10-26 19:35:22 +02:00
Domen Kožar 4e95cbe36e
Merge pull request #246081 from therealr5/bacula-fix
nixos/bacula: fix postgresql config and remove unneeded quotation marks
2023-10-23 21:42:11 +01:00
Bjørn Forsman 142074c2a8 nixos: fix bad mkEnableOption descriptions
Fix descriptions that don't account for (1) the "Whether to enable"
prefix or (2) the automatically added trailing dot.
2023-10-20 16:22:40 +01:00
imlonghao 4a519fa142
borgmatic: 1.7.15 -> 1.8.1 2023-10-10 21:48:13 +08:00
amesgen bbf7f58b57
nixos/borgbackup: add package option
Co-authored-by: Lin Jian <me@linj.tech>
2023-10-07 16:27:57 +02:00
asymmetric 4a359e2106
Merge pull request #250810 from asonix/btrbk-fix-btrfs-path
nixos/btrbk: fix btrfs path for passwordless execution
2023-09-29 10:37:21 +02:00
asonix a8c1811bf6 nixos/btrbk: fix btrfs path for passwordless execution 2023-09-28 14:51:19 -05:00
Janik eda85eb31d
Merge pull request #251062 from ajs124/restic-wrapper-script 2023-09-09 19:11:33 +02:00
Weijia Wang fdc0272b60
Merge pull request #249941 from FrancescoDeSimone/duplicati-service-fix
nixos/duplicati: add package option
2023-09-07 22:36:18 +02:00
ajs124 dbb69f82c6 nixos/restic: add wrapper scripts that set parameters for backup
and use in test
2023-08-28 15:17:37 +02:00
ajs124 4732cbf3f8 nixos/restic: use openssh as configured in programs.ssh 2023-08-28 15:03:12 +02:00
francescoDeSimone 42f0af4abe nixos/duplicati: add package option 2023-08-19 16:08:39 +02:00
Hugh O'Brien a08d69ba63
nixos/restic: wait for network-online for timed backups 2023-08-18 20:02:16 -04:00
Robert Obryk 77bc27ccdb nixos/backups/restic: handle cases when both dynamicFileFrom and paths are set
Also, add a test to verify that it works.

This change also removes the part of custom package test that verifies
that the correct paths are provided. This is already tested by restore
tests.

Before this change, setting both paths and dynamicFileFrom would cause
paths to be silently ignored. Making that actually apply the obvious
interpretation seems to me to be strictly better than prohibiting the
two from being set at the same time.
2023-08-16 11:25:15 +02:00
Rouven Seifert b12923631d
nixos/bacula: fix postgresql config and remove unneeded quotation marks
The module falsely disabled postgresql completely when the bacula-sd was not enabled.
Quotation marks are not necessary and only useful in `name` fields.
2023-07-29 19:28:27 +02:00
Sandro 9ca0bd9db3
Merge pull request #244467 from wamserma/tarsnap-add-package-option
tarsnap: add package option
2023-07-24 00:46:24 +02:00
Felix Bühler 0a2745684e
Merge pull request #239624 from Stunkymonkey/use-optionalString-then
treewide: use optionalString instead of 'then ""'
2023-07-22 13:02:47 +02:00
Markus S. Wamser a936b9edec tarsnap: add package option 2023-07-21 11:37:15 +02:00
Felix Buehler 933a41a73f treewide: use optional instead of 'then []' 2023-06-25 09:11:40 -03:00
Felix Buehler f3719756b5 treewide: use optionalString instead of 'then ""' 2023-06-24 20:19:19 +02:00
Janik H 95e1099d2a restic: add persistent default for timer unit 2023-05-15 15:16:58 +02:00
Sophie Tauchert 8af23590d3 nixos/borgbackup: fix extraCompactArgs
Fixes the extraCompactArgs introduced with #224072 as the variable
currently isn't added to the script's environment.
2023-05-14 16:51:24 +02:00
Aaron Andersen 55b3b7029d nixos/automysqlbackup: rename config option to settings 2023-05-10 20:00:09 -04:00
Aaron Andersen a73e7383c0 nixos/automysqlbackup: add some missing permissions 2023-05-10 19:57:48 -04:00
Elias Probst 3bd1c64a5b
nixos/restic: use private tmp for service unit
To reduce the danger of accidentally exposing sensitive files processed
by a restic backup to other services/users, enable the `PrivateTmp=`
feature of restic service units, which provides a per service isolation
of `/tmp` and `/var/tmp`.

Co-authored-by: Daniel Nagy <danielnagy@posteo.de>
2023-04-30 10:39:29 +02:00
Artturi b83db86a9e
Merge pull request #222080 from Stunkymonkey/nixos-optionalString 2023-04-20 16:07:30 +03:00
imlonghao bc07f0ac31
borgmatic: fix timer wantedBy 2023-04-17 23:10:23 +08:00
ajs124 d37ee8222b nixos/borgbackup: run compact after prune 2023-04-11 19:48:16 +02:00
Felix Buehler 327b0cff7a treewide: use more lib.optionalString 2023-04-07 13:38:33 +02:00
Ilan Joselevich 003c2e3957
Merge pull request #221964 from randomnetcat/sanoid-service-package
sanoid/syncoid: Add package options
2023-03-30 23:33:53 +03:00
Janet Cobb 1033d0f6ac (nixos/sanoid, nixos/syncoid): Add package options
Allows changing the sanoid package to be used for these services.
2023-03-29 17:23:51 -04:00
Lassulus 3839340fdb
Merge pull request #220656 from oxzi/restic-cache-fix
nixos/restic: generalize cache configuration
2023-03-22 00:37:46 +07:00
Jonas Heinrich 161a1ca129
Merge pull request #191974 from tu-maurice/btrbk-doas
btrbk: Use sudo or doas based on configuration
2023-03-11 16:10:50 +01:00
Alvar Penning adafbeff4a nixos/restic: generalize cache configuration
The restic repository cache location defaults to ~/.cache/restic when
not overwritten either by the --cache-dir command line parameter or the
universal RESTIC_CACHE_DIR environment variable.

Currently, the --cache-dir variable is set to only some restic commands,
but, e.g., not to the unit's preStart command for the module's
initialize option. This results in two distinct cache locations, one at
~/.cache/restic for the initialize commands and one at the configured
--cache-dir location for the restic backup command.

By explicitly setting RESTIC_CACHE_DIR for the unit, only one cache at
the correct location will be used.

https://restic.readthedocs.io/en/v0.15.1/manual_rest.html#caching
2023-03-11 12:59:10 +01:00
Ryan Lahfa fd09c1bdc5
Merge pull request #214759 from Tom-Hubrecht/borgmatic
nixos/borgmatic: Allow defining multiple configurations
2023-03-04 11:38:39 +01:00
Joachim Breitner 20c135b191 docs: borg expects --rsh, not -rsh 2023-02-20 18:02:28 +01:00