Files
lmxopcua/docs/reqs/StatusDashboardReqs.md
Joseph Doherty 48970af416 Doc refresh (task #205) — requirements updated for multi-driver OtOpcUa three-process deploy
Per-file summary:

- docs/reqs/OpcUaServerReqs.md — rewritten driver-agnostic. OPC-001..OPC-013 re-scoped to multi-driver address-space composition + capability dispatch; OPC-014 AuthorizationGate + permission trie; OPC-015 dynamic ServiceLevel via RedundancyCoordinator; OPC-017 surgical generation-apply rebuild; OPC-012 capability dispatch via CapabilityInvoker (decision #143 idempotence-aware retry); OPC-013 per-host Polly isolation (decision #144); OPC-019 OpenTelemetry metrics. Transport-security profile matrix (OPC-010) + UserName/LDAP (OPC-011) preserved.

- docs/reqs/GalaxyRepositoryReqs.md — scope clarified as Galaxy-driver-only (not platform). GR-001..GR-004 tied to ITagDiscovery.DiscoverAsync + IRediscoverable; all SQL runs inside OtOpcUa.Galaxy.Host and streams to Proxy via named pipe. GR-008 capability wrapping via CapabilityInvoker added. Cross-links to docs/v2/driver-specs.md + docs/GalaxyRepository.md.

- docs/reqs/MxAccessClientReqs.md — scope clarified as Galaxy-Host-only. MXA-001..MXA-009 preserved (STA pump, register/unregister, subscription refcount, auto-reconnect, probe, COM cleanup, operation metrics, error translation). MXA-010 Proxy-side capability wrapping + MXA-011 pipe ACL + per-process shared secret (OTOPCUA_ALLOWED_SID / OTOPCUA_GALAXY_SECRET) added.

- docs/reqs/ServiceHostReqs.md — rewritten for three-process deployment. Shared section (SVC-SHARED-001/002) for Serilog + bootstrap-only appsettings. SRV-* for OtOpcUa.Server (net10 x64, Microsoft.Extensions.Hosting + AddWindowsService, in-process driver hosting, redundancy-node bootstrap). ADM-* for OtOpcUa.Admin (Blazor Server, cookie+LDAP auth, CanEdit/CanPublish policies, sole DB writer, Prometheus /metrics, audit logging). GHX-* for OtOpcUa.Galaxy.Host (TopShelf, net48 x86, named-pipe IPC bootstrap, STA backend lifecycle, crash handling tied to supervisor).

- docs/reqs/ClientRequirements.md — restructured as numbered, verifiable requirements. SHR-* for Client.Shared (single IOpcUaClientService, ConnectionSettings, failover, cross-platform certs, type-coercing write, UI-thread neutrality). CLI-001..CLI-011 cover connect/read/write/browse/subscribe/historyread/alarms/redundancy. UI-001..UI-008 cover connection panel, tree browser, each tab, connection-state reflection, cross-platform build. Reference design content (IOpcUaClientService shape, models, view-model map, mock layout) preserved.

- docs/reqs/StatusDashboardReqs.md — retired cleanly. Replaced with a pointer to docs/v2/admin-ui.md + HLR-015 / HLR-016 / HLR-017 / ADM-*. Mapping table shows each retired DASH-001..DASH-009 requirement's replacement (live cluster-node view via SignalR, Prometheus metrics, driver-instance detail views, etc.). Note that a formal AdminUiReqs.md can be written later if needed for cert compliance.

HighLevelReqs.md was already at the target shape (HLR-001..HLR-018 with Revision header noting retired HLR-009) as of commit f217636; verified identical and no additional edit required.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 01:31:58 -04:00

2.4 KiB

Status Dashboard — Retired

Revision — Retired 2026-04-19 (task #205). The embedded HTTP Status Dashboard hosted inside the v1 LmxOpcUa service (Dashboard:Port 8081) has been superseded by the Admin UI introduced in OtOpcUa v2. The requirements formerly numbered DASH-001 through DASH-009 no longer apply.

What replaces it

Operator surface is now the OtOpcUa Admin Blazor Server web app:

  • Canonical design doc: docs/v2/admin-ui.md
  • High-level operator surface requirement: HLR-015
  • Service-host requirements for the Admin process: ServiceHostReqs.md → ADM-*
  • Cross-cluster metrics endpoint: /metrics on the Admin app — see HLR-017.
  • Audit log: see HLR-016 and AuditLogService.

Mapping from retired DASH-* requirements to today's surface

Retired requirement Replacement
DASH-001 Embedded HTTP listener Admin UI (Blazor Server) hosted in the OtOpcUa.Admin process.
DASH-002 Connection panel Admin UI cluster-node view (live via SignalR) shows per-driver connection state.
DASH-003 Health panel Admin UI renders DriverHealth + Polly circuit state per driver instance; cluster-level rollup on the cluster dashboard.
DASH-004 Subscriptions panel Prometheus gauges (session count, monitored-item count, driver-subscription count) exposed via /metrics.
DASH-005 Operations table Capability-call duration histograms + counts exposed via /metrics; Admin UI renders latency summaries per DriverInstanceId.
DASH-006 Footer (last-updated + version) Admin UI footer; version stamped from the assembly version of the Admin app.
DASH-007 Auto-refresh Admin UI uses SignalR push for live updates — no meta-refresh.
DASH-008 JSON status API Prometheus /metrics endpoint is the programmatic surface.
DASH-009 Galaxy info panel Admin UI Galaxy-driver-instance detail view (driver config, last discovery time, Galaxy DB connection state, MXAccess pipe health).

A formal requirements-level doc for the Admin UI (AdminUiReqs.md) is not yet written — the design doc at docs/v2/admin-ui.md serves as the authoritative reference until formal cert-compliance requirements are needed.