985e51d25e
Tests · Go / test (push) Successful in 1m58s
Turn the console landing page into an operational dashboard. - new internal/opsstatus: read-only Postgres projection via go-jet — ping + per-status COUNT/GROUP BY on runtime_records, mail_deliveries, notification_routes, and a malformed-intent count; degrades per-probe into Snapshot.Errors rather than failing the page - dashboard renders backend readiness, database health, the three status tables, the malformed count, and any collection errors; falls back to a "monitoring not wired" note when no reader is injected - AdminConsoleHandlers now takes an AdminConsoleDeps struct (Monitor + Ready added) so later stages add service refs without churning the signature Tests: opsstatus store test against a Postgres testcontainer (empty schema + one enqueued delivery); dashboard render tests with a fake reader (with and without monitoring). Docs: ARCHITECTURE 14.1 + FUNCTIONAL 10.2.1 (+ru) describe the dashboard. (Prometheus /metrics exporters were already enabled in dev-deploy in Stage 1.)
25 lines
878 B
Go
25 lines
878 B
Go
package adminconsole
|
|
|
|
// StatusCount pairs a status label with its current row count for the
|
|
// dashboard's per-status tables. It is the view-layer counterpart of the
|
|
// data gathered by the ops-status reader; the server handler maps between
|
|
// them so this package stays free of database concerns.
|
|
type StatusCount struct {
|
|
Status string
|
|
Count int64
|
|
}
|
|
|
|
// DashboardData is the view model for the console landing page. MonitorAvailable
|
|
// is false when no ops-status reader is wired, in which case the monitoring
|
|
// panels are omitted. Errors carries non-fatal probe failures for display.
|
|
type DashboardData struct {
|
|
MonitorAvailable bool
|
|
BackendReady bool
|
|
PostgresHealthy bool
|
|
Runtimes []StatusCount
|
|
MailDeliveries []StatusCount
|
|
NotificationRoutes []StatusCount
|
|
NotificationMalformed int64
|
|
Errors []string
|
|
}
|