Commit graph

4576 commits

Author SHA1 Message Date
P. R. d. O eeb3206a29 nixos/jenkinsSlave: install java
Installs Java into the Jenkins agent and allows specifying the JDK/JRE package to use. This is necessary as Jenkins verifies if the agent contains Java installed through the java -fullversion command, which if not, the connection will fail.
2022-04-01 22:11:18 +02:00
Dominique Martinet 829c611b48 logrotate: add logrotate-checkconf.service
the build-time check is not safe (e.g. doesn't protect from bad users or nomissingok
paths missing), so add a new unit for configuration switch time check
2022-04-01 07:09:27 +09:00
Dominique Martinet 45ef5c1741 logrotate: add configuration check at build time
Now the service no longer starts immediately,
check if the config we generated makes sense as soon as possible.

The check isn't perfect because logrotate --debug wants to check
users required, there are two problems:
 - /etc/passwd and /etc/group are sandboxed and we don't have
visibility of system users
 - the check phase runs as nixbld which cannot su to other users
and logrotate fails on this

Until these two problems can be addressed, users-related checks
are filtered out, it's still much better than no check.
The check can be disabled with services.logrotate.checkConfig
if required
(bird also has a preCheck param, to prepare the environment
before check, but we can add it if it becomes necessary)

Since this makes for very verbose builds, we only show errors:
There is no way to control log level, but logrotate hardcodes
'error:' at common log level, so we can use grep, taking care
to keep error codes

Some manual tests:
───────┬──────────────────────────────────────────
       │ File: valid-config.conf
───────┼──────────────────────────────────────────
   1   │ missingok
───────┴──────────────────────────────────────────
logrotate --debug ok
grep ok

───────┬──────────────────────────────────────────
       │ File: postrotate-no-end.conf
───────┼──────────────────────────────────────────
   1   │ missingok
   2   │ /file {
   3   │    postrotate
   4   │      test
   5   │ }
───────┴──────────────────────────────────────────
error: postrotate-no-end.conf:prerotate, postrotate or preremove without endscript

───────┬──────────────────────────────────────────
       │ File: missing-file.conf
───────┼──────────────────────────────────────────
   1   │ "test" { daily }
───────┴──────────────────────────────────────────
error: stat of test failed: No such file or directory

───────┬──────────────────────────────────────────
       │ File: unknown-option.conf
───────┼──────────────────────────────────────────
   1   │ some syntax error
───────┴──────────────────────────────────────────
logrotate --debug ok
error: unknown-option.conf:1 unknown option 'some' -- ignoring line

───────┬──────────────────────────────────────────
       │ File: unknown-user.conf
───────┼──────────────────────────────────────────
   1   │ su notauser notagroup
───────┴──────────────────────────────────────────
error: unknown-user.conf:1 unknown user 'notauser'

In particular note that logrotate would not error on unknown option
(it just ignores the line) but this change makes the check fail.
2022-04-01 07:09:27 +09:00
Dominique Martinet e92c05349c nixos/logrotate: convert to freeform
using freeform is the new standard way of using modules and should replace
extraConfig.
In particular, this will allow us to place a condition on mails
2022-04-01 07:09:26 +09:00
Dominique Martinet b457d917dc logrotate: move mail dependency from package to service
having pkgs.logrotate depend on mailutils brings in quite a bit of dependencies
through mailutil itself and recursive dependency to guile when most people
do not need it.

Remove mailutils dependency from the package, and conditionally add it to the
service if the user specify the mail option either at top level or in a path

Fixes #162001
2022-04-01 07:09:24 +09:00
Yaya 8465654f6a nixos/tests/gitlab: Add yayayayaka to maintainers 2022-03-31 21:56:18 +02:00
Yaya 35251c637b nixos/tests/gitlab: Check HTTP response codes
cURL always exits with `0` even when the HTTP response codes are above
400, leading to false-positive test results.
2022-03-31 21:56:18 +02:00
Yaya 86ec4e306e nixos/tests/gitlab: Fix project id
Gitlab automatically creates a repository, taking away the project
id=1.
2022-03-31 21:56:18 +02:00
Yaya 28068cebc9 nixos/tests/gitlab: Fix Authorization Bearer field
Due to an incorrect shell escape the Authorization Bearer Token was not
present in the cURL request headers.
2022-03-31 21:56:18 +02:00
Robert Hensing 16c5f5534d
Merge pull request #165035 from roberth/nixosTest-remove-machine-arg
nixosTest: remove `machine` syntax sugar
2022-03-31 14:41:05 +02:00
ajs124 35619ce1e5
Merge pull request #165453 from helsinki-systems/feat/systemd-manager-environment
nixos/systemd: Switch to ManagerEnvironment=
2022-03-31 01:35:09 +02:00
ajs124 9a20d75689
Merge pull request #166442 from mweinelt/botamusique
botamusique: use nodejs-14_x
2022-03-31 00:47:50 +02:00
Ember 'n0emis' Keske 313b1dc9d0
nixos/netbox: add nixos test 2022-03-30 22:24:34 +02:00
Janne Heß a3e0698bf6
nixos/systemd: Switch to ManagerEnvironment=
This accomplishes multiple things:
- Allows us to start systemd without stage-2-init.sh. This was not
  possible before because the environment would have been wrong
- `systemctl daemon-reexec` also changes the environment, giving us
  newer tools for the fs packages
- Starts systemd in a fully clean environment, making everything more
  consistent and pure
2022-03-30 20:24:27 +02:00
Martin Weinelt d63e5c5d40
nixosTests.botamusique: satisfy pyradios dns lookup
Since pyradio 1.0 the library does a DNS lookup on import, so we add the
required hostname into /etc/hosts to satisfy that lookup.
2022-03-30 19:11:43 +02:00
Matt Layher bb22a2debc nixos/zrepl: note about systemd unit, add snapshot test
Signed-off-by: Matt Layher <mdlayher@gmail.com>
2022-03-30 08:55:15 -07:00
Nick Cao e85e545dbd
powerdns: 4.3.1 -> 4.6.1 2022-03-28 22:05:31 +08:00
Robert Hensing aa0f27abb0 treewide: machine -> nodes.machine 2022-03-28 14:11:58 +02:00
Jan Tojnar 8e251dfd7a nixosTests.gnome: fix tests
GNOME Terminal is no longer installed by default,
breaking the tests that depend on it.
Let’s re-add it for now to unbreak them.
2022-03-27 15:59:11 +02:00
Sandro c2bc9e6c56
Merge pull request #165009 from fgaz/sfxr-qt/1.5.0 2022-03-27 11:39:40 +02:00
Janne Heß fae56a205e
Merge pull request #165494 from helsinki-systems/upd/xfsprogs
xfsprogs: 5.13.0 -> 5.14.2
2022-03-26 18:31:11 +01:00
Sandro 112a390c02
Merge pull request #165435 from JJJollyjim/term-maintainers 2022-03-26 12:33:12 +01:00
Vladimír Čunát b9eab51eed
Merge #160343: GNOME: 41 -> 42 2022-03-26 09:16:07 +01:00
Silvan Mosberger 5a67e9db61
Merge pull request #133532 from Infinisil/systemd-unit-dirs 2022-03-25 19:05:35 +01:00
Silvan Mosberger c70a466d21 nixos/systemd: Allow creation of unit directories
This patch allows creation of files like
/etc/systemd/system/user-.slice.d/limits.conf with

    systemd.units."user-.slice.d/limits.conf" = {
      text = ''
        [Slice]
        CPUAccounting=yes
        CPUQuota=50%
      '';
    };

which previously threw an error

Also renames the systemd-unit-path test to sytsemd-misc, and extends it to
test that `systemd.units` can handle directories. In this case we make
sure that resource limits specified in user slices apply.
2022-03-25 17:47:44 +01:00
Maciej Krüger 511e56d76c
Merge pull request #140406 from mkg20001/mvn 2022-03-25 15:08:44 +01:00
Jan Tojnar 053ecedfe0 gjs.tests: fix warning
The tests complained:

/nix/store/nm3nf5y4hzgmy00lw5s6ls68j38y84y0-gjs-1.72.0-installedTests/libexec/installed-tests/gjs/scripts/testCommandLineModules.sh: line 90: gjs-console: command not found

But they still passed.
2022-03-25 15:02:49 +01:00
Robert Hensing ce5a33e62b
Merge pull request #164660 from ncfavier/tests-restrict-arguments
nixos/testing: restrict arguments to makeTest
2022-03-24 17:01:47 +01:00
pennae 67281c4d29
Merge pull request #165285 from jpathy/patch-2
networking.greTunnels: Add ttl option
2022-03-24 08:10:23 +00:00
Naïm Favier a8296e7537
nixos/earlyoom: bring the module up to date (#163663)
* nixos/earlyoom: bring the module up to date

Removes deprecated option `ignoreOOMScoreAdjust`, introduces `killHook`
as a replacement for `notificationsCommand`, and adds an `extraArgs`
option for things not covered by the module.

* nixos/earlyoom: add nixos test

* nixos/earlyoom: add reportInterval

Allows setting the interval for logging a memory report. Defaults to
3600 following upstream
     (https://github.com/rfjakob/earlyoom/blob/master/earlyoom.default#L5)
to avoid flooding logs.

* nixos/earlyoom: add free{Mem,Swap}KillThreshold

Fixes https://github.com/NixOS/nixpkgs/issues/83504
2022-03-24 15:34:09 +08:00
ajs124 16bce5f2fe nixosTests.installer.lvm: adjust root LV size
install ran out of disk space after 5b820f714d
2022-03-24 01:15:22 +01:00
Bernardo Meurer 25d1efa97e
Merge pull request #165386 from zhaofengli/moonraker-2022-03-10
moonraker: unstable-2021-12-05 -> unstable-2022-03-10
2022-03-23 10:33:10 -07:00
Jamie McClymont 823c7cac38 nixos/tests/terminal-emulators: fix nonexistant stdenv.lib in maintainers 2022-03-24 00:19:15 +13:00
Francesco Gazzetta b9bc59d832 sfxr-qt: add nixos test 2022-03-23 10:59:09 +01:00
Benjamin Staffin 6f5636223c keycloak-metrics-spi: init at 2.5.3 2022-03-22 19:57:11 -04:00
Zhaofeng Li b1431381d0 nixos/tests/moonraker: init 2022-03-22 15:35:39 -07:00
jpathy 19bb72c070 networking.greTunnels: Add ttl option 2022-03-23 00:24:44 +05:30
aszlig de4a69b2de
nixos/tests/avahi: Fix running background command
In https://github.com/NixOS/nixpkgs/pull/142747, the implementation
behind Machine.execute() has been changed to pipe all the command's
output into base64 on the guest machine.

Unfortunately this means that base64 is blocking until stdout is closed,
which in turn means that we now need to make sure that whenever we run a
program in background via "&" we also need to make sure to close stdout,
which we do by redirecting stdout to stderr.

Signed-off-by: aszlig <aszlig@nix.build>
2022-03-22 17:24:13 +01:00
Luflosi 41d45d674a
nixos/ipfs: add systemd hardening
Use the hardened systemd unit from upstream.
2022-03-22 11:12:14 +01:00
Benjamin Staffin 34006ebc9d Merge remote-tracking branch 'origin/master' into mvn 2022-03-21 18:37:45 -04:00
Robert Hensing 6c469679f6 Merge remote-tracking branch 'upstream/master' into tests-restrict-arguments 2022-03-21 23:17:17 +01:00
Robert Hensing eb8b70c020 nixos: Make config.nix.enable pass test 2022-03-21 23:14:10 +01:00
Jörg Thalheim 9b2939da63
Merge pull request #164260 from Mic92/nix-ld
nix-ld: init at 1.0.0 + nixos module
2022-03-21 18:42:38 +00:00
Manuel Bärenz 9046ecff84
Merge pull request #163608 from turion/dev_fix_keepassxc_163482
nixosTests.keepassxc: Add regression test for #163482
2022-03-21 12:24:32 +01:00
Janne Heß 8e60f86840
Merge pull request #164034 from helsinki-systems/clean/stc
nixos/switch-to-configuration: Major script cleanup
2022-03-21 12:13:23 +01:00
Jörg Thalheim a98ea7e6f8 nix-ld: init at 1.0.0 + nixos module 2022-03-21 11:15:32 +01:00
Izorkin 41f28e9fbc nixos/tests: add mastodon test 2022-03-20 21:01:03 +01:00
Sandro bf7837529e
Merge pull request #103733 from JJJollyjim/term-tests 2022-03-20 18:57:18 +01:00
Artturi 8cfcf8c9a9
Merge pull request #156200 from B4dM4n/nixos-tests-wine 2022-03-20 17:37:38 +02:00
Janne Heß 2473cce829
nixos/switchTest: Also test boot/switch actions 2022-03-20 13:04:24 +01:00