Operational telemetry templates
Framework tooling retains machine-readable templates under
docs/observability/: a Grafana dashboard, an OpenSLO-style YAML definition
and Slack/PagerDuty alert examples. These are application starting points;
their thresholds do not approve an application's production SLO.
Import templates
From the framework checkout, configure credentials in your shell or secret
manager, then run npm run observability:deploy. It makes external writes to
the configured endpoints. For PowerShell:
$env:GRAFANA_URL = 'https://grafana.example.com'
$env:GRAFANA_API_TOKEN = '<token from your secret manager>'
$env:SLO_API_URL = 'https://slo.example.com/api/import'
$env:SLO_API_TOKEN = '<token from your secret manager>'
npm run observability:deploy
The script reads docs/observability/grafana/runtime-telemetry.json and POSTs
it to Grafana's /api/dashboards/db with overwrite enabled. It reads
docs/observability/slo/runtime-slo.yaml and POSTs the YAML to SLO_API_URL.
GRAFANA_FOLDER_ID is optional. Each import is skipped when its endpoint or
token is absent. Review the template and destination before running it.
Slack and PagerDuty webhook URLs are configured using
TELEMETRY_SLACK_WEBHOOK and TELEMETRY_PAGERDUTY_WEBHOOK in the example
config/telemetry.config.ts. Do not store real tokens in documentation,
source control or generated site assets.
See exporter limitations, notification delivery and alert response.