Commit Graph

  • 234ddb5201 test(e2e): add DeploymentFixture (ephemeral instance on site-a) Joseph Doherty 2026-06-05 10:25:06 -04:00
  • 3d9ef0a477 test(e2e): harden LDAP teardown + tighten nav/health selectors (review fixes) Joseph Doherty 2026-06-05 10:19:48 -04:00
  • 754f049a98 test(e2e): guard BundleExport comma + document DeleteAreaAsync (review fixes) Joseph Doherty 2026-06-05 10:11:17 -04:00
  • 12bf08f64a test(e2e): cover LDAP mapping create/edit/delete round-trip Joseph Doherty 2026-06-05 10:09:15 -04:00
  • 4f4b34ea89 test(e2e): assert Health KPI tiles resolve (singleton-hang guard) Joseph Doherty 2026-06-05 10:08:32 -04:00
  • 2a25f2aaf8 test(e2e): assert destination renders, not just URL, in nav tests Joseph Doherty 2026-06-05 10:07:19 -04:00
  • 4a7c46f1db test(e2e): add CliRunner typed fixture helpers Joseph Doherty 2026-06-05 10:04:05 -04:00
  • bf78e3e7bf test(e2e): harden CliRunner timeout drain + skip-counter (review fixes) Joseph Doherty 2026-06-05 09:59:41 -04:00
  • 9e914299c8 test(e2e): add CliRunner + ClusterAvailability probe Joseph Doherty 2026-06-05 09:56:47 -04:00
  • 51e48fca91 test(e2e): reference CLI project so tests can shell out to it Joseph Doherty 2026-06-05 09:53:51 -04:00
  • b540015fbd docs(tests): implementation plan for Playwright coverage expansion Joseph Doherty 2026-06-05 09:52:12 -04:00
  • cb3b3bf373 docs(tests): design for Playwright coverage expansion (7 audit recs) Joseph Doherty 2026-06-05 09:39:35 -04:00
  • d33617d65d fix(host): register ActorSystem as DI singleton so health-probe scopes don't dispose it (HOST-021) Joseph Doherty 2026-06-05 08:26:09 -04:00
  • 0783547a2d chore(theme): bump ZB.MOM.WW.Theme 0.3.0 -> 0.3.1 (interactive-render nav fix) Joseph Doherty 2026-06-05 07:19:11 -04:00
  • 2515c9db2d chore(theme): consume ZB.MOM.WW.Theme 0.3.0 (nav/login kit fixes) Joseph Doherty 2026-06-05 04:44:47 -04:00
  • 35a4a5bfea docs(glauth): dev/test LDAP is now the shared GLAuth on 10.100.0.35 Joseph Doherty 2026-06-04 16:38:08 -04:00
  • 5ddb17a089 feat(auth): seed SCADA-Viewers->Viewer LDAP-group role mapping Joseph Doherty 2026-06-04 16:38:08 -04:00
  • 244207c0db feat(auth): point dev clusters at shared GLAuth 10.100.0.35; retire local scadabridge-ldap Joseph Doherty 2026-06-04 15:58:42 -04:00
  • 0e2d9ed186 chore(theme): bump ZB.MOM.WW.Theme 0.2.0 -> 0.2.1 (desktop app-shell render fix) Joseph Doherty 2026-06-04 10:23:16 -04:00
  • 0c3837c778 docs(components): accuracy fixes from deep review (batch 4) Joseph Doherty 2026-06-03 16:39:29 -04:00
  • 9175b0c013 docs(components): accuracy fixes from deep review (batch 3) Joseph Doherty 2026-06-03 16:37:15 -04:00
  • 25bae4e43b docs(components): accuracy fixes from deep review (batch 2) Joseph Doherty 2026-06-03 16:34:37 -04:00
  • c5fb02d640 docs(components): accuracy fixes from deep review (batch 1) Joseph Doherty 2026-06-03 16:32:01 -04:00
  • 66f0f96328 docs(components): verification pass — fix cross-link targets, tag code fences, correct type names Joseph Doherty 2026-06-03 16:09:06 -04:00
  • a26f4a5f81 docs(components): index + link from README Joseph Doherty 2026-06-03 15:59:20 -04:00
  • d14fc3f68f docs(components): reference docs batch 4/4 — ManagementService, CLI, Transport, CentralUI, TraefikProxy, TreeView Joseph Doherty 2026-06-03 15:57:32 -04:00
  • c1c8e35687 docs(components): reference docs batch 3/4 — NotificationService, NotificationOutbox, SiteCallAudit, HealthMonitoring, SiteEventLogging, InboundAPI Joseph Doherty 2026-06-03 15:52:33 -04:00
  • 8fb90ba400 docs(components): reference docs batch 2/4 — TemplateEngine, DeploymentManager, SiteRuntime, DataConnectionLayer, StoreAndForward, ExternalSystemGateway Joseph Doherty 2026-06-03 15:47:16 -04:00
  • b89611464b docs(components): reference docs batch 1/4 — Commons, ConfigurationDatabase, Communication, ClusterInfrastructure, Host, Security Joseph Doherty 2026-06-03 15:42:03 -04:00
  • b2770764c5 docs(components): AuditLog reference doc (pilot exemplar) Joseph Doherty 2026-06-03 15:29:20 -04:00
  • 0da5d3dd0b docs(components): scaffold reference-docs folder + link checker Joseph Doherty 2026-06-03 15:24:05 -04:00
  • 5e106df9e6 docs(plans): implementation plan for per-component reference docs Joseph Doherty 2026-06-03 15:24:05 -04:00
  • e89cf2b278 docs(plans): design for per-component reference docs in docs/components/ Joseph Doherty 2026-06-03 13:58:14 -04:00
  • 15752f8c2d fix(security): make auth cookie name configurable, override per env Joseph Doherty 2026-06-03 13:06:41 -04:00
  • eabf270d71 docs: complete XML doc coverage (returns, summaries, inheritdoc) Joseph Doherty 2026-06-03 11:39:32 -04:00
  • a050170414 chore(docker): supply DEV-ONLY ApiKeyPepper to local Central nodes Joseph Doherty 2026-06-03 05:30:38 -04:00
  • 9f18badf02 build(host): declare ZB.MOM.WW.Theme directly (not transitively via CentralUI) Joseph Doherty 2026-06-03 04:52:00 -04:00
  • 837fb74ae5 chore(centralui): remove dead .sidebar shell CSS left by the theme cutover Joseph Doherty 2026-06-03 04:37:23 -04:00
  • 58352a67cb fix(centralui): include AntiforgeryToken in LoginCard (match OtOpcUa + kit contract) Joseph Doherty 2026-06-03 03:39:47 -04:00
  • b9516e6721 feat(centralui): LoginCard sign-in Joseph Doherty 2026-06-03 03:34:12 -04:00
  • 957203ec7b feat(centralui): MainLayout/NavMenu delegate to ZB.MOM.WW.Theme ThemeShell + kit nav Joseph Doherty 2026-06-03 03:31:10 -04:00
  • 6fb545d75b refactor(centralui): drop vendored theme.css/fonts/nav-state.js; keep app-only CSS in site.css Joseph Doherty 2026-06-03 03:25:04 -04:00
  • 6d75bdb372 feat(host): use ZB.MOM.WW.Theme ThemeHead + ThemeScripts Joseph Doherty 2026-06-03 03:23:03 -04:00
  • e1589497f1 build(centralui): reference ZB.MOM.WW.Theme 0.2.0 Joseph Doherty 2026-06-03 03:21:44 -04:00
  • b3de8408fa feat(audit): ScadaBridge IAuditActorAccessor + wire audit Actor from Auth principal at authenticated emit sites (Phase 3) Joseph Doherty 2026-06-02 15:33:01 -04:00
  • bc0e5bfd37 docs(audit): ScadaBridge C7 review — correct 'six persisted' computed-col wording (5 persisted + IngestedAtUtc non-persisted) + stale perf iteration comment Joseph Doherty 2026-06-02 15:08:49 -04:00
  • 635461c0fd chore(audit): ScadaBridge C7 — perf re-baseline + CollapseAuditLogToCanonical projection test + index-test fix + dead-cref cleanup (Task 2.5) Joseph Doherty 2026-06-02 14:59:23 -04:00
  • 68a6bd1720 feat(audit)!: ScadaBridge C5 — collapse central dbo.AuditLog to 10 canonical cols + persisted computed cols; CollapseAuditLogToCanonical migration; repo writes canonical directly (Task 2.5) Joseph Doherty 2026-06-02 14:06:46 -04:00
  • 1737d15f04 fix(audit): ScadaBridge C4 review — enable PRAGMA foreign_keys + MarkForwarded state guard (no Reconciled demotion) + test (Task 2.5) Joseph Doherty 2026-06-02 13:23:36 -04:00
  • 946d3e2aef feat(audit): ScadaBridge C4 — site SQLite two-table (audit_event canonical + audit_forward_state sidecar), forwarding on sidecar, IsCachedKind drain split (Task 2.5) Joseph Doherty 2026-06-02 13:11:20 -04:00
  • c27b2c3d5f fix(audit): ScadaBridge C3 review — safe enum-parse (fallback) in SqliteAuditWriter.MapRow + AuditEventDtoMapper.FromDto (Task 2.5) Joseph Doherty 2026-06-02 12:55:07 -04:00
  • db707bb0de feat(audit)!: ScadaBridge C3 — swap to canonical ZB.MOM.WW.Audit.AuditEvent across seams/emitters/DTO/redactor wiring; transitional 24-col storage shim (Task 2.5) Joseph Doherty 2026-06-02 12:37:50 -04:00
  • 5aaf9e2923 fix(audit): ScadaBridge C2 review — over-redact scrubs all sensitive free-text fields + outer-catch never-leak test + marker alignment Joseph Doherty 2026-06-02 11:12:18 -04:00
  • adfb4d385c feat(audit): ScadaBridge C2 — ScadaBridgeAuditRedactor/SafeDefaultAuditRedactor : IAuditRedactor on canonical record (Task 2.5) Joseph Doherty 2026-06-02 11:00:36 -04:00
  • 3d77dc003c feat(audit): ScadaBridge C1 — AuditDetails codec (deterministic) + AuditOutcome projection + canonical field builders + ZB.MOM.WW.Audit ref (Task 2.5) Joseph Doherty 2026-06-02 10:42:51 -04:00
  • 4118452e72 docs(auth): ScadaBridge Task 1.7 review — correct stale role-name prose in NavMenu comments (Admin/Design/Deployment/Audit→canonical) Joseph Doherty 2026-06-02 08:13:38 -04:00
  • b104760b3a feat(auth)!: ScadaBridge canonical roles + SoD collapse (Audit→Administrator, AuditReadOnly→Viewer) + config-DB migration (Task 1.7) Joseph Doherty 2026-06-02 08:00:47 -04:00
  • 6ae605160c chore(auth): ScadaBridge unify dev LDAP base DN to dc=zb,dc=local (Task 1.6) Joseph Doherty 2026-06-02 06:54:14 -04:00
  • c185a567f5 fix(auth): ScadaBridge Task 1.5 review — use JwtTokenService.RoleClaimType constant in CentralUI tests (canonical spelling) Joseph Doherty 2026-06-02 06:29:16 -04:00
  • a0938f708b feat(auth): ScadaBridge full canonical claims (ZbClaimTypes role/scope) + ZbCookieDefaults, keep cookie name (Task 1.5) Joseph Doherty 2026-06-02 06:23:15 -04:00
  • afa55981d5 feat(auth)!: ScadaBridge retire SQL Server ApiKey entity + ApprovedApiKeyIds + legacy hashing; EF migration RetireInboundApiKeyStore; re-issue runbook + CHANGELOG (re-arch C5/E) — BREAKING: X-API-Key -> Bearer sbk_, keys re-issued Joseph Doherty 2026-06-02 05:39:59 -04:00
  • b13d7b3d28 fix(auth): C4 review polish — document backward-compat JSON tolerance, shared BundleJsonOptions, PreviewAsync legacy-bundle test, doc fix (review I-2/I-3/M-1/M-2; I-1 intentionally skipped) Joseph Doherty 2026-06-02 05:15:50 -04:00
  • 731cfd3bfc feat(auth): ScadaBridge TransportExport excludes inbound API keys (re-arch C4; methods-only, import ignores legacy key sections); keys re-issued per environment Joseph Doherty 2026-06-02 05:06:40 -04:00
  • d1191fddf9 fix(auth): C3 review — surface seam not-found (no silent success), partial-reconcile-failure guidance, create validation order, concurrent-edit reconciler test Joseph Doherty 2026-06-02 04:46:32 -04:00
  • 107e524914 feat(auth): ScadaBridge CentralUI pages onto IInboundApiKeyAdmin seam (re-arch C3; string keyId, method-scopes replace ApprovedApiKeyIds, token-once display, approved-keys<->scopes inversion) Joseph Doherty 2026-06-02 04:36:50 -04:00
  • 8219b8ee18 fix(auth): C2 review — not-found throws (no spurious audit) on update/delete/set-methods, reject empty methods (unusable-key/stealth-disable), richer set-methods response, token advisory to stderr Joseph Doherty 2026-06-02 04:21:28 -04:00
  • 6518e93424 feat(auth): ScadaBridge ManagementActor + CLI + Commons messages onto IInboundApiKeyAdmin seam (re-arch C2; int->string keyId, +Methods, +SetApiKeyMethods) Joseph Doherty 2026-06-02 04:11:44 -04:00
  • 7f7ea3f3c9 fix(auth): C1 review polish — guard name at seam, document seam contract (throws/O(n)), explicit cookie test (review #1/#2/#3/#5/#8) Joseph Doherty 2026-06-02 04:01:43 -04:00
  • 55099b19f6 fix(auth): move AddZbLdapAuth to Host composition root so component-lib AddSecurity() drops IConfiguration param (satisfy OptionsTests arch rule; fix pre-existing ac34dac red); behaviour-preserving Joseph Doherty 2026-06-02 03:50:16 -04:00
  • 7e25efa790 test(host): supply Central test ApiKeyPepper so StartupValidator preflight passes (fix pre-existing 1fcc4f5 red); lock pepper-required behavior Joseph Doherty 2026-06-02 03:40:56 -04:00
  • d09def2be0 feat(auth): ScadaBridge re-pin Auth 0.1.3 + add IInboundApiKeyAdmin seam over library admin facade (re-arch C1, additive) Joseph Doherty 2026-06-02 03:32:25 -04:00
  • 1fcc4f5c2b fix(auth): ScadaBridge inbound auth review fixes — scope-before-DB, pinned 403 body, pepper fail-fast, log category Joseph Doherty 2026-06-02 02:50:10 -04:00
  • a94558c289 feat(auth): ScadaBridge inbound API — adopt ZB.MOM.WW.Auth.ApiKeys verifier + Bearer + scope=method (re-arch A+B); additive, old path retired later Joseph Doherty 2026-06-02 02:40:18 -04:00
  • 4db8c373af fix(auth): ScadaBridge 1.2 review fixes — secret-test repoint, checklist, Scope guard, 0.1.1 pin Joseph Doherty 2026-06-02 01:23:52 -04:00
  • ac34dac479 feat(auth): cut ScadaBridge over to ZB.MOM.WW.Auth.Ldap; nest+rename Ldap config; roles+sitescope via IGroupRoleMapper (Task 1.2/1.4) Joseph Doherty 2026-06-02 01:04:34 -04:00
  • 9230afa25f feat(auth): add IGroupRoleMapper<string> seam (Task 1.1) Joseph Doherty 2026-06-02 00:30:42 -04:00
  • aaad38958e build: add ZB.MOM.WW.Auth/Audit feed mapping + version pins Joseph Doherty 2026-06-02 00:17:40 -04:00
  • 145d2668e2 fix: wire ValidateOnStart for ScadaBridge HealthMonitoring + Cluster options (fail-fast at startup) Joseph Doherty 2026-06-01 23:07:46 -04:00
  • 9668a4e84a refactor: ScadaBridge module options registration -> AddValidatedOptions; clarify De Morgan predicates Joseph Doherty 2026-06-01 22:49:41 -04:00
  • 6dbbc7ad04 refactor: ScadaBridge StartupValidator -> ConfigPreflight (byte-compatible) Joseph Doherty 2026-06-01 19:04:13 -04:00
  • aac59c9fae refactor: ScadaBridge validators onto OptionsValidatorBase (messages unchanged) Joseph Doherty 2026-06-01 18:56:04 -04:00
  • 9bca6aae61 build: add ZB.MOM.WW.Configuration feed mapping + version pin Joseph Doherty 2026-06-01 18:10:29 -04:00
  • 7d16f8f275 Merge feat/telemetry-followons: telemetry follow-ons for ScadaBridge Joseph Doherty 2026-06-01 17:17:39 -04:00
  • ccf43312e8 feat(scadabridge): config-driven OTLP exporter opt-in (default Prometheus) Joseph Doherty 2026-06-01 17:14:35 -04:00
  • a5f8651b0f feat(scadabridge): track scadabridge.site.connection.up over site-stream lifetime (balanced open/close) Joseph Doherty 2026-06-01 17:11:39 -04:00
  • 15a626390b fix(scadabridge): queue-depth seed uses Add (no lost concurrent enqueue) + clarify registration/discard comments Joseph Doherty 2026-06-01 17:07:03 -04:00
  • 782fb73015 feat(scadabridge): emit scadabridge.inbound_api.requests (by method) at inbound API entry Joseph Doherty 2026-06-01 17:03:10 -04:00
  • 547b685a42 feat(scadabridge): wire scadabridge.store_and_forward.queue.depth gauge to buffered count Joseph Doherty 2026-06-01 16:58:09 -04:00
  • 877f2e200b feat(scadabridge): emit scadabridge.deployments.applied on deployment success Joseph Doherty 2026-06-01 16:52:09 -04:00
  • c41cb41c7b fix(scadabridge): default MetricsPort to 8084 (avoid site RemotingPort collision) + validate port distinctness Joseph Doherty 2026-06-01 16:46:59 -04:00
  • fe25ac3e51 feat(scadabridge): add ScadaBridgeTelemetry meter + 4 instruments; register with OTel Joseph Doherty 2026-06-01 16:41:52 -04:00
  • bbc9f09268 feat(scadabridge): add HTTP/1.1 metrics listener on site nodes (NodeOptions.MetricsPort=8082) Joseph Doherty 2026-06-01 16:36:59 -04:00
  • 43f5886024 Merge feat/adopt-zb-telemetry: adopt ZB.MOM.WW.Telemetry across ScadaBridge Joseph Doherty 2026-06-01 16:05:49 -04:00
  • f743ffaad2 feat(scadabridge): add shared TraceContextEnricher to log pipeline (trace correlation) Joseph Doherty 2026-06-01 15:40:42 -04:00
  • b3070c0bda feat(scadabridge): wire AddZbTelemetry + /metrics in both composition roots Joseph Doherty 2026-06-01 15:36:55 -04:00
  • 20a31835cf build(scadabridge): reference ZB.MOM.WW.Telemetry packages from Gitea feed Joseph Doherty 2026-06-01 15:30:00 -04:00
  • 59dca0d5fd Merge feat/adopt-zb-health: adopt ZB.MOM.WW.Health shared probes (/healthz, canonical writer, ActorSystem DI bridge) Joseph Doherty 2026-06-01 14:07:00 -04:00
  • adf1bd2693 build: drop orphaned AspNetCore.HealthChecks.UI.Client ref (UIResponseWriter removed) feat/adopt-zb-health Joseph Doherty 2026-06-01 13:56:12 -04:00
  • bbff1d19b5 feat: adopt shared ZB.MOM.WW.Health probes; add /healthz; canonical writer Joseph Doherty 2026-06-01 13:46:49 -04:00
  • 2a7ff03718 feat: bridge ActorSystem into DI (transient) for shared health checks Joseph Doherty 2026-06-01 13:37:21 -04:00