Review: Grafana golden signals dashboard
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.