From bf3ffa5e0d5a4c23e97e1950882c04a45083acd0 Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Fri, 6 Mar 2026 13:17:14 -0500 Subject: [PATCH] rm lib --- clients/quadraticserver/stats/grafana.nix | 112 +++++++++++++++++++++- lib/status.nix | 109 --------------------- 2 files changed, 111 insertions(+), 110 deletions(-) delete mode 100644 lib/status.nix diff --git a/clients/quadraticserver/stats/grafana.nix b/clients/quadraticserver/stats/grafana.nix index dd5c946..906e6bc 100644 --- a/clients/quadraticserver/stats/grafana.nix +++ b/clients/quadraticserver/stats/grafana.nix @@ -14,6 +14,116 @@ in services = let domain = "status.federated.nexus"; + makeDashboard = + { pkgs, lib, ... }: + pkgs.writers.writeJSON "status.json" { + title = "Service Status"; + refresh = "10s"; + time = rec { + from = "now"; + to = from; + }; + panels = + let + status = null; + offset = if status == null then 8 else 0; + in + (lib.optionals (status != null) [ + { + gridPos.w = 100; + title = "Status Update"; + type = "text"; + options.content = status; + } + ]) + ++ [ + { + collapsed = false; + title = "Federated Nexus Service Statuses"; + type = "row"; + gridPos = { + h = 8; + w = 24; + y = offset; + }; + } + ] + ++ (lib.imap0 + ( + index: + { name, service }: + { + title = name; + type = "stat"; + gridPos = rec { + h = 3; + w = 4; + x = index * w; + y = (index * h) + offset + 8; + }; + datasource = { + type = "prometheus"; + uid = "prometheus"; + }; + options.graphMode = "none"; + fieldConfig = { + defaults = { + color.mode = "thresholds"; + mappings = [ + { + options = { + "0".text = "Failed"; + "1".text = "Running"; + }; + type = "value"; + } + ]; + thresholds = { + mode = "absolute"; + steps = [ + { + color = "red"; + value = 0; + } + { + color = "green"; + value = 1; + } + ]; + }; + }; + }; + targets = [ + { + expr = "node_systemd_unit_state{name=\"${service}\",state=\"active\"}"; + } + ]; + } + ) + [ + { + name = "Matrix"; + service = "continuwuity.service"; + } + { + name = "LaSuite Docs"; + service = "lasuite-docs.service"; + } + { + name = "Forgejo (Git)"; + service = "forgejo.service"; + } + { + name = "SearXNG (Search)"; + service = "searx.service"; + } + { + name = "Redlib"; + service = "redlib.service"; + } + ] + ); + }; in { grafana = { @@ -37,7 +147,7 @@ in "auth.anonymous".enabled = true; analytics.feedback_links_enabled = false; users.default_theme = "system"; - dashboards.default_home_dashboard_path = toString (import ../../../lib/status.nix attrs); + dashboards.default_home_dashboard_path = toString (makeDashboard attrs); }; provision = { diff --git a/lib/status.nix b/lib/status.nix deleted file mode 100644 index 4fe7c4c..0000000 --- a/lib/status.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ pkgs, lib, ... }: -pkgs.writers.writeJSON "status.json" { - title = "Service Status"; - refresh = "10s"; - time = rec { - from = "now"; - to = from; - }; - panels = - let - status = null; - offset = if status == null then 8 else 0; - in - (lib.optionals (status != null) [ - { - gridPos.w = 100; - title = "Status Update"; - type = "text"; - options.content = status; - } - ]) - ++ [ - { - collapsed = false; - title = "Federated Nexus Service Statuses"; - type = "row"; - gridPos = { - h = 8; - w = 24; - y = offset; - }; - } - ] - ++ (lib.imap0 - ( - index: - { name, service }: - { - title = name; - type = "stat"; - gridPos = rec { - h = 3; - w = 4; - x = index * w; - y = (index * h) + offset + 8; - }; - datasource = { - type = "prometheus"; - uid = "prometheus"; - }; - options.graphMode = "none"; - fieldConfig = { - defaults = { - color.mode = "thresholds"; - mappings = [ - { - options = { - "0".text = "Failed"; - "1".text = "Running"; - }; - type = "value"; - } - ]; - thresholds = { - mode = "absolute"; - steps = [ - { - color = "red"; - value = 0; - } - { - color = "green"; - value = 1; - } - ]; - }; - }; - }; - targets = [ - { - expr = "node_systemd_unit_state{name=\"${service}\",state=\"active\"}"; - } - ]; - } - ) - [ - { - name = "Matrix"; - service = "continuwuity.service"; - } - { - name = "LaSuite Docs"; - service = "lasuite-docs.service"; - } - { - name = "Forgejo (Git)"; - service = "forgejo.service"; - } - { - name = "SearXNG (Search)"; - service = "searx.service"; - } - { - name = "Redlib"; - service = "redlib.service"; - } - ] - ); -}