# rippled OTel alerting delivery — copy to `.env.alerting` and fill in. # # `.env.alerting` is gitignored; never commit a real Slack webhook or address. # See the Alerting section of docs/telemetry-runbook.md. # # IMPORTANT — these variables do NOT feed contactpoints.yaml. # That file carries literal placeholder values which you edit in place, because # Grafana expands ${VAR} but does NOT support ${VAR:-default}: an unset variable # expands to empty, fails provisioning validation, and Grafana EXITS 1 — taking # the whole telemetry stack down, not just alerting. So a var left blank here # does not "disable a delivery path"; referencing a blank one breaks startup. # # What these are actually for: # GF_SMTP_* consumed by the Grafana container (compose `env_file`) to # turn on mail delivery. Without these, an email contact point # provisions fine and then silently sends nothing. # ALERT_EMAIL_TO read by upload_alerts_to_grafana.py to build the Grafana # CLOUD email contact point over the REST API (Cloud has no # provisioning filesystem). Not used by the local stack. # --- Slack (local stack: paste the webhook into contactpoints.yaml instead) --- # Incoming-webhook URL from the Slack app (Incoming Webhooks feature). # Kept here as a convenient place to record it, NOT as a ${VAR} source. SLACK_WEBHOOK_URL= # --- Email --- # Recipient for Grafana Cloud alerts (comma- or semicolon-separated). # Consumed by upload_alerts_to_grafana.py. ALERT_EMAIL_TO= # SMTP relay Grafana sends through. Email only delivers when SMTP is enabled # and these point at a real relay (e.g. an internal smart host or an # authenticated provider). GF_SMTP_ENABLED=false GF_SMTP_HOST=smtp.example.com:587 GF_SMTP_USER= GF_SMTP_PASSWORD= GF_SMTP_FROM_ADDRESS=alerts@xrpld.local GF_SMTP_FROM_NAME=xrpld Alerts