From 5fd5acc8a4567c42911a609379b30b66ebb81b15 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Sat, 14 Jun 2025 18:48:35 +0200 Subject: [PATCH] Group endpoints in gatus dashboard --- modules/system/services/gatus.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/system/services/gatus.nix b/modules/system/services/gatus.nix index f7b6de8..f88e33b 100644 --- a/modules/system/services/gatus.nix +++ b/modules/system/services/gatus.nix @@ -52,11 +52,12 @@ in mkHttpCheck = { name, + group, url, conditions ? [ ], }: { - inherit name url; + inherit name group url; conditions = [ "[STATUS] == 200" ] ++ conditions; interval = "30s"; alerts = [ { type = "ntfy"; } ]; @@ -65,6 +66,7 @@ in [ { name = "Syncthing"; + group = "Private"; url = "tcp://alto.${tailscaleDomain}:22000"; conditions = [ "[CONNECTED] == true" ]; interval = "30s"; @@ -72,11 +74,13 @@ in } (mkHttpCheck { name = "Syncthing GUI"; + group = "Private"; url = "https://syncthing.${tailscaleDomain}/rest/noauth/health"; conditions = [ "[BODY].status == OK" ]; }) (mkHttpCheck { name = "Nextcloud"; + group = "Private"; url = "https://cloud.${tailscaleDomain}/status.php"; conditions = [ "[BODY].installed == true" @@ -86,20 +90,24 @@ in }) (mkHttpCheck { name = "Actual Budget"; + group = "Private"; url = "https://budget.${tailscaleDomain}/"; }) (mkHttpCheck { name = "Hedgedoc"; + group = "Public"; url = "https://docs.sprouted.cloud/_health"; conditions = [ "[BODY].ready == true" ]; }) (mkHttpCheck { name = "Forgejo"; + group = "Public"; url = "https://git.sstork.dev/api/healthz"; conditions = [ "[BODY].status == pass" ]; }) { name = "Forgejo SSH"; + group = "Public"; url = "ssh://git.sstork.dev"; ssh = { username = ""; @@ -111,6 +119,7 @@ in } (mkHttpCheck { name = "Ntfy"; + group = "Monitoring"; url = "https://alerts.${tailscaleDomain}/v1/health"; conditions = [ "[BODY].healthy == true" ]; })