{ lib, pkgs, config, ... }: { grafanaAlertRuleDefinitions = [ { uid = "gitea-runner-service-down-alert-uid"; title = "Gitea Runner Service Down"; condition = "C"; data = [ { refId = "A"; relativeTimeRange = { from = 300; to = 0; }; datasourceUid = "vm-datasource-uid"; model = { editorMode = "code"; expr = "node_systemd_unit_state{state=\"active\", name=\"microvm@git-runner-1.service\"} OR on() vector(0)"; hide = false; intervalMs = 1000; legendFormat = "__auto"; maxDataPoints = 43200; range = true; refId = "A"; }; } { refId = "B"; datasourceUid = "__expr__"; model = { type = "reduce"; expression = "A"; reducer = "last"; }; } { refId = "C"; datasourceUid = "__expr__"; model = { type = "math"; expression = "$B < 1"; }; } ]; noDataState = "Alerting"; execErrState = "Alerting"; for = "5m"; annotations = { description = "Gitea Runner service is down on {{ $labels.instance }}"; summary = "Gitea Runner Service Down"; }; labels = { severity = "critical"; }; } ]; }