diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/default.nix | 3 | ||||
| -rw-r--r-- | lib/monitoring/default.nix | 20 | ||||
| -rw-r--r-- | lib/nginx/default.nix | 2 |
3 files changed, 23 insertions, 2 deletions
diff --git a/lib/default.nix b/lib/default.nix index 61c0760..5aecf51 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -4,10 +4,11 @@ flake = { lib = let - callLibs = file: import file { inherit lib; }; + callLibs = file: import file { inherit lib config; }; in { nginx = callLibs ./nginx; + mon = callLibs ./monitoring; }; }; } diff --git a/lib/monitoring/default.nix b/lib/monitoring/default.nix new file mode 100644 index 0000000..2c7c3cf --- /dev/null +++ b/lib/monitoring/default.nix @@ -0,0 +1,20 @@ +{ config, lib }: + +rec { + mkTarget = host: port: { + targets = [ "${host}:${toString port}" ]; + }; + + mkScrapeConfig = name: hosts: port: { + job_name = name; + static_configs = map (host: mkTarget host port) hosts; + relabel_configs = relabelConfig; + }; + + relabelConfig = [{ + source_labels = ["__address__"]; + target_label = "host"; + regex = "([^:]+)(:[0-9]+)?"; + replacement = "\${1}"; + }]; +} diff --git a/lib/nginx/default.nix b/lib/nginx/default.nix index 1f0f482..c6b6da2 100644 --- a/lib/nginx/default.nix +++ b/lib/nginx/default.nix @@ -1,4 +1,4 @@ -{ lib }: +{ lib, ... }: { proxyDomain = cert: proxyPass: { |
