Phase 18: Integration Validation
Goal: E2E tests, Prometheus app metrics, Blackbox synthetic probes, Grafana alerts. Close the DORA observability loop.
Owner: Dev agent + Betty Sue (platform wiring)
Repo:
forgejo_admin/westside-app, forgejo_admin/basketball-api, forgejo_admin/pal-e-platformDepends on: phase-wkq-15-production-port
Scope
- E2E test suite: Playwright tests covering all routes. Runs against real basketball-api (not mocks). Added as CI step in .woodpecker.yaml.
- Prometheus app metrics: Replace stub
/metricswith real metrics — request count, latency histogram, error rate. Useprometheus-fastapi-instrumentator. - Blackbox synthetic probes: Blackbox Exporter probes for westside-app routes (/, /register, authenticated endpoint). 60s interval.
- Grafana alerts + DORA wiring: Pod restart > 0, Blackbox failure, error rate > 5%. Wire into DORA dashboard CFR panel.
DORA Mapping
- Change Failure Rate: E2E tests prevent broken merges
- Mean Time to Recovery: Synthetic probes + alerts detect failures in <60s
Deliverables
- Playwright E2E tests in CI pipeline
- Real Prometheus metrics on basketball-api
- Blackbox probes for all public endpoints
- Grafana alert rules + DORA dashboard integration