dohertj2 dohertj2
  • Joined on 2026-02-20
dohertj2 opened issue dohertj2/lmxopcua#528 2026-08-01 01:10:30 -04:00
ACL: ConfigDbApiKeyStore confers roles from Cluster-scoped grants in ANY cluster
dohertj2 pushed to main at dohertj2/scadaproj 2026-08-01 00:29:21 -04:00
0121f55f1e docs(index): OtOpcUa's OPC UA data plane authenticates with API keys, not LDAP
dohertj2 pushed to master at dohertj2/lmxopcua 2026-08-01 00:28:30 -04:00
fbe7403ca5 merge: API-key identity on the OPC UA data plane, keys+ACLs via the artifact (#520 stages 1-2, 4)
a438ac1640 feat(acl): keys + ACLs reach driver-only nodes via the artifact (#520 stage 4)
c1771dc271 docs(acl): correct the API-key revocation warning after live verification (#520)
54b06aab33 test(acl): docker-dev pepper + live gate for the API-key identity path (#520)
087a969ee6 feat(acl): API key minting — AdminUI page + admin service (#520)
Compare 11 commits »
dohertj2 commented on issue dohertj2/lmxopcua#520 2026-07-31 12:27:56 -04:00
Node ACLs are authored and deployed but never enforced — wire IPermissionEvaluator or retire the surface

Direction decided 2026-07-31, design written, stage 1 landed on feat/gitea-520-apikey-acl.

Decisions (owner)

dohertj2 commented on issue dohertj2/lmxopcua#489 2026-07-31 12:00:43 -04:00
feat(raw): hot-rebind a renamed raw tag's live value without a node recreate

Closed as already fixed — by #516, not by new work here. Re-ran the repro recipe from the 2026-07-26 comment on docker-dev today. It does not reproduce.

Live evidence (docker-dev,…

dohertj2 pushed to master at dohertj2/lmxopcua 2026-07-31 12:00:21 -04:00
112f62e5aa merge: close #489 — raw rename rebinds live, fixed by #516's respawn
be3152e184 docs(raw): record that a raw rename rebinds live — #489 closed as fixed-by-#516
Compare 2 commits »
dohertj2 closed issue dohertj2/lmxopcua#489 2026-07-31 12:00:20 -04:00
feat(raw): hot-rebind a renamed raw tag's live value without a node recreate
dohertj2 pushed to main at dohertj2/scadaproj 2026-07-31 10:59:53 -04:00
c07659c0e0 docs(index): OtOpcUa #527 fixed — comms-loss is detected and auto-recovers; withdraw the condition-Quality caveat
dohertj2 commented on issue dohertj2/lmxopcua#527 2026-07-31 10:59:17 -04:00
DriverInstanceActor.DisconnectObserved has no production sender — a driver whose device dies mid-run is never detected, never reconnects, and never reports comms loss

Fixed and merged as 916f0f79 (feature commit 5a7a08de). Live gate PASSED, run twice.

What changed

The Connected health tick now evaluates a comms-loss watchdog and self-sends…

dohertj2 closed issue dohertj2/lmxopcua#527 2026-07-31 10:59:17 -04:00
DriverInstanceActor.DisconnectObserved has no production sender — a driver whose device dies mid-run is never detected, never reconnects, and never reports comms loss
dohertj2 pushed to master at dohertj2/lmxopcua 2026-07-31 10:58:48 -04:00
916f0f79f6 merge: comms-loss watchdog — DisconnectObserved gets its first production sender (#527)
5a7a08deca fix(drivers): detect mid-run comms loss and recover from it (#527)
Compare 2 commits »
dohertj2 pushed to main at dohertj2/scadaproj 2026-07-31 10:04:53 -04:00
ded7cf0d6d docs(index): OtOpcUa — Sql browser layering (#526), IDriver dead-surface removal (#525), scripted-alarm comms-loss quality (#481) + the #527 caveat
dohertj2 commented on issue dohertj2/lmxopcua#481 2026-07-31 10:04:09 -04:00
feat(alarms): bridge driver comms-loss into scripted-alarm input quality (Layer 4 of #477)

Implemented — master c81cef39 (merged 9fa701b1). Closing the code work; the live gate is carried by #527, filed from this gate — read the last section before relying on this path.

`Drive…

dohertj2 closed issue dohertj2/lmxopcua#481 2026-07-31 10:04:09 -04:00
feat(alarms): bridge driver comms-loss into scripted-alarm input quality (Layer 4 of #477)
dohertj2 commented on issue dohertj2/lmxopcua#525 2026-07-31 10:03:39 -04:00
IDriver.GetMemoryFootprint / FlushOptionalCachesAsync have no consumer after #522

Done — option (a) delete, owner decision. master b8154469 (merged 9fa701b1).

Removed from IDriver, all 12 driver implementations, and every test stub — plus **the support code that…

dohertj2 closed issue dohertj2/lmxopcua#525 2026-07-31 10:03:39 -04:00
IDriver.GetMemoryFootprint / FlushOptionalCachesAsync have no consumer after #522
dohertj2 commented on issue dohertj2/lmxopcua#526 2026-07-31 10:03:21 -04:00
refactor(sql): .Browser references .Driver — the same layering violation #512 removed from MQTT

Done — master 803f4e6e (merged 9fa701b1).

ISqlDialect + SqlServerDialect moved to a new leaf project ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect, referenced by the runtime driver and the…

dohertj2 closed issue dohertj2/lmxopcua#526 2026-07-31 10:03:21 -04:00
refactor(sql): .Browser references .Driver — the same layering violation #512 removed from MQTT
dohertj2 pushed to master at dohertj2/lmxopcua 2026-07-31 10:03:02 -04:00
9fa701b14b merge: Sql browser layering (#526), IDriver dead-surface removal (#525), scripted-alarm comms-loss quality (#481)
6cd91cc30a docs(alarms): record the #481 live-gate finding — the comms-loss signal never fires (#527)
c81cef39f5 feat(alarms): bridge driver comms-loss into scripted-alarm input quality (#481)
b815446940 refactor(drivers): delete GetMemoryFootprint / FlushOptionalCachesAsync (#525)
803f4e6efe refactor(sql): split ISqlDialect/SqlServerDialect into a .Dialect leaf (#526)
Compare 5 commits »
dohertj2 opened issue dohertj2/lmxopcua#527 2026-07-31 09:54:31 -04:00
DriverInstanceActor.DisconnectObserved has no production sender — a driver whose device dies mid-run is never detected, never reconnects, and never reports comms loss