Deploy operator-authenticated alarm ack (488649c+) to DEV/QA after OtOpcUa sends operator_password #170
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The operator-authenticated alarm ack (main
488649c, PR #162, 2026-10-20) changed the contract:AcknowledgeAlarmRequestgainedoperator_password/operator_domain, and the worker now authenticates as the operator and writes<alarm>.AckMsg. The wonder boxes (DEVwonder-app-vd03, QAvq03/vq04) still run mxgw4f931e4.Per the scadaproj index, OtOpcUa's
GatewayGalaxyAlarmAcknowledgermust send the operator password before it is deployed against this gateway build. A code search of the OtOpcUa checkout (2026-11-06) found nooperator_password/OperatorPasswordusage, so the consumer side is not ready.Gateway-side work remaining: once the OtOpcUa change lands, deploy the gateway (Server + x86 Worker built on windev) to DEV, then QA, together with the 2026-10-21 review remediation (see the merge issue), and verify an ack from OtOpcUa is recorded with the real operator in the Historian.
Source:
~/Desktop/scadaproj/CLAUDE.md(mxaccessgw row);docs/superpowers/plans/2026-10-19-ackmsg-as-operator.md;~/Desktop/scadaproj/deployment.md(deployed mxgw4f931e4).Blocked by: OtOpcUa (lmxopcua) acknowledger change.
The OtOpcUa side has landed: lmxopcua
masterdc0a24f2 (closes lmxopcua#749).GatewayGalaxyAlarmAcknowledgernow sendsoperator_user,operator_domainandoperator_password(MxGateway Client/Contracts 0.3.0). The account comes from the API key's Galaxy ack identity, or from the Galaxy driver'sAlarmAckfallback account. With neither, the ack is refused and is never sent with an emptyoperator_user.⚠️ Order of operations: before this gateway build goes live, the OtOpcUa that talks to it needs (a) this commit deployed and (b) on each Galaxy driver, either an
AlarmAckfallback account plus its secret or identities mapped per key. Without one of those, every ack is refused.I'm leaving this issue open for the gateway DEV/QA deploy and the check that the Historian
ACK_ALMrow records the operator.Deploy prerequisites for OtOpcUa (
dc0a24f2, lmxopcua#749). Before this gateway goes live on DEV/QA, configure at least one of the following on every OtOpcUa node that runs a Galaxy driver. Without it, every Galaxy ack is refused.AlarmAck.FallbackUser, optionallyFallbackDomain, andFallbackPasswordSecretRef(e.g.secret:otopcua/galaxy/ack-fallback-password); then create that secret on each driver node./apikeys, stored asotopcua/apikeys/<keyId>/galaxy-ack-userand/galaxy-ack-password. Secrets are per node, so create them on the driver nodes too.Also note lmxopcua#760: a refused ack currently still returns Good to the OPC UA client.