## Summary Mikado chain to replace `mise run services-check` with Grafana Unified Alerting backed by ntfy push notifications. **Design:** - Grafana Unified Alerting evaluates rules against Prometheus/Loki - ntfy webhook contact point delivers iOS notifications - Anti-noise policy: page once per 24h per alert group - Every alert links to a runbook in `docs/how-to/alerts/` - services-check eventually queries the alerting API instead of doing its own probes **Chain (bottom-up):** 1. `configure-grafana-alerting-pipeline` — enable alerting, ntfy contact point, notification policy 2. `first-alert-and-runbook` — end-to-end proof of concept with blackbox probe failure 3. `port-services-check-alerts` — migrate all services-check probes to alert rules + runbooks 4. `refactor-services-check-to-query-alerts` — rewrite services-check to query Grafana API 5. `deploy-infra-alerting` — goal card 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: #303
37 lines
883 B
INI
37 lines
883 B
INI
[analytics]
|
|
check_for_updates = false
|
|
reporting_enabled = false
|
|
|
|
[auth.generic_oauth]
|
|
allow_sign_up = true
|
|
api_url = https://authentik.ops.eblu.me/application/o/userinfo/
|
|
auth_url = https://authentik.ops.eblu.me/application/o/authorize/
|
|
auto_login = false
|
|
client_id = grafana
|
|
client_secret = $__env{GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET}
|
|
enabled = true
|
|
name = Authentik
|
|
role_attribute_path = contains(groups[*], 'admins') && 'Admin' || 'Viewer'
|
|
skip_org_role_sync = false
|
|
scopes = openid profile email
|
|
token_url = https://authentik.ops.eblu.me/application/o/token/
|
|
|
|
[log]
|
|
mode = console
|
|
|
|
[paths]
|
|
data = /var/lib/grafana/
|
|
logs = /var/log/grafana
|
|
plugins = /var/lib/grafana/plugins
|
|
provisioning = /etc/grafana/provisioning
|
|
|
|
[security]
|
|
allow_embedding = false
|
|
|
|
[server]
|
|
root_url = https://grafana.ops.eblu.me
|
|
|
|
[unified_alerting]
|
|
enabled = true
|
|
evaluation_timeout = 30s
|
|
min_interval = 10s
|