nixos/prometheus: fix node exporter timex collector

The timex collector (enabled by default) needs the
adjtimex syscall, which was disabled by
9fea6d4c8551b7c8783f23e011a2ba113c95d0dd.

So allow it unless the timex collector is disabled.

Changed files
+3 -1
nixos
modules
services
monitoring
prometheus
+1 -1
nixos/modules/services/monitoring/prometheus/exporters.nix
···
serviceConfig.MemoryDenyWriteExecute = true;
serviceConfig.NoNewPrivileges = true;
serviceConfig.PrivateDevices = true;
-
serviceConfig.ProtectClock = true;
+
serviceConfig.ProtectClock = mkDefault true;
serviceConfig.ProtectControlGroups = true;
serviceConfig.ProtectHome = true;
serviceConfig.ProtectHostname = true;
+2
nixos/modules/services/monitoring/prometheus/exporters/node.nix
···
'';
# The systemd collector needs AF_UNIX
RestrictAddressFamilies = lib.optional (lib.any (x: x == "systemd") cfg.enabledCollectors) "AF_UNIX";
+
# The timex collector needs to access clock APIs
+
ProtectClock = lib.any (x: x == "timex") cfg.disabledCollectors;
};
};
}