Group endpoints in gatus dashboard

This commit is contained in:
SebastianStork 2025-06-14 18:48:35 +02:00
parent c6056c2161
commit 5fd5acc8a4

View file

@ -52,11 +52,12 @@ in
mkHttpCheck = mkHttpCheck =
{ {
name, name,
group,
url, url,
conditions ? [ ], conditions ? [ ],
}: }:
{ {
inherit name url; inherit name group url;
conditions = [ "[STATUS] == 200" ] ++ conditions; conditions = [ "[STATUS] == 200" ] ++ conditions;
interval = "30s"; interval = "30s";
alerts = [ { type = "ntfy"; } ]; alerts = [ { type = "ntfy"; } ];
@ -65,6 +66,7 @@ in
[ [
{ {
name = "Syncthing"; name = "Syncthing";
group = "Private";
url = "tcp://alto.${tailscaleDomain}:22000"; url = "tcp://alto.${tailscaleDomain}:22000";
conditions = [ "[CONNECTED] == true" ]; conditions = [ "[CONNECTED] == true" ];
interval = "30s"; interval = "30s";
@ -72,11 +74,13 @@ in
} }
(mkHttpCheck { (mkHttpCheck {
name = "Syncthing GUI"; name = "Syncthing GUI";
group = "Private";
url = "https://syncthing.${tailscaleDomain}/rest/noauth/health"; url = "https://syncthing.${tailscaleDomain}/rest/noauth/health";
conditions = [ "[BODY].status == OK" ]; conditions = [ "[BODY].status == OK" ];
}) })
(mkHttpCheck { (mkHttpCheck {
name = "Nextcloud"; name = "Nextcloud";
group = "Private";
url = "https://cloud.${tailscaleDomain}/status.php"; url = "https://cloud.${tailscaleDomain}/status.php";
conditions = [ conditions = [
"[BODY].installed == true" "[BODY].installed == true"
@ -86,20 +90,24 @@ in
}) })
(mkHttpCheck { (mkHttpCheck {
name = "Actual Budget"; name = "Actual Budget";
group = "Private";
url = "https://budget.${tailscaleDomain}/"; url = "https://budget.${tailscaleDomain}/";
}) })
(mkHttpCheck { (mkHttpCheck {
name = "Hedgedoc"; name = "Hedgedoc";
group = "Public";
url = "https://docs.sprouted.cloud/_health"; url = "https://docs.sprouted.cloud/_health";
conditions = [ "[BODY].ready == true" ]; conditions = [ "[BODY].ready == true" ];
}) })
(mkHttpCheck { (mkHttpCheck {
name = "Forgejo"; name = "Forgejo";
group = "Public";
url = "https://git.sstork.dev/api/healthz"; url = "https://git.sstork.dev/api/healthz";
conditions = [ "[BODY].status == pass" ]; conditions = [ "[BODY].status == pass" ];
}) })
{ {
name = "Forgejo SSH"; name = "Forgejo SSH";
group = "Public";
url = "ssh://git.sstork.dev"; url = "ssh://git.sstork.dev";
ssh = { ssh = {
username = ""; username = "";
@ -111,6 +119,7 @@ in
} }
(mkHttpCheck { (mkHttpCheck {
name = "Ntfy"; name = "Ntfy";
group = "Monitoring";
url = "https://alerts.${tailscaleDomain}/v1/health"; url = "https://alerts.${tailscaleDomain}/v1/health";
conditions = [ "[BODY].healthy == true" ]; conditions = [ "[BODY].healthy == true" ];
}) })