Grafana dashboard
Official Grafana dashboard for GitHub Deployment Bridge. It visualizes Prometheus metrics (lifecycle counters, GitHub API / OCI rates, controller health) and lists firing alerts.
Dashboard JSON:
deploy/grafana/github-deployment-bridge.json
(uid: github-deployment-bridge).
Prerequisites
- Scrape
/metrics(HelmserviceMonitor.enabled=true, or equivalent). - A Prometheus-compatible Grafana datasource (Prometheus, VictoriaMetrics, …).
- Optional: enable
prometheusRule.enabledso the Alerts row has series to show. Triage: Runbook.
Link GitHub deployments to Grafana
Use the bridge's log_url template to make GitHub's View deployment logs
link open the relevant Grafana view. Ready-to-use Loki Explore and dashboard
templates are in Log URL placeholders.
Enable config.logURLTemplateEscape: true so workload-derived values cannot
alter the URL query or path. This links to Grafana; it does not add Grafana data
or provider-specific fields to the GitHub Deployment payload.
Import
Grafana UI
- Dashboards → New → Import.
- Upload
github-deployment-bridge.json(or paste the file contents). - Select your Prometheus datasource when prompted (
DS_PROMETHEUS). - Set Release to your Helm release name /
fullnameOverride(default:github-deployment-bridge).
grafana.com provisioning / ConfigMap sidecar
Mount the same JSON from the repo (ConfigMap, grafana-operator GrafanaDashboard,
or sidecar). Keep the file uid stable so upgrades replace the existing
dashboard instead of creating duplicates.
Dashboard variables
If panels stay empty, check that up{job=~"<release>"} returns series for your
ServiceMonitor job label. With kube-prometheus-stack the job name is often the
ServiceMonitor name (chart fullname). Override Release if you renamed the
release.
What to watch
Do not page on deployment_failures_total - use deployment_errors_total
and the GitHub API alerts. Metric catalog: Metrics.