summary refs log tree commit diff
path: root/nixos/modules/services/monitoring/prometheus/exporters
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2022-12-08 22:33:03 +0100
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-12-09 01:40:01 +0100
commitfdcc9e8202c95eed45cd673afa880171330bb1a9 (patch)
tree585e4ad0d3ae2dd5cf867c19c6d7f4a7adddd8c0 /nixos/modules/services/monitoring/prometheus/exporters
parenta49feed2551dd918c0fcd121276edd322cc34948 (diff)
downloadnixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar.gz
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar.bz2
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar.lz
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar.xz
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.tar.zst
nixpkgs-fdcc9e8202c95eed45cd673afa880171330bb1a9.zip
nixos/prometheus.exporters.smartctl: Simplify DeviceAllow logic
Setting up the DeviceAllow list with explicitly configured devices was a
nice idea, but sometimes a configured device (`/dev/nvme0n1` an NVMe
namespace) has a parent device (`/dev/nvme0`) that smartctl needs to
access to query metrics.

Falling back to the block and character definitions is probably a valid
fallback.
Diffstat (limited to 'nixos/modules/services/monitoring/prometheus/exporters')
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix14
1 files changed, 5 insertions, 9 deletions
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
index 302b1d5202c..0c5648c1414 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/smartctl.nix
@@ -46,15 +46,11 @@ in {
         "CAP_SYS_ADMIN"
       ];
       DevicePolicy = "closed";
-      DeviceAllow = lib.mkOverride 50 (
-        if cfg.devices != [] then
-          cfg.devices
-        else [
-          "block-blkext rw"
-          "block-sd rw"
-          "char-nvme rw"
-        ]
-      );
+      DeviceAllow = lib.mkOverride 50 [
+        "block-blkext rw"
+        "block-sd rw"
+        "char-nvme rw"
+      ];
       ExecStart = ''
         ${pkgs.prometheus-smartctl-exporter}/bin/smartctl_exporter ${args}
       '';