diff options
| author | Mel <einebeere@gmail.com> | 2024-12-22 22:41:25 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-12-22 22:41:25 +0100 |
| commit | 778e23735053e935c3af00490561fe65b8c7d02c (patch) | |
| tree | 582e6a0a5c3a7d8490828db201e8aa98607db185 /modules/foundation/monitoring/default.nix | |
| parent | 6163fa5b5926dd4a456b9fd07e05f9ec1f49d613 (diff) | |
| download | network-778e23735053e935c3af00490561fe65b8c7d02c.tar.zst network-778e23735053e935c3af00490561fe65b8c7d02c.zip | |
Break up monitoring module
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/foundation/monitoring/default.nix')
| -rw-r--r-- | modules/foundation/monitoring/default.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/foundation/monitoring/default.nix b/modules/foundation/monitoring/default.nix new file mode 100644 index 0000000..a7bc185 --- /dev/null +++ b/modules/foundation/monitoring/default.nix @@ -0,0 +1,52 @@ +{ me, config, lib, ... }: + +let + inherit (lib) mkOption mkEnableOption types; + + cfg = config.foundation.monitoring; + + ports = { + victoriaDefaultPort = 8428; + nodeExporterPort = 9001; + cadvisorExporterPort = 9002; + nginxExporterPort = 9113; + dockerExporterPort = 9323; + }; + + serverConfiguration = import ./server.nix ({ + hosts = cfg.server.hosts; + victoriaAddress = me.tailscale.ip; + } // ports); + + clientConfiguration = import ./client.nix ({ + listenAddress = me.tailscale.ip; + } // ports); +in +{ + imports = [ ../../../services/monitoring/wrapper.nix ]; + + options.foundation.monitoring = { + server = { + enable = mkEnableOption "monitoring server"; + + hosts = mkOption { + type = with types; listOf (submodule { + options = { + name = mkOption { type = str; }; + ip = mkOption { type = str; }; + }; + }); + default = [ ]; + }; + }; + + client = { + enable = mkEnableOption "monitoring client"; + }; + }; + + config = lib.mkMerge [ + (lib.mkIf cfg.server.enable serverConfiguration) + (lib.mkIf (cfg.client.enable || cfg.server.enable) clientConfiguration) + ]; +} |
