Story: Service lifecycle controller
Table of Contents
This page documents a story in Sprint 16. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
ores.controller component for managing service definitions + instances + lifecycle events; service dashboard polish; normalise all services to NATS-based hosting with unified heartbeat; menu restructure.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 16 |
| Now | Completed 2026-04-08. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-04-08 |
Continued from: Compute grid observability (sprint 15). Sprint 15 added the RAG service dashboard. This sprint adds the controller component that manages service definitions + instances + lifecycle events.
Acceptance
- All tasks complete; PR-by-PR breakdown in
git log.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Add service lifecycle controller and dashboard enhancements | DONE | 2026-05-20 | 2026-04-08 | ores.controller component for managing service definitions + instances + lifecycle events; process supervisor with dependency-ordered service launch; cert management; HTTP/Wt/wrapper definitions; service dashboard UX overhaul with badge status + Stop/Restart controls; graceful shutdown of child processes. |
| Fix startup races, terminal bleed, analytics service setup | DONE | 2026-05-20 | 2026-04-08 | ores.analytics.service launch; multi-phase process shutdown sequence (SIGTERM / SIGQUIT / SIGKILL); enhanced log monitoring in process supervisor; exponential backoff for service authentication; TLS certificate validation for NATS connections. |
| Normalise all services to NATS-based hosting with unified heartbeat | DONE | 2026-05-20 | 2026-04-08 | IAM + HTTP + Wt + compute wrapper migrated to ores.service unified infrastructure; signing_service_runner + wt_service_runner; on_shutdown callbacks; standard NATS telemetry heartbeats; service dashboard sole-source-of-truth from heartbeats; IAM roles + service accounts for http / wt / compute. |
| Service dashboard, shutdown fixes and DB timezone | DONE | 2026-05-20 | 2026-04-08 | Standardised exit codes; last 20 lines of logs captured on failure; PID files for supervised services; TimeZone=UTC on raw libpq connections; double-disconnect crash fix; Last Error column in dashboard; PluginRegistry lifecycle fix. |
| Service lifecycle, menu restructure, GCC 15 fix, Qt plugin split | DONE | 2026-05-20 | 2026-04-08 | Service diagnostics improvements; analytics plugin added; menu restructure (Identity / Pricing / Scheduler / Data Transfer top-level menus); GCC 15 incomplete-type errors fixed; xsd::vector copy assignment fix; service detail panel; report definitions list fills wizard page. |
Decisions
- Final v0 sprint
- capture everything landed under v0 honestly; this is the closing chapter of v0.
Out of scope
- Anything explicitly carried forward to v1.
See also
None.