diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2020-06-20 07:38:17 +0200 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2020-06-20 07:38:17 +0200 |
commit | 9c5e7367d1a0531d5b7dbc55de0918071e7283d9 (patch) | |
tree | f66af54d811593f70751cee006ad1c2103ea7101 /nixos | |
parent | 1f03d4980f163bc485960c793159d90afe4ea62b (diff) | |
parent | 39626dcc2ac2e594bd4e1c8ee3c2714a1a8bf708 (diff) |
Merge master into staging-next
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/monitoring/tuptime.nix | 9 | ||||
-rw-r--r-- | nixos/modules/services/web-servers/traefik.nix | 4 | ||||
-rw-r--r-- | nixos/modules/tasks/filesystems/btrfs.nix | 5 | ||||
-rw-r--r-- | nixos/tests/docker-tools.nix | 14 |
4 files changed, 26 insertions, 6 deletions
diff --git a/nixos/modules/services/monitoring/tuptime.nix b/nixos/modules/services/monitoring/tuptime.nix index 731260a5c20af..8f79d91659901 100644 --- a/nixos/modules/services/monitoring/tuptime.nix +++ b/nixos/modules/services/monitoring/tuptime.nix @@ -32,7 +32,10 @@ in { environment.systemPackages = [ pkgs.tuptime ]; - users.users.tuptime.description = "tuptime database owner"; + users = { + groups._tuptime.members = [ "_tuptime" ]; + users._tuptime.description = "tuptime database owner"; + }; systemd = { services = { @@ -45,7 +48,7 @@ in { serviceConfig = { StateDirectory = "tuptime"; Type = "oneshot"; - User = "tuptime"; + User = "_tuptime"; RemainAfterExit = true; ExecStart = "${pkgs.tuptime}/bin/tuptime -x"; ExecStop = "${pkgs.tuptime}/bin/tuptime -xg"; @@ -57,7 +60,7 @@ in { serviceConfig = { StateDirectory = "tuptime"; Type = "oneshot"; - User = "tuptime"; + User = "_tuptime"; ExecStart = "${pkgs.tuptime}/bin/tuptime -x"; }; }; diff --git a/nixos/modules/services/web-servers/traefik.nix b/nixos/modules/services/web-servers/traefik.nix index 4ab7307c3b671..0631a26569c8c 100644 --- a/nixos/modules/services/web-servers/traefik.nix +++ b/nixos/modules/services/web-servers/traefik.nix @@ -20,10 +20,10 @@ let in valueType; dynamicConfigFile = if cfg.dynamicConfigFile == null then pkgs.runCommand "config.toml" { - buildInputs = [ pkgs.remarshal ]; + buildInputs = [ pkgs.yj ]; preferLocalBuild = true; } '' - remarshal -if json -of toml \ + yj -jt -i \ < ${ pkgs.writeText "dynamic_config.json" (builtins.toJSON cfg.dynamicConfigOptions) diff --git a/nixos/modules/tasks/filesystems/btrfs.nix b/nixos/modules/tasks/filesystems/btrfs.nix index f64493e1a3c78..c0ff28039b16e 100644 --- a/nixos/modules/tasks/filesystems/btrfs.nix +++ b/nixos/modules/tasks/filesystems/btrfs.nix @@ -128,7 +128,10 @@ in Nice = 19; IOSchedulingClass = "idle"; ExecStart = "${pkgs.btrfs-progs}/bin/btrfs scrub start -B ${fs}"; - ExecStop = "${pkgs.btrfs-progs}/bin/btrfs scrub cancel ${fs}"; + # if the service is stopped before scrub end, cancel it + ExecStop = pkgs.writeShellScript "btrfs-scrub-maybe-cancel" '' + (${pkgs.btrfs-progs}/bin/btrfs scrub status ${fs} | ${pkgs.gnugrep}/bin/grep finished) || ${pkgs.btrfs-progs}/bin/btrfs scrub cancel ${fs} + ''; }; }; in listToAttrs (map scrubService cfgScrub.fileSystems); diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix index 2375d15b38134..c48e5b0797628 100644 --- a/nixos/tests/docker-tools.nix +++ b/nixos/tests/docker-tools.nix @@ -42,6 +42,20 @@ import ./make-test-python.nix ({ pkgs, ... }: { "docker rmi ${examples.nix.imageName}", ) + with subtest("The nix binary symlinks are intact"): + docker.succeed( + "docker load --input='${examples.nix}'", + "docker run --rm ${examples.nix.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", + "docker rmi ${examples.nix.imageName}", + ) + + with subtest("The nix binary symlinks are intact when the image is layered"): + docker.succeed( + "docker load --input='${examples.nixLayered}'", + "docker run --rm ${examples.nixLayered.imageName} ${pkgs.bash}/bin/bash -c 'test nix == $(readlink ${pkgs.nix}/bin/nix-daemon)'", + "docker rmi ${examples.nixLayered.imageName}", + ) + with subtest("The pullImage tool works"): docker.succeed( "docker load --input='${examples.nixFromDockerHub}'", |