From bbf562d205d884e1ea464318085968bae913eb15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Fri, 18 Aug 2023 09:31:19 +0300 Subject: [PATCH] move node_exporter to its own module --- hosts/hel1-a/configuration.nix | 10 +--------- hosts/vno1-oh2/configuration.nix | 10 ++-------- hosts/vno1-rp3b/configuration.nix | 11 ++--------- modules/services/default.nix | 1 + modules/services/node_exporter/default.nix | 22 ++++++++++++++++++++++ 5 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 modules/services/node_exporter/default.nix diff --git a/hosts/hel1-a/configuration.nix b/hosts/hel1-a/configuration.nix index 22128c9..b9b43c3 100644 --- a/hosts/hel1-a/configuration.nix +++ b/hosts/hel1-a/configuration.nix @@ -67,9 +67,7 @@ }; services = { - friendlyport.vpn.ports = [ - myData.ports.exporters.node - ]; + node_exporter.enable = true; deployerbot = { follower = { @@ -122,12 +120,6 @@ services = { tailscale.enable = true; - prometheus.exporters.node = { - enable = true; - enabledCollectors = ["systemd" "processes"]; - port = myData.ports.exporters.node; - }; - nsd = { enable = true; interfaces = ["0.0.0.0" "::"]; diff --git a/hosts/vno1-oh2/configuration.nix b/hosts/vno1-oh2/configuration.nix index ada05b0..cffa8fd 100644 --- a/hosts/vno1-oh2/configuration.nix +++ b/hosts/vno1-oh2/configuration.nix @@ -70,9 +70,10 @@ 443 myData.ports.grafana myData.ports.prometheus - myData.ports.exporters.node ]; + node_exporter.enable = true; + nsd-acme = { enable = true; zones."grafana.jakstys.lt" = { @@ -181,13 +182,6 @@ prometheus = { enable = true; port = myData.ports.prometheus; - exporters = { - node = { - enable = true; - enabledCollectors = ["systemd" "processes"]; - port = myData.ports.exporters.node; - }; - }; globalConfig = { scrape_interval = "15s"; diff --git a/hosts/vno1-rp3b/configuration.nix b/hosts/vno1-rp3b/configuration.nix index 0e79e06..882f022 100644 --- a/hosts/vno1-rp3b/configuration.nix +++ b/hosts/vno1-rp3b/configuration.nix @@ -48,6 +48,8 @@ }; services = { + node_exporter.enable = true; + postfix = { enable = true; saslPasswdPath = config.age.secrets.sasl-passwd.path; @@ -60,18 +62,9 @@ publicKey = myData.hosts."vno1-oh2.servers.jakst".publicKey; }; }; - - friendlyport.vpn.ports = [ - myData.ports.exporters.node - ]; }; }; - services.prometheus.exporters.node = { - enable = true; - enabledCollectors = ["systemd" "processes"]; - port = myData.ports.exporters.node; - }; services.tailscale.enable = true; services.pipewire = { diff --git a/modules/services/default.nix b/modules/services/default.nix index 03a2215..3712ab9 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -7,6 +7,7 @@ imports = [ ./deployerbot ./friendlyport + ./node_exporter ./nsd-acme ./postfix ./syncthing diff --git a/modules/services/node_exporter/default.nix b/modules/services/node_exporter/default.nix new file mode 100644 index 0000000..d37bcde --- /dev/null +++ b/modules/services/node_exporter/default.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + myData, + ... +}: { + options.mj.services.node_exporter = with lib.types; { + enable = lib.mkEnableOption "Enable node_exporter"; + }; + + config = lib.mkIf config.mj.services.node_exporter.enable { + services.prometheus.exporters.node = { + enable = true; + enabledCollectors = ["systemd" "processes"]; + port = myData.ports.exporters.node; + }; + + mj.services.friendlyport.vpn.ports = [ + myData.ports.exporters.node + ]; + }; +}