Review: Grafana golden signals dashboard

review-16-2026-06-01 Review

review ready

Verdict: READY

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — standalone, discovered during observability gap audit
  • [x] Repo — ldraney/pal-e-platform
  • [x] User Story — clear operator story
  • [x] Context — references existing dashboards as templates
  • [ ] File Targets — mentions JSON file but omits the TF resource block in main.tf (minor gap)
  • [x] Acceptance Criteria — dashboard visible in Grafana with panels
  • [x] Test Expectations — visual verification in Grafana
  • [x] Constraints — useful only after metrics flowing
  • [x] Checklist — present
  • [x] Related — links to parent #43

Traceability

  • [x] story:observability — present on board item
  • [x] arch:platform — present on board item
  • [x] Forgejo issue #16 — open

File Targets

  • [x] terraform/dashboards/ — verified exists in pal-e-platform. basketball-api, pal-e-app, playme2k, believers-elite JSON files present as templates.
  • [ ] terraform/modules/monitoring/main.tf — NOT mentioned in issue but required. Each dashboard needs a kubernetes_config_map_v1 resource block here. Developer will see the pattern.

Repo Placement

Correct. pal-e-platform owns all Grafana dashboard Terraform.

Dependencies

  • [ ] #19 /metrics endpoint — PENDING. Dashboard will show empty panels without metrics.
  • [ ] #15 ServiceMonitor fix — PENDING. Prometheus can't scrape without it.
Can be built in parallel with #15/#19 and deployed after they land.

Acceptance Criteria

Testable: after TF apply, dashboard appears in Grafana with request rate, error rate, latency, saturation panels. Clear pass/fail once metrics are flowing.

Blast Radius

Low. New ConfigMap + dashboard only. No impact on existing dashboards. Rollback: terraform destroy the resource.

Decomposition Assessment

Two files (JSON + TF resource), one repo. Under 5 minutes for an agent following the existing pattern. No decomposition needed.

Recommendation

  • Note in the issue that main.tf also needs a kubernetes_config_map_v1 resource block.
  • Recommend lowering points from 3 to 2.