@cryptotaxi247 / infra-1 / commits / d1b3a3d3

Enable diffoscope on the provisioned instances

Eelco Dolstra committed Dec 9, 2016 at 11:16 UTC d1b3a3d3cd9f1b42c90da0f5d06dd76a5e380c23
4 files changed +36 -22
delft/common.nix
+1 -21
@@ -2,22 +2,8 @@
2
3 with pkgs.lib;
4
5 -let
6 -
7 - diffoscopeWrapper = pkgs.writeScript "diffoscope-wrapper"
8 - ''
9 - #! ${pkgs.stdenv.shell}
10 - echo ""
11 - echo "non-determinism detected in $2; diff with previous round follows:"
12 - echo ""
13 - ${pkgs.utillinux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
14 - exit 0
15 - '';
16 -
17 -in
18 -
5 {
20 - imports = [ ./static-net-config.nix ];
6 + imports = [ ./static-net-config.nix ./diffoscope.nix ];
7
8 system.stateVersion = "14.12";
9
@@ -68,7 +54,6 @@ in
54 nix.extraOptions =
55 ''
56 allowed-impure-host-deps = /etc/protocols /etc/services /etc/nsswitch.conf
71 - diff-hook = ${diffoscopeWrapper}
57 '';
58
59 services.zabbixAgent.enable = true;
@@ -135,9 +120,4 @@ in
120
121 # Disable sending email from cron.
122 services.cron.mailto = "";
138 -
139 - # Don't run diffoscope as root.
140 - users.extraUsers.diffoscope =
141 - { description = "Diffoscope containment user";
142 - };
123 }
delft/diffoscope.nix new
+32
@@ -0,0 +1,32 @@
1 +{ config, pkgs, ... }:
2 +
3 +with pkgs.lib;
4 +
5 +let
6 +
7 + diffoscopeWrapper = pkgs.writeScript "diffoscope-wrapper"
8 + ''
9 + #! ${pkgs.stdenv.shell}
10 + exec >&2
11 + echo ""
12 + echo "non-determinism detected in $2; diff with previous round follows:"
13 + echo ""
14 + time ${pkgs.utillinux}/bin/runuser -u diffoscope -- ${pkgs.diffoscope}/bin/diffoscope "$1" "$2"
15 + exit 0
16 + '';
17 +
18 +in
19 +
20 +{
21 +
22 + nix.extraOptions =
23 + ''
24 + diff-hook = ${diffoscopeWrapper}
25 + '';
26 +
27 + # Don't run diffoscope as root.
28 + users.extraUsers.diffoscope =
29 + { description = "Diffoscope containment user";
30 + };
31 +
32 +}
hydra-provisioner/conf.nix
+2 -1
@@ -7,7 +7,8 @@
7
8 systemTypes.x86_64-linux = {
9 nixopsExpr = builtins.toPath ./nixops.nix;
10 - nixPath = [ "nixpkgs=https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz" ];
10 + #nixPath = [ "nixpkgs=https://nixos.org/channels/nixos-16.03/nixexprs.tar.xz" ];
11 + nixPath = [ "nixpkgs=/home/eelco.dolstra/src/nixpkgs" ];
12 minMachines = 0;
13 maxMachines = 12;
14 ignoredRunnables = 250;
hydra-provisioner/nixops.nix
+1
@@ -31,6 +31,7 @@ in
31 imports =
32 [ <nixpkgs/nixos/modules/profiles/minimal.nix>
33 <hydra-provisioner/auto-shutdown.nix>
34 + ../delft/diffoscope.nix
35 ];
36
37 users.extraUsers.root.openssh.authorizedKeys.keys =