From dbc3d999a184d9360849daadce9f72ab50434fec Mon Sep 17 00:00:00 2001
From: Tom Prince <tom.prince@private.storage>
Date: Tue, 4 Jan 2022 14:29:25 -0700
Subject: [PATCH] share config for textfiles-directory

---
 nixos/modules/monitoring/exporters/node.nix  | 7 ++++++-
 nixos/modules/monitoring/exporters/tahoe.nix | 3 ++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/nixos/modules/monitoring/exporters/node.nix b/nixos/modules/monitoring/exporters/node.nix
index d854ff73..b55e0476 100644
--- a/nixos/modules/monitoring/exporters/node.nix
+++ b/nixos/modules/monitoring/exporters/node.nix
@@ -15,6 +15,11 @@ let
 
 in {
   config.services.prometheus.exporters.node = {
+    textfiles-directory = lib.mkOption {
+      type = lib.types.str;
+      description = "Directory used by the textfiles collector.";
+      default = "/run/prometheus-node-exporter/tahoe.prom";
+    };
     enable = true;
     openFirewall = true;
     firewallFilter = "-i monitoringvpn -p tcp -m tcp --dport 9100";
@@ -36,7 +41,7 @@ in {
       "stat"
       "systemd"
       "textfile"
-      "textfile.directory /run/prometheus-node-exporter"
+      "textfile.directory ${cfg.textfiles-directory}"
       #"thermal_zone" # not in nixpkgs 19.09
       "time"
       #"udp_queues" # not in nixpkgs 19.09
diff --git a/nixos/modules/monitoring/exporters/tahoe.nix b/nixos/modules/monitoring/exporters/tahoe.nix
index 9bffabe7..7d4c5dea 100644
--- a/nixos/modules/monitoring/exporters/tahoe.nix
+++ b/nixos/modules/monitoring/exporters/tahoe.nix
@@ -11,6 +11,7 @@
 
 let
   cfg = config.services.private-storage.monitoring.tahoe;
+  inherit (config.services.private-storage.monitoring.node) textfiles-directory;
 
 in {
   options.services.private-storage.monitoring.tahoe = {
@@ -23,7 +24,7 @@ in {
     outFile = lib.mkOption {
       type = lib.types.str;
       description = "Where to store the temporary file for node exporter to scrape?";
-      default = "/run/prometheus-node-exporter/tahoe.prom";
+      default = "${textfiles-directory}/tahoe.prom";
     };
     interval = lib.mkOption {
       type = lib.types.str;
-- 
GitLab