diff --git a/scripts/validation/opcua-windows-service/Invoke-ServiceGate.ps1 b/scripts/validation/opcua-windows-service/Invoke-ServiceGate.ps1 index 0e9d521a1..d2e80e962 100644 --- a/scripts/validation/opcua-windows-service/Invoke-ServiceGate.ps1 +++ b/scripts/validation/opcua-windows-service/Invoke-ServiceGate.ps1 @@ -12,16 +12,17 @@ process environment variables, never through arguments or output. Evidence (no secrets) goes to \evidence. Phases, in order: - Prepare dirs + ACLs, secrets, baseline staged into \OtOpcUa, Install-Services.ps1, node env + Prepare dirs + ACLs, secrets, baseline (or -PrepareFrom candidate) staged into \OtOpcUa, Install-Services.ps1, node env Boot -Label L Start-Service, wait for readiness, snapshot PKI/ACLs, health Seed (after the first Stop) seed the deployment into the service-created LocalDb Trust cross-trust the probe/CLI certificates with the server PKI Checks -Label L strict-peer/API-key/anonymous probe matrix + the actual CLI read Stop -Label L Stop-Service, exit code, redaction scan of the logs and event log Upgrade backup, stage the candidate separately, carry config/PKI/LocalDb with ACLs, swap folders - IsolationInstall Install-ScriptWorkerIsolation.ps1 (-WhatIf, apply, re-apply) + Scripting__Runner=OutOfProcess + IsolationInstall Install-ScriptWorkerIsolation.ps1 (-WhatIf on both PowerShell hosts, apply with -ApplyHost, re-apply with the + other host and again with -ApplyHost) + Scripting__Runner=OutOfProcess IsolationVerify (service running) worker processes, restricted token, pipe ACL, firewall rule, PE cache - IsolationUninstall -Uninstall twice, Scripting__Runner removed + IsolationUninstall -Uninstall with -ApplyHost, then with the other host (idempotent), Scripting__Runner removed Rollback quarantine the candidate, restore the known-good folder, carry current PKI/LocalDb back Compare compare every PKI snapshot and the node environment across labels Cleanup delete the service, isolation leftovers, CLI state, the root folder (evidence copied first) @@ -43,7 +44,15 @@ param( # 64 bytes (every production 65-character API key) as RsaEncryptedSecret, which that server rejects; the production # SDK 2 CLI forces the legacy format since lmxopcua#880 and must be admitted. See README.md. [switch]$BaselineServer, - [switch]$PatchedIsolation + # Prepare: which build the service is first installed from. 'baseline' (default) is the upgrade/rollback flow; 'candidate' + # installs the SDK 2 build directly, with the install scripts of the same tree (used to re-run only the isolation step). + [ValidateSet('baseline', 'candidate')] + [string]$PrepareFrom = 'baseline', + # IsolationInstall / IsolationUninstall: the PowerShell host that applies / rolls back first ('pwsh' = 7, 'powershell.exe' = 5.1). + # The other host does the re-apply and the second uninstall, so running both phases once per value exercises each host as the + # applying host and as the re-applying host. Evidence files are suffixed with -Label. + [ValidateSet('pwsh', 'powershell.exe')] + [string]$ApplyHost = 'pwsh' ) Set-StrictMode -Version Latest @@ -184,10 +193,8 @@ function Get-ServiceRecord { } function Invoke-Isolation([string[]]$Extra, [string]$PsHost = 'powershell.exe') { - # lmxopcua#883: the repository installer fails on both hosts (PowerShell 7: no DirectoryInfo.GetAccessControl; - # 5.1: StrictMode .Count on a scalar), and so does -Uninstall. With -PatchedIsolation the gate uses the #883 patch - # (install-candidate-patched) so the runtime isolation can still be exercised. - $dir = if ($PatchedIsolation) { 'install-candidate-patched' } else { 'install-candidate' } + # The repository installer from the candidate tree. (Until lmxopcua#883 was fixed it failed on both hosts, and so did -Uninstall.) + $dir = 'install-candidate' $script = Join-Path $Upload "$dir\Install-ScriptWorkerIsolation.ps1" $out = & $PsHost -NoProfile -ExecutionPolicy Bypass -File $script -InstallRoot $Install -HostServiceAccount $ServiceAccount ` -PeCacheDir $PeCache -ConfigureHostService @Extra 2>&1 | Out-String @@ -274,11 +281,12 @@ switch ($Phase) { } $s = Get-Secrets # Known-good binaries into the service path, with an explicit service-account ACL. - robocopy (Join-Path $Upload 'baseline-host') $Install /E /R:1 /W:1 /NFL /NDL /NJH /NP | Out-Null + $from = $PrepareFrom + robocopy (Join-Path $Upload "$from-host") $Install /E /R:1 /W:1 /NFL /NDL /NJH /NP | Out-Null if ($LASTEXITCODE -ge 8) { throw 'baseline copy failed' } # The repository-supported install (Install-Services.ps1) creates the service and its 2-entry environment. # It runs first because the NT SERVICE\ virtual account only resolves once its service exists. - & (Join-Path $Upload 'install-baseline\Install-Services.ps1') -InstallRoot $Install -ServiceAccount $ServiceAccount -Roles driver + & (Join-Path $Upload "install-$from\Install-Services.ps1") -InstallRoot $Install -ServiceAccount $ServiceAccount -Roles driver if (-not (Get-Service $Service -ErrorAction SilentlyContinue)) { throw 'Install-Services.ps1 did not create the service' } Add-AllowRule $Install $ServiceAccount 'ReadAndExecute' foreach ($d in 'pki', 'data', 'logs') { @@ -454,16 +462,23 @@ switch ($Phase) { if ((Get-Service $Service).Status -ne 'Stopped') { throw 'stop the service first' } $envBefore = @(Get-EnvNames) $aclBefore = (& icacls $Install | Out-String) - $whatIf = Invoke-Isolation @('-WhatIf') 'pwsh' + $otherHost = if ($ApplyHost -eq 'pwsh') { 'powershell.exe' } else { 'pwsh' } + $whatIf = Invoke-Isolation @('-WhatIf') $ApplyHost + $whatIfOther = Invoke-Isolation @('-WhatIf') $otherHost $whatIfChanged = ((& icacls $Install | Out-String) -ne $aclBefore) -or [bool](Get-NetFirewallRule -Name 'OtOpcUa-ScriptWorker-BlockOutbound' -ErrorAction SilentlyContinue) -or ((@(Get-EnvNames) -join ',') -ne ($envBefore -join ',')) - $apply = Invoke-Isolation @() 'pwsh' - $again = Invoke-Isolation @() 'powershell.exe' - if ($apply.exit -ne 0 -or $again.exit -ne 0) { throw "isolation install failed: $($apply.output)$($again.output)" } + $apply = Invoke-Isolation @() $ApplyHost + $again = Invoke-Isolation @() $otherHost + $againSame = Invoke-Isolation @() $ApplyHost + foreach ($r in $whatIf, $whatIfOther, $apply, $again, $againSame) { + if ($r.exit -ne 0) { throw "isolation install failed ($($r.host) $($r.args)): $($r.output)" } + } $env = @((Get-ItemProperty -Path $SvcKey -Name Environment).Environment) + 'Scripting__Runner=OutOfProcess' Set-ItemProperty -Path $SvcKey -Name Environment -Type MultiString -Value ([string[]]$env) $rule = Get-NetFirewallRule -Name 'OtOpcUa-ScriptWorker-BlockOutbound' - Write-Evidence 'isolation-install' ([ordered]@{ whatIf = $whatIf; whatIfChangedState = $whatIfChanged; apply = $apply; reapply = $again - reapplyAllUnchanged = -not ($again.output -match '\[(?!unchanged)[a-z]+\s*\]') + Write-Evidence "isolation-install-$Label" ([ordered]@{ applyHost = $ApplyHost; whatIf = $whatIf; whatIfOtherHost = $whatIfOther; whatIfChangedState = $whatIfChanged + apply = $apply; reapply = $again; reapplySameHost = $againSame + reapplyAllUnchanged = (-not ($again.output -match '\[(?!unchanged)[a-z]+\s*\]')) -and (-not ($againSame.output -match '\[(?!unchanged)[a-z]+\s*\]')) + reapplyStepCounts = @(([regex]::Matches($again.output, '\[unchanged\s*\]')).Count, ([regex]::Matches($againSame.output, '\[unchanged\s*\]')).Count) envBefore = $envBefore; envAfter = @(Get-EnvNames) anchor = (& sc.exe qc OtOpcUaScriptWorker | Out-String); anchorSid = (& sc.exe showsid OtOpcUaScriptWorker | Out-String) installAcl = (& icacls $Install | Out-String); workerDirAcl = (& icacls (Join-Path $Install 'script-worker') | Out-String) @@ -506,19 +521,20 @@ public static class Tok { [ordered]@{ pipe = 'otopcua-sw-'; adminConnect = $outcome } }) $ready = Invoke-Http '/health/ready' - Write-Evidence 'isolation-verify' ([ordered]@{ hostPid = $hostPid; workers = $procs; pipes = $pipeChecks; ready = $ready + Write-Evidence "isolation-verify-$Label" ([ordered]@{ hostPid = $hostPid; workers = $procs; pipes = $pipeChecks; ready = $ready peFiles = @(Get-ChildItem (Join-Path $PeCache 'pe') -File -ErrorAction SilentlyContinue).Count hostLogWorkerLines = @(Get-ChildItem (Join-Path $Install 'logs') -File | ForEach-Object { (Read-SharedText $_.FullName) -split "`r?`n" } | Where-Object { $_ -match 'ScriptWorker|script-runner|OutOfProcess' } | Select-Object -Last 30 | ForEach-Object { Protect-Text $_ }) }) } 'IsolationUninstall' { if ((Get-Service $Service).Status -ne 'Stopped') { throw 'stop the service first' } - $first = Invoke-Isolation @('-Uninstall') 'powershell.exe' - $second = Invoke-Isolation @('-Uninstall') 'pwsh' - if ($first.exit -ne 0 -or $second.exit -ne 0) { throw "isolation uninstall failed: $($first.output)$($second.output)" } + $otherHost = if ($ApplyHost -eq 'pwsh') { 'powershell.exe' } else { 'pwsh' } + $first = Invoke-Isolation @('-Uninstall') $ApplyHost + $second = Invoke-Isolation @('-Uninstall') $otherHost + foreach ($r in $first, $second) { if ($r.exit -ne 0) { throw "isolation uninstall failed ($($r.host)): $($r.output)" } } $env = @((Get-ItemProperty -Path $SvcKey -Name Environment).Environment | Where-Object { $_ -notlike 'Scripting__Runner=*' }) Set-ItemProperty -Path $SvcKey -Name Environment -Type MultiString -Value ([string[]]$env) - Write-Evidence 'isolation-uninstall' ([ordered]@{ first = $first; second = $second + Write-Evidence "isolation-uninstall-$Label" ([ordered]@{ applyHost = $ApplyHost; first = $first; second = $second secondAllUnchanged = -not ($second.output -match '\[(?!unchanged)[a-z]+\s*\]') anchorGone = -not (Get-Service OtOpcUaScriptWorker -ErrorAction SilentlyContinue) firewallGone = -not (Get-NetFirewallRule -Name 'OtOpcUa-ScriptWorker-BlockOutbound' -ErrorAction SilentlyContinue) diff --git a/scripts/validation/opcua-windows-service/README.md b/scripts/validation/opcua-windows-service/README.md index e253c9183..e1873e1a8 100644 --- a/scripts/validation/opcua-windows-service/README.md +++ b/scripts/validation/opcua-windows-service/README.md @@ -37,9 +37,10 @@ $g = 'C:\OtOpcUa800\upload\Invoke-ServiceGate.ps1' & $g -Phase Upgrade # backup, stage separately, carry appsettings/pki/data/logs with /COPYALL, swap & $g -Phase Boot -Label c1; & $g -Phase Checks -Label c1; & $g -Phase Stop -Label c1 & $g -Phase Boot -Label c2; & $g -Phase Checks -Label c2; & $g -Phase Stop -Label c2 -& $g -Phase IsolationInstall -PatchedIsolation # see lmxopcua#883; drop the switch once the repo installer is fixed +& $g -Phase IsolationInstall -Label s1 -ApplyHost pwsh # apply with 7, re-apply with 5.1 and 7 & $g -Phase Boot -Label c3; & $g -Phase Checks -Label c3; & $g -Phase IsolationVerify -Label c3; & $g -Phase Stop -Label c3 -& $g -Phase IsolationUninstall -PatchedIsolation +& $g -Phase IsolationUninstall -Label s1 -ApplyHost pwsh +# Optional second pass with the hosts swapped (apply with 5.1): IsolationInstall/Verify/Uninstall -Label s2 -ApplyHost powershell.exe & $g -Phase Rollback & $g -Phase Boot -Label r1; & $g -Phase Checks -Label r1 -BaselineServer; & $g -Phase Stop -Label r1 & $g -Phase Compare -Label b1,c1,c2,c3,r1 @@ -51,6 +52,10 @@ at the first error. A `Checks` failure lists the failing cases by name. Secrets `\private\secrets.json`, which only SYSTEM and Administrators can read. Every output and log is checked against every task secret, and the evidence keeps only the redacted copies and the occurrence counts. +**Re-running only the isolation step.** `-Phase Prepare -PrepareFrom candidate` installs the candidate directly (no baseline, +upgrade or rollback), so `baseline-host` and `install-baseline` are not needed: +`Prepare`, `Boot b0 -AllowNotReady`, `Stop b0`, `Seed`, `Trust`, `Boot/Checks/Stop c1`, then the isolation phases, then `Cleanup`. + ## What the checks mean - **Strict channel.** These are gating cases. The probe's peer auto-accept is off. A trusted client gets a Basic256Sha256 Sign @@ -66,11 +71,14 @@ task secret, and the evidence keeps only the redacted copies and the occurrence key and the SDK 1.5 CLI with the 65-character key remain the positive controls. - **CLIs.** The CLI that matches each SDK line reads `ServerStatus` over SignAndEncrypt with an API key. The CLIs auto-accept the server certificate by design, so these reads do not count as strict-peer coverage. -- **ScriptWorker isolation.** `IsolationInstall`/`IsolationUninstall` run `Install-ScriptWorkerIsolation.ps1`. The script - runs once under PowerShell 7 and once under Windows PowerShell 5.1, so both must work. The script's dry run happens first. - Without `-PatchedIsolation` the repository copy is used, and that copy fails on both hosts (lmxopcua#883). With - `-PatchedIsolation` it uses `\upload\install-candidate-patched`, which is the repository copy plus - `evidence/2026-11-12-windev/isolation-installer-883.diff`. `IsolationVerify` needs the service running. It checks: +- **ScriptWorker isolation.** `IsolationInstall`/`IsolationUninstall` run `Install-ScriptWorkerIsolation.ps1` from + `\upload\install-candidate`. The script runs under PowerShell 7 and Windows PowerShell 5.1, so both must work: + `-ApplyHost` picks the host that applies (and rolls back first), the other host re-applies (every step must report + `unchanged`) and does the second, idempotent uninstall. The dry run happens first, on both hosts. The first run of this gate + (2026-11-12, `evidence/2026-11-12-windev/`) found the installer failing on both hosts (lmxopcua#883); it was exercised there + with `isolation-installer-883.diff`, which is now merged. `scripts/install/tests/Test-ScriptWorkerIsolation.Windows.ps1` is the + standalone Windows-executed apply / re-apply / uninstall test (scratch names, no OtOpcUaHost needed). `IsolationVerify` needs + the service running. It checks: - worker processes are children of the host and run under a restricted token; - the elevated administrator is refused on the worker pipe; - `script-runner` health and the PE cache. diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/RESULTS.md b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/RESULTS.md new file mode 100644 index 000000000..591133f32 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/RESULTS.md @@ -0,0 +1,79 @@ +# lmxopcua#800 / #883: ScriptWorker isolation re-run on windev (2026-11-12) + +**Result: the repository's `Install-ScriptWorkerIsolation.ps1` (fixed for #883) passes on both Windows PowerShell 5.1 and +PowerShell 7 against a real `OtOpcUaHost` service.** This re-runs only the step that failed in +[`../2026-11-12-windev/RESULTS.md`](../2026-11-12-windev/RESULTS.md) (step 3, ScriptWorker). Steps 1, 2, 4 and 5 are in that record. + +## What was run + +- **Node:** windev (`DESKTOP-6JL3KKO`), now 16 vCPUs, elevated SSH session, PowerShell 7.6.10 and Windows PowerShell 5.1.19041. + Timings are not comparable to the first run. +- **Candidate:** master `da948e5f` (SDK 2: `Opc.Ua.Core` 2.0.1.2), self-contained win-x64, built on macOS. `OtOpcUa.Host.exe` + `934a749f446c724579806cbbf36d7a12690a0a5bb9f97b5e39b9502a43c9087a`; `script-worker\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe` + `c2a2a56d3d91916daba72bd4d69e3ded5cad309121ae9ca00d4e8a3fe9aaae12`. Manifests: `manifest-candidate-*.txt`, matched file-for-file + on the box (probe, seeder and baseline CLI matched the first run's manifests). The install scripts are the repo tree's. +- **Install:** `Install-Services.ps1 -Roles driver -ServiceAccount 'NT SERVICE\OtOpcUaHost'` from the candidate tree + (`Prepare -PrepareFrom candidate`), task-only ports 18800 / 14841 / 18801, anonymous and auto-accept off, Sign + SignAndEncrypt. +- **Starts:** c0 (creates PKI/LocalDb), c1 (seeded, no isolation), c3, c4, c5 (isolation on, `Scripting__Runner=OutOfProcess`). + The application certificate was `A5A8238BB21874C381EA46294F2D21AF072EF1C0` at every start. + +## Installer cycles (`isolation-install-sN.json`, `isolation-uninstall-sN.json`) + +| Label | Script version | Apply host | Re-apply | Second re-apply | Uninstall | Second uninstall | +|---|---|---|---|---|---|---| +| s1 | #883 patch only | pwsh 7 | 5.1: 7/7 unchanged | pwsh: 7/7 unchanged | pwsh: 6 changed | 5.1: 6/6 unchanged | +| s2 | #883 patch only | **5.1** | pwsh: **AnchorService changed** | 5.1: 7/7 unchanged | 5.1: 6 changed | pwsh: 6/6 unchanged | +| s3 | **final** | **5.1** | pwsh: 7/7 unchanged | 5.1: 7/7 unchanged | 5.1: 6 changed | pwsh: 6/6 unchanged | +| s4 | **final** | pwsh 7 | 5.1: 7/7 unchanged | pwsh: 7/7 unchanged | pwsh: 6 changed | 5.1: 6/6 unchanged | + +`-WhatIf` on both hosts exited 0 and changed nothing in every cycle. + +**Second defect found by s2 (fixed in the same commit).** The #883 patch made both hosts work, but an apply from Windows PowerShell +5.1 was not idempotent: `AnchorService` reported `changed` on every re-run. Windows PowerShell 5.1 passes the literal quotes in +`binPath= "C:\...\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe"` to `sc.exe` with legacy quoting, which stored the path unquoted (a path with +spaces, such as `C:\Program Files\OtOpcUa`, is worse). The step compares the quoted form, so it rewrote the service each time. The +installer now runs `sc.exe create|config` through `Invoke-OtOpcUaSc`, which builds the command line explicitly and behaves the same on +both hosts. s3/s4 are with the fix, and `Test-ScriptWorkerIsolation.Windows.ps1` asserts the stored path (`windows-test-results.txt`). + +## State after apply (s1, #794 step 4) + +- `OtOpcUaScriptWorker`: START_TYPE 4 DISABLED, SERVICE_START_NAME `NT SERVICE\OtOpcUaScriptWorker`, SID + `S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135` (matches #794). +- ``: protected, SYSTEM, Administrators and `NT SERVICE\OtOpcUaHost` full control, no Users; + `\pe` adds `NT SERVICE\OtOpcUaScriptWorker:(OI)(CI)(M)`. +- Install root: `NT SERVICE\OtOpcUaScriptWorker:(OI)(CI)(DENY)(S,RD)`; `script-worker\`: `(OI)(CI)(RX)`. +- Firewall `OtOpcUa-ScriptWorker-BlockOutbound`: Outbound / Block / Any profile, program the worker exe. +- Host service environment gained exactly `Scripting__Worker__Identity` and `Scripting__Worker__PeCacheDir` (plus the gate's + `Scripting__Runner=OutOfProcess`); every other entry was kept. After uninstall the environment and the install-root ACL are back to + their pre-install state. + +## Runtime under the real service (`isolation-verify-c3/c4/c5.json`) + +| Start | Isolation applied by | Ready | ServiceLevel | Worker | Pipe, elevated admin | `script-runner` | Stop | Strict-peer/API-key matrix + CLIs | +|---|---|---|---|---|---|---|---|---| +| c3 | pwsh 7 (s1) | 15 s | 255 | 1 child of the host, owner `NT SERVICE\OtOpcUaHost`, `restricted=True`, 1 privilege | denied (`UnauthorizedAccessException`) | Healthy, PE cache on, 1 `pe\` entry | 1.8 s, exit 0, no worker left | 14 cases + 3 CLI reads pass | +| c4 | 5.1 (s2) | 15 s | 255 | same | denied | same | 1.8 s | same | +| c5 | 5.1 (s3, final script) | 15 s | 255 | same | denied | same | 1.8 s | same | + +- The window-station grant works under a real service session (coreclr loaded; no `ERROR_DLL_INIT_FAILED`). +- The out-of-process virtual tag read 800 Good in the probe at every isolation start. +- 0 occurrences of any task secret in the rolling logs, the selflog or the Application event log (`stop-*.json`); the evidence folder was + scanned against every task secret before it was copied off (0 hits). +- `compare-c0-c1-c3-c4-c5.json`: the certificate is identical at every start; c3, c4 and c5 have identical PKI digests and node + environment digests (c0 -> c1 differ by the trust copies and the rejected-client entries; c3 onwards adds the isolation ACE and entries). +- Not exercised: dropped-packet firewall logging (#794 step 5, QA only). + +## Standalone Windows test + +`scripts/install/tests/Test-ScriptWorkerIsolation.Windows.ps1` (new for #883): apply, re-apply, uninstall twice against scratch names and a +stand-in host service. It failed on 5.1 before the second fix and passes 24/24 on 5.1 and on pwsh 7 (`windows-test-results.txt`). + +## Cleanup + +- The `OtOpcUaHost` service (`sc.exe delete`), the anchor, the firewall rule, `C:\OtOpcUa800` and the uploaded scripts are removed; + `%LOCALAPPDATA%\OtOpcUaClient` is restored; firewall rule count 876; MxAccessGw Running with `:5130/health/ready` 200; + OtOpcUaWonderwareHistorian untouched (Running). `Uninstall-Services.ps1` was not used. +- **Residual:** the virtual-account profile `C:\Windows\ServiceProfiles\OtOpcUaHost` + (`S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059`) was already loaded when this run started (after the reboot) and + is still loaded now that the service is gone: `Remove-CimInstance` retried for about 2 minutes fails with "being used by another process" + and `reg unload` is refused. It cannot be removed without a reboot of windev. diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.json new file mode 100644 index 000000000..30835fb62 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.json @@ -0,0 +1,180 @@ +{ + "label": "c0", + "startUtc": "2026-11-12T15:57:55.8823967Z", + "readyUtc": "2026-11-12T15:58:11.4282152Z", + "service": { + "name": "OtOpcUaHost", + "state": "Running", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 2200, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":23.4172,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":4.7992,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Scripts run in process (Scripting:Runner=InProcess).\",\"durationMs\":5.6885},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":8.7835,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":6.9071,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.1152,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1851,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":3.3805,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":4.1642}}}" + } + ], + "snapshot": { + "certs": [ + { + "file": "OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "thumbprint": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "subject": "CN=OtOpcUaGate800", + "notBefore": "2026-11-11T00:00:00.0000000Z", + "notAfter": "2027-11-11T00:00:00.0000000Z", + "keySize": 2048 + } + ], + "pki": [ + { + "path": "pki\\own", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\own\\private", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\own\\private\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].pfx", + "dir": false, + "sha256": "A437D3745A0D005A810D3CE5011A716622A7787CD4CD14EF2689D0139E6717D4", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\trusted", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 4096, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-shm", + "dir": false, + "length": 32768, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-wal", + "dir": false, + "length": 37112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "roots": { + "install": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;OICI;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)", + "appsettings": [ + { + "file": "appsettings.admin-driver.json", + "sha256": "ECA047204CF6A9B4D89628D7EE2048BC68D46DB55DCB4AE9BCF24DBE9E44CD46", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.admin.json", + "sha256": "BB08F16D701697FCD70695B75D81A4B09BCE57DAAA95D6FD81FF469258AD3530", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.Development.json", + "sha256": "169A54D22027E13823AF0D41C1314A6D3E44852041C8B35AA80478A88399FE1B", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.driver.json", + "sha256": "A7DC1AB1DB2E93F1A6E78B7B1B425720C3C610CB406E6266F0DBE2EBE01BADAF", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.json", + "sha256": "89F72ACADED7F2D3CA434F2D922FE4DACCDC03AA342F3973D35A160BE9221B2A", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] + } + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.since b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.since new file mode 100644 index 000000000..20b8c6b85 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c0.since @@ -0,0 +1 @@ +2026-11-12T15:57:55.8823967Z diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.json new file mode 100644 index 000000000..66ba4775f --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.json @@ -0,0 +1,192 @@ +{ + "label": "c1", + "startUtc": "2026-11-12T15:58:30.5453614Z", + "readyUtc": "2026-11-12T15:58:45.6245988Z", + "service": { + "name": "OtOpcUaHost", + "state": "Running", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 3960, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":22.8443,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":4.5348,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Scripts run in process (Scripting:Runner=InProcess).\",\"durationMs\":6.3093},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":8.009,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":7.7807,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.1383,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.2156,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":4.1358,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":4.439}}}" + } + ], + "snapshot": { + "certs": [ + { + "file": "OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "thumbprint": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "subject": "CN=OtOpcUaGate800", + "notBefore": "2026-11-11T00:00:00.0000000Z", + "notAfter": "2027-11-11T00:00:00.0000000Z", + "keySize": 2048 + } + ], + "pki": [ + { + "path": "pki\\own", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\own\\private", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\own\\private\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].pfx", + "dir": false, + "sha256": "A437D3745A0D005A810D3CE5011A716622A7787CD4CD14EF2689D0139E6717D4", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\trusted", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der", + "dir": false, + "sha256": "72AF537FE58411AA60FACDD6958F7A6C8E04DA7BCB62DD7B3871A641A5A397B7", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der", + "dir": false, + "sha256": "E911169D32A4C594F16AA6E0FBF2C164E04C6A9DB863F35859945CAC0E27368C", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 90112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-shm", + "dir": false, + "length": 32768, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-wal", + "dir": false, + "length": 0, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "roots": { + "install": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;OICI;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)", + "appsettings": [ + { + "file": "appsettings.admin-driver.json", + "sha256": "ECA047204CF6A9B4D89628D7EE2048BC68D46DB55DCB4AE9BCF24DBE9E44CD46", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.admin.json", + "sha256": "BB08F16D701697FCD70695B75D81A4B09BCE57DAAA95D6FD81FF469258AD3530", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.Development.json", + "sha256": "169A54D22027E13823AF0D41C1314A6D3E44852041C8B35AA80478A88399FE1B", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.driver.json", + "sha256": "A7DC1AB1DB2E93F1A6E78B7B1B425720C3C610CB406E6266F0DBE2EBE01BADAF", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.json", + "sha256": "89F72ACADED7F2D3CA434F2D922FE4DACCDC03AA342F3973D35A160BE9221B2A", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] + } + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.since b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.since new file mode 100644 index 000000000..52a7f4f3a --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c1.since @@ -0,0 +1 @@ +2026-11-12T15:58:30.5453614Z diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.json new file mode 100644 index 000000000..2f5fbb857 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.json @@ -0,0 +1,213 @@ +{ + "label": "c3", + "startUtc": "2026-11-12T16:00:40.9916889Z", + "readyUtc": "2026-11-12T16:00:56.1160524Z", + "service": { + "name": "OtOpcUaHost", + "state": "Running", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 26980, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":41.194,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":4.0544,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":31.5331,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"not started\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":7.3643,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":7.5865,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.1264,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.2632,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":3.3972,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":4.8479}}}" + } + ], + "snapshot": { + "certs": [ + { + "file": "OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "thumbprint": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "subject": "CN=OtOpcUaGate800", + "notBefore": "2026-11-11T00:00:00.0000000Z", + "notAfter": "2027-11-11T00:00:00.0000000Z", + "keySize": 2048 + } + ], + "pki": [ + { + "path": "pki\\own", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\own\\private", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\own\\private\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].pfx", + "dir": false, + "sha256": "A437D3745A0D005A810D3CE5011A716622A7787CD4CD14EF2689D0139E6717D4", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\rejected", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs\\Gate800Client [E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8].der", + "dir": false, + "sha256": "1C6FAF7B9692EEC900157E5E02D985797B09F882EF8FFAC2637BCDB98FFE0939", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der", + "dir": false, + "sha256": "72AF537FE58411AA60FACDD6958F7A6C8E04DA7BCB62DD7B3871A641A5A397B7", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der", + "dir": false, + "sha256": "E911169D32A4C594F16AA6E0FBF2C164E04C6A9DB863F35859945CAC0E27368C", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 90112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-shm", + "dir": false, + "length": 32768, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-wal", + "dir": false, + "length": 0, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "roots": { + "install": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;OICI;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICI;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)", + "appsettings": [ + { + "file": "appsettings.admin-driver.json", + "sha256": "ECA047204CF6A9B4D89628D7EE2048BC68D46DB55DCB4AE9BCF24DBE9E44CD46", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.admin.json", + "sha256": "BB08F16D701697FCD70695B75D81A4B09BCE57DAAA95D6FD81FF469258AD3530", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.Development.json", + "sha256": "169A54D22027E13823AF0D41C1314A6D3E44852041C8B35AA80478A88399FE1B", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.driver.json", + "sha256": "A7DC1AB1DB2E93F1A6E78B7B1B425720C3C610CB406E6266F0DBE2EBE01BADAF", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.json", + "sha256": "89F72ACADED7F2D3CA434F2D922FE4DACCDC03AA342F3973D35A160BE9221B2A", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] + } + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.since b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.since new file mode 100644 index 000000000..9bdbfe79b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c3.since @@ -0,0 +1 @@ +2026-11-12T16:00:40.9916889Z diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.json new file mode 100644 index 000000000..d45b074ca --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.json @@ -0,0 +1,213 @@ +{ + "label": "c4", + "startUtc": "2026-11-12T16:03:18.0140714Z", + "readyUtc": "2026-11-12T16:03:33.1041042Z", + "service": { + "name": "OtOpcUaHost", + "state": "Running", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 26660, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":45.2162,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":4.8182,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":35.5089,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"not started\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":7.2315,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":7.2529,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.1199,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.246,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":3.8035,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":4.3198}}}" + } + ], + "snapshot": { + "certs": [ + { + "file": "OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "thumbprint": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "subject": "CN=OtOpcUaGate800", + "notBefore": "2026-11-11T00:00:00.0000000Z", + "notAfter": "2027-11-11T00:00:00.0000000Z", + "keySize": 2048 + } + ], + "pki": [ + { + "path": "pki\\own", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\own\\private", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\own\\private\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].pfx", + "dir": false, + "sha256": "A437D3745A0D005A810D3CE5011A716622A7787CD4CD14EF2689D0139E6717D4", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\rejected", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs\\Gate800Client [E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8].der", + "dir": false, + "sha256": "1C6FAF7B9692EEC900157E5E02D985797B09F882EF8FFAC2637BCDB98FFE0939", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der", + "dir": false, + "sha256": "72AF537FE58411AA60FACDD6958F7A6C8E04DA7BCB62DD7B3871A641A5A397B7", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der", + "dir": false, + "sha256": "E911169D32A4C594F16AA6E0FBF2C164E04C6A9DB863F35859945CAC0E27368C", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 90112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-shm", + "dir": false, + "length": 32768, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-wal", + "dir": false, + "length": 0, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "roots": { + "install": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;OICI;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICI;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)", + "appsettings": [ + { + "file": "appsettings.admin-driver.json", + "sha256": "ECA047204CF6A9B4D89628D7EE2048BC68D46DB55DCB4AE9BCF24DBE9E44CD46", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.admin.json", + "sha256": "BB08F16D701697FCD70695B75D81A4B09BCE57DAAA95D6FD81FF469258AD3530", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.Development.json", + "sha256": "169A54D22027E13823AF0D41C1314A6D3E44852041C8B35AA80478A88399FE1B", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.driver.json", + "sha256": "A7DC1AB1DB2E93F1A6E78B7B1B425720C3C610CB406E6266F0DBE2EBE01BADAF", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.json", + "sha256": "89F72ACADED7F2D3CA434F2D922FE4DACCDC03AA342F3973D35A160BE9221B2A", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] + } + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.since b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.since new file mode 100644 index 000000000..dd9acb0f2 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c4.since @@ -0,0 +1 @@ +2026-11-12T16:03:18.0140714Z diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.json new file mode 100644 index 000000000..e00fbabd3 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.json @@ -0,0 +1,213 @@ +{ + "label": "c5", + "startUtc": "2026-11-12T16:09:06.0837207Z", + "readyUtc": "2026-11-12T16:09:21.1970515Z", + "service": { + "name": "OtOpcUaHost", + "state": "Running", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 23072, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":43.1451,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":4.804,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":32.9539,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"not started\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":7.1991,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":7.221,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.1086,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.2362,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":3.3606,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":4.2385}}}" + } + ], + "snapshot": { + "certs": [ + { + "file": "OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "thumbprint": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "subject": "CN=OtOpcUaGate800", + "notBefore": "2026-11-11T00:00:00.0000000Z", + "notAfter": "2027-11-11T00:00:00.0000000Z", + "keySize": 2048 + } + ], + "pki": [ + { + "path": "pki\\own", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\own\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\own\\private", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\own\\private\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].pfx", + "dir": false, + "sha256": "A437D3745A0D005A810D3CE5011A716622A7787CD4CD14EF2689D0139E6717D4", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:PAI(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" + }, + { + "path": "pki\\rejected", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\rejected\\certs\\Gate800Client [E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8].der", + "dir": false, + "sha256": "1C6FAF7B9692EEC900157E5E02D985797B09F882EF8FFAC2637BCDB98FFE0939", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs", + "dir": true, + "sha256": null, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;OICIID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;OICIID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der", + "dir": false, + "sha256": "72AF537FE58411AA60FACDD6958F7A6C8E04DA7BCB62DD7B3871A641A5A397B7", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der", + "dir": false, + "sha256": "E911169D32A4C594F16AA6E0FBF2C164E04C6A9DB863F35859945CAC0E27368C", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "pki\\trusted\\certs\\OtOpcUaGate800 [A5A8238BB21874C381EA46294F2D21AF072EF1C0].der", + "dir": false, + "sha256": "3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28", + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 90112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-shm", + "dir": false, + "length": 32768, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "path": "data\\otopcua-localdb.db-wal", + "dir": false, + "length": 0, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ], + "roots": { + "install": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;OICI;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;OICI;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;OICIID;FA;;;SY)(A;OICIID;FA;;;BA)", + "appsettings": [ + { + "file": "appsettings.admin-driver.json", + "sha256": "ECA047204CF6A9B4D89628D7EE2048BC68D46DB55DCB4AE9BCF24DBE9E44CD46", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.admin.json", + "sha256": "BB08F16D701697FCD70695B75D81A4B09BCE57DAAA95D6FD81FF469258AD3530", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.Development.json", + "sha256": "169A54D22027E13823AF0D41C1314A6D3E44852041C8B35AA80478A88399FE1B", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.driver.json", + "sha256": "A7DC1AB1DB2E93F1A6E78B7B1B425720C3C610CB406E6266F0DBE2EBE01BADAF", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + }, + { + "file": "appsettings.json", + "sha256": "89F72ACADED7F2D3CA434F2D922FE4DACCDC03AA342F3973D35A160BE9221B2A", + "sddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:AI(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;0x1200a9;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] + } + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.since b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.since new file mode 100644 index 000000000..f5a98192f --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/boot-c5.since @@ -0,0 +1 @@ +2026-11-12T16:09:06.0837207Z diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c1.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c1.json new file mode 100644 index 000000000..084660c7f --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c1.json @@ -0,0 +1,438 @@ +{ + "label": "c1", + "baselineServer": false, + "utc": "2026-11-12T15:59:43.9578353Z", + "cases": [ + { + "name": "encrypt-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-disabled-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-anonymous", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "anon-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "anon-deny", + "result": "denied", + "status": "BadIdentityTokenInvalid", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-server", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadCertificateUntrusted", + "autoAccept": false + }, + "output": null + } + ], + "clis": [ + { + "name": "cli-sdk1-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\baseline-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 2026-11-12T15:59:32.1079763Z\r\nServer Time: 2026-11-12T15:59:32.1079763Z\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-54", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 15:59:35\r\nServer Time: 11/12/2026 15:59:35\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 15:59:38\r\nServer Time: 11/12/2026 15:59:38\r\n" + } + ], + "findings": [ + { + "name": "endpoints-advertised", + "args": [ + "endpoints", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa" + ], + "exit": 3, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "endpoints", + "result": "insecure-offered", + "endpoints": [ + { + "mode": "None", + "policy": "None", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "Sign", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + } + ] + }, + "output": null + }, + { + "name": "none-endpoint-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "none", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "None", + "policy": "None", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + } + ], + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":0.9884,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0196,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Scripts run in process (Scripting:Runner=InProcess).\",\"durationMs\":0.1265},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1384,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":1.7207,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0195,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1025,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":0.1689,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":0.7351}}}" + } + ], + "failed": [], + "outputsWithSecrets": [] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c3.json new file mode 100644 index 000000000..3cdc4b320 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c3.json @@ -0,0 +1,438 @@ +{ + "label": "c3", + "baselineServer": false, + "utc": "2026-11-12T16:01:53.6694545Z", + "cases": [ + { + "name": "encrypt-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-disabled-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-anonymous", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "anon-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "anon-deny", + "result": "denied", + "status": "BadIdentityTokenInvalid", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-server", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadCertificateUntrusted", + "autoAccept": false + }, + "output": null + } + ], + "clis": [ + { + "name": "cli-sdk1-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\baseline-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 2026-11-12T16:01:42.3256438Z\r\nServer Time: 2026-11-12T16:01:42.3256438Z\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-54", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:01:45\r\nServer Time: 11/12/2026 16:01:45\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:01:48\r\nServer Time: 11/12/2026 16:01:48\r\n" + } + ], + "findings": [ + { + "name": "endpoints-advertised", + "args": [ + "endpoints", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa" + ], + "exit": 3, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "endpoints", + "result": "insecure-offered", + "endpoints": [ + { + "mode": "None", + "policy": "None", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "Sign", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + } + ] + }, + "output": null + }, + { + "name": "none-endpoint-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "none", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "None", + "policy": "None", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + } + ], + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":3.6661,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0602,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":3.4763,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 25100, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1889,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":1.6043,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0175,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1189,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":0.1535,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":0.724}}}" + } + ], + "failed": [], + "outputsWithSecrets": [] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c4.json new file mode 100644 index 000000000..420477781 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c4.json @@ -0,0 +1,438 @@ +{ + "label": "c4", + "baselineServer": false, + "utc": "2026-11-12T16:04:31.2664908Z", + "cases": [ + { + "name": "encrypt-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-disabled-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-anonymous", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "anon-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "anon-deny", + "result": "denied", + "status": "BadIdentityTokenInvalid", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-server", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadCertificateUntrusted", + "autoAccept": false + }, + "output": null + } + ], + "clis": [ + { + "name": "cli-sdk1-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\baseline-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 2026-11-12T16:04:19.7719968Z\r\nServer Time: 2026-11-12T16:04:19.7719968Z\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-54", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:04:22\r\nServer Time: 11/12/2026 16:04:22\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:04:26\r\nServer Time: 11/12/2026 16:04:26\r\n" + } + ], + "findings": [ + { + "name": "endpoints-advertised", + "args": [ + "endpoints", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa" + ], + "exit": 3, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "endpoints", + "result": "insecure-offered", + "endpoints": [ + { + "mode": "None", + "policy": "None", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "Sign", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + } + ] + }, + "output": null + }, + { + "name": "none-endpoint-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "none", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "None", + "policy": "None", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + } + ], + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":4.0779,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0185,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":3.743,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 25172, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1523,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":1.641,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0164,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1192,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":0.17,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":0.8106}}}" + } + ], + "failed": [], + "outputsWithSecrets": [] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c5.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c5.json new file mode 100644 index 000000000..114c50dd5 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/checks-c5.json @@ -0,0 +1,438 @@ +{ + "label": "c5", + "baselineServer": false, + "utc": "2026-11-12T16:10:19.4731820Z", + "cases": [ + { + "name": "encrypt-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "policy": "Basic256Sha256", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-wrong-secret-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-disabled-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-wrong-secret-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-unknown-key-id-65", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "key-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "key-deny", + "result": "denied", + "status": "BadIdentityTokenRejected", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-anonymous", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "anon-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "anon-deny", + "result": "denied", + "status": "BadIdentityTokenInvalid", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "sign-untrusted-client", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\untrusted-client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "sign", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "Sign", + "expected": "peer-deny", + "result": "denied", + "status": "BadSecurityChecksFailed", + "autoAccept": false + }, + "output": null + }, + { + "name": "encrypt-untrusted-server", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "encrypt", + "peer-deny" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "SignAndEncrypt", + "expected": "peer-deny", + "result": "denied", + "status": "BadCertificateUntrusted", + "autoAccept": false + }, + "output": null + } + ], + "clis": [ + { + "name": "cli-sdk1-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\baseline-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 2026-11-12T16:10:07.7334083Z\r\nServer Time: 2026-11-12T16:10:07.7334083Z\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-54", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:10:10\r\nServer Time: 11/12/2026 16:10:10\r\n" + }, + { + "name": "cli-sdk2-encrypt-key-65", + "exe": "C:\\OtOpcUa800\\upload\\candidate-cli\\ZB.MOM.WW.OtOpcUa.Client.CLI.exe", + "argv": "read --url --security encrypt --username apikey --password --node i=2259", + "exit": 0, + "good": true, + "secretOccurrencesInOutput": 0, + "output": "Node: i=2259\r\nValue: 0\r\nStatus: Good [0x00000000]\r\nSource Time: 11/12/2026 16:10:13\r\nServer Time: 11/12/2026 16:10:13\r\n" + } + ], + "findings": [ + { + "name": "endpoints-advertised", + "args": [ + "endpoints", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa" + ], + "exit": 3, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "endpoints", + "result": "insecure-offered", + "endpoints": [ + { + "mode": "None", + "policy": "None", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "Sign", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + }, + { + "mode": "SignAndEncrypt", + "policy": "Basic256Sha256", + "tokens": [ + "UserName" + ], + "certSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0" + } + ] + }, + "output": null + }, + { + "name": "none-endpoint-valid-key-54", + "args": [ + "probe", + "C:\\OtOpcUa800\\state\\client-pki", + "opc.tcp://localhost:14841/OtOpcUa", + "none", + "allow" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "probe", + "securityMode": "None", + "policy": "None", + "expected": "allow", + "result": "allowed", + "serverState": "0 (Good [0x00000000])", + "serviceLevel": "255 (Good [0x00000000])", + "unsNamespaceIndex": 3, + "virtualTag": "800 (Good [0x00000000])", + "serverCertSha1": "A5A8238BB21874C381EA46294F2D21AF072EF1C0", + "autoAccept": false + }, + "output": null + } + ], + "health": [ + { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":3.6136,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.052,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":3.4343,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 23348, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1687,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + { + "path": "/healthz", + "status": 200, + "body": "Healthy" + }, + { + "path": "/health/active", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":1.7682,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0198,\"data\":{\"status\":\"Started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.1129,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"cluster-primary\":{\"status\":\"Healthy\",\"description\":\"Active node for role \\u0027driver\\u0027 (oldest Up member).\",\"durationMs\":0.1699,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"activeRole\":\"driver\",\"activeNode\":\"akka.tcp://otopcua@127.0.0.1:18801\"}},\"localdb-replication\":{\"status\":\"Healthy\",\"description\":\"LocalDb replication is not configured on this node (default-OFF).\",\"durationMs\":0.7712}}}" + } + ], + "failed": [], + "outputsWithSecrets": [] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/compare-c0-c1-c3-c4-c5.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/compare-c0-c1-c3-c4-c5.json new file mode 100644 index 000000000..30cfc0ff9 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/compare-c0-c1-c3-c4-c5.json @@ -0,0 +1,89 @@ +{ + "rows": [ + { + "label": "c0", + "exe": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207", + "opcUaCore": "2.0.1.2", + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "certs": [ + "A5A8238BB21874C381EA46294F2D21AF072EF1C0 3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28" + ], + "pkiDigest": "33b5b98904914dec6689ca4d27eceaa50fb5df90c3d65c921ce28bc0e00c0507", + "pkiEntries": 8, + "dataAcl": [ + "data\\otopcua-localdb.db|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-shm|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-wal|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + ] + }, + { + "label": "c1", + "exe": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207", + "opcUaCore": "2.0.1.2", + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "certs": [ + "A5A8238BB21874C381EA46294F2D21AF072EF1C0 3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28" + ], + "pkiDigest": "bc15fde76f88b75770cbf7fb01778a37fc47dfa3afe10fc0d74bfc0377d3f743", + "pkiEntries": 10, + "dataAcl": [ + "data\\otopcua-localdb.db|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-shm|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-wal|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + ] + }, + { + "label": "c3", + "exe": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207", + "opcUaCore": "2.0.1.2", + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "certs": [ + "A5A8238BB21874C381EA46294F2D21AF072EF1C0 3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28" + ], + "pkiDigest": "da0d94bfea2e03274beeea31e55b3e1ee711db16eb56946ae083c5c8e53af7ca", + "pkiEntries": 13, + "dataAcl": [ + "data\\otopcua-localdb.db|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-shm|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-wal|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + ] + }, + { + "label": "c4", + "exe": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207", + "opcUaCore": "2.0.1.2", + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "certs": [ + "A5A8238BB21874C381EA46294F2D21AF072EF1C0 3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28" + ], + "pkiDigest": "da0d94bfea2e03274beeea31e55b3e1ee711db16eb56946ae083c5c8e53af7ca", + "pkiEntries": 13, + "dataAcl": [ + "data\\otopcua-localdb.db|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-shm|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-wal|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + ] + }, + { + "label": "c5", + "exe": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207", + "opcUaCore": "2.0.1.2", + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "certs": [ + "A5A8238BB21874C381EA46294F2D21AF072EF1C0 3C6BFD9C9C205375258DCD5B16DD962921FA31F95527F5E17CBCA6E50392DD28" + ], + "pkiDigest": "da0d94bfea2e03274beeea31e55b3e1ee711db16eb56946ae083c5c8e53af7ca", + "pkiEntries": 13, + "dataAcl": [ + "data\\otopcua-localdb.db|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-shm|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)", + "data\\otopcua-localdb.db-wal|O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(D;ID;CC;;;S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + ] + } + ], + "identical": { + "certificate": true, + "pkiFilesAndAcls": false, + "environment": false + } +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c0.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c0.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c0.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c1.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c1.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c1.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c3.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c3.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c3.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c4.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c4.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c4.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c5.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c5.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/eventlog-c5.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/gate-run.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/gate-run.log new file mode 100644 index 000000000..5213af297 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/gate-run.log @@ -0,0 +1,98 @@ +=== 2026-11-12T16:03:18Z -Phase Prepare -PrepareFrom candidate +Installed OtOpcUaHost: + Roles: driver + Binary: C:\OtOpcUa800\OtOpcUa\OtOpcUa.Host.exe + Account: NT SERVICE\OtOpcUaHost + +Start with: + sc.exe start OtOpcUaHost + +NOTE: Galaxy access flows through mxaccessgw - install + run that separately + per docs/v2/Galaxy.ParityRig.md. OtOpcUaHost connects via the + Galaxy.Gateway section of appsettings.json (default http://localhost:5120). +evidence: C:\OtOpcUa800\evidence\prepare.json +exit 0 +=== 2026-11-12T16:03:41Z -Phase Boot -Label c0 -AllowNotReady +evidence: C:\OtOpcUa800\evidence\boot-c0.json +exit 0 +=== 2026-11-12T16:04:03Z -Phase Stop -Label c0 +evidence: C:\OtOpcUa800\evidence\stop-c0.json +exit 0 +=== 2026-11-12T16:04:12Z -Phase Seed +evidence: C:\OtOpcUa800\evidence\seed.json +exit 0 +=== 2026-11-12T16:04:17Z -Phase Trust +evidence: C:\OtOpcUa800\evidence\trust.json +exit 0 +=== 2026-11-12T16:04:20Z -Phase Boot -Label c1 +evidence: C:\OtOpcUa800\evidence\boot-c1.json +exit 0 +=== 2026-11-12T16:04:41Z -Phase Checks -Label c1 +evidence: C:\OtOpcUa800\evidence\checks-c1.json +exit 0 +=== 2026-11-12T16:05:44Z -Phase Stop -Label c1 +evidence: C:\OtOpcUa800\evidence\stop-c1.json +exit 0 +=== 2026-11-12T16:05:58Z -Phase IsolationInstall -Label s1 -ApplyHost pwsh +evidence: C:\OtOpcUa800\evidence\isolation-install-s1.json +exit 0 +=== 2026-11-12T16:06:45Z -Phase Boot -Label c3 +evidence: C:\OtOpcUa800\evidence\boot-c3.json +exit 0 +=== 2026-11-12T16:07:06Z -Phase Checks -Label c3 +evidence: C:\OtOpcUa800\evidence\checks-c3.json +exit 0 +=== 2026-11-12T16:08:08Z -Phase IsolationVerify -Label c3 +evidence: C:\OtOpcUa800\evidence\isolation-verify-c3.json +exit 0 +=== 2026-11-12T16:08:16Z -Phase Stop -Label c3 +evidence: C:\OtOpcUa800\evidence\stop-c3.json +exit 0 +=== 2026-11-12T16:08:38Z -Phase IsolationUninstall -Label s1 -ApplyHost pwsh +evidence: C:\OtOpcUa800\evidence\isolation-uninstall-s1.json +exit 0 +=== 2026-11-12T16:09:01Z -Phase IsolationInstall -Label s2 -ApplyHost powershell.exe +evidence: C:\OtOpcUa800\evidence\isolation-install-s2.json +exit 0 +=== 2026-11-12T16:09:39Z -Phase Boot -Label c4 +evidence: C:\OtOpcUa800\evidence\boot-c4.json +exit 0 +=== 2026-11-12T16:10:00Z -Phase Checks -Label c4 +evidence: C:\OtOpcUa800\evidence\checks-c4.json +exit 0 +=== 2026-11-12T16:11:03Z -Phase IsolationVerify -Label c4 +evidence: C:\OtOpcUa800\evidence\isolation-verify-c4.json +exit 0 +=== 2026-11-12T16:11:11Z -Phase Stop -Label c4 +evidence: C:\OtOpcUa800\evidence\stop-c4.json +exit 0 +=== 2026-11-12T16:11:21Z -Phase IsolationUninstall -Label s2 -ApplyHost powershell.exe +evidence: C:\OtOpcUa800\evidence\isolation-uninstall-s2.json +exit 0 +=== 2026-11-12T16:15:29Z -Phase IsolationInstall -Label s3 -ApplyHost powershell.exe +evidence: C:\OtOpcUa800\evidence\isolation-install-s3.json +exit 0 +=== 2026-11-12T16:16:06Z -Phase Boot -Label c5 +evidence: C:\OtOpcUa800\evidence\boot-c5.json +exit 0 +=== 2026-11-12T16:16:27Z -Phase Checks -Label c5 +evidence: C:\OtOpcUa800\evidence\checks-c5.json +exit 0 +=== 2026-11-12T16:17:30Z -Phase IsolationVerify -Label c5 +evidence: C:\OtOpcUa800\evidence\isolation-verify-c5.json +exit 0 +=== 2026-11-12T16:17:37Z -Phase Stop -Label c5 +evidence: C:\OtOpcUa800\evidence\stop-c5.json +exit 0 +=== 2026-11-12T16:17:47Z -Phase IsolationUninstall -Label s3 -ApplyHost powershell.exe +evidence: C:\OtOpcUa800\evidence\isolation-uninstall-s3.json +exit 0 +=== 2026-11-12T16:18:09Z -Phase IsolationInstall -Label s4 -ApplyHost pwsh +evidence: C:\OtOpcUa800\evidence\isolation-install-s4.json +exit 0 +=== 2026-11-12T16:18:47Z -Phase IsolationUninstall -Label s4 -ApplyHost pwsh +evidence: C:\OtOpcUa800\evidence\isolation-uninstall-s4.json +exit 0 +=== 2026-11-12T16:19:19Z -Phase Compare -Label c0,c1,c3,c4,c5 +evidence: C:\OtOpcUa800\evidence\compare-c0-c1-c3-c4-c5.json +exit 0 diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s1.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s1.json new file mode 100644 index 000000000..75ee95399 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s1.json @@ -0,0 +1,119 @@ +{ + "applyHost": "pwsh", + "whatIf": { + "script": "install-candidate", + "host": "pwsh", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfOtherHost": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfChangedState": false, + "apply": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n [changed ] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker changed\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache changed\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nHostServiceEnv OtOpcUaHost changed\r\n\r\n" + }, + "reapply": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n\r\n" + }, + "reapplySameHost": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n" + }, + "reapplyAllUnchanged": true, + "reapplyStepCounts": [ + 7, + 7 + ], + "envBefore": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envAfter": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "anchor": "[SC] QueryServiceConfig SUCCESS\r\n\r\nSERVICE_NAME: OtOpcUaScriptWorker\r\n TYPE : 10 WIN32_OWN_PROCESS \r\n START_TYPE : 4 DISABLED\r\n ERROR_CONTROL : 1 NORMAL\r\n BINARY_PATH_NAME : \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe\"\r\n LOAD_ORDER_GROUP : \r\n TAG : 0\r\n DISPLAY_NAME : OtOpcUa ScriptWorker identity (anchor, never started)\r\n DEPENDENCIES : \r\n SERVICE_START_NAME : NT SERVICE\\OtOpcUaScriptWorker\r\n", + "anchorSid": "\r\nNAME: OtOpcUaScriptWorker\r\nSERVICE SID: S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135\r\nSTATUS: Active\r\n", + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "workerDirAcl": "C:\\OtOpcUa800\\OtOpcUa\\script-worker NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(RX)\r\n NT SERVICE\\OtOpcUaScriptWorker:(I)(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peCacheAcl": "C:\\OtOpcUa800\\state\\pe-cache NT AUTHORITY\\SYSTEM:(OI)(CI)(F)\r\n BUILTIN\\Administrators:(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peAcl": "C:\\OtOpcUa800\\state\\pe-cache\\pe NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(M)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "firewall": { + "name": "OtOpcUa-ScriptWorker-BlockOutbound", + "direction": "Outbound", + "action": "Block", + "enabled": "True", + "profile": "Any", + "program": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe" + }, + "workerExeSha256": "C2A2A56D3D91916DABA72BD4D69E3DED5CAD309121AE9CA00D4E8A3FE9AAAE12", + "workerFiles": 275 +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s2.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s2.json new file mode 100644 index 000000000..422817c67 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s2.json @@ -0,0 +1,119 @@ +{ + "applyHost": "powershell.exe", + "whatIf": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfOtherHost": { + "script": "install-candidate", + "host": "pwsh", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfChangedState": false, + "apply": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker changed \r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed \r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed \r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed \r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed \r\nHostServiceEnv OtOpcUaHost changed \r\n\r\n\r\n" + }, + "reapply": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker changed\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n" + }, + "reapplySameHost": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n\r\n" + }, + "reapplyAllUnchanged": false, + "reapplyStepCounts": [ + 6, + 7 + ], + "envBefore": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envAfter": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "anchor": "[SC] QueryServiceConfig SUCCESS\r\n\r\nSERVICE_NAME: OtOpcUaScriptWorker\r\n TYPE : 10 WIN32_OWN_PROCESS \r\n START_TYPE : 4 DISABLED\r\n ERROR_CONTROL : 1 NORMAL\r\n BINARY_PATH_NAME : \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe\"\r\n LOAD_ORDER_GROUP : \r\n TAG : 0\r\n DISPLAY_NAME : OtOpcUa ScriptWorker identity (anchor, never started)\r\n DEPENDENCIES : \r\n SERVICE_START_NAME : NT SERVICE\\OtOpcUaScriptWorker\r\n", + "anchorSid": "\r\nNAME: OtOpcUaScriptWorker\r\nSERVICE SID: S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135\r\nSTATUS: Active\r\n", + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "workerDirAcl": "C:\\OtOpcUa800\\OtOpcUa\\script-worker NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(RX)\r\n NT SERVICE\\OtOpcUaScriptWorker:(I)(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peCacheAcl": "C:\\OtOpcUa800\\state\\pe-cache NT AUTHORITY\\SYSTEM:(OI)(CI)(F)\r\n BUILTIN\\Administrators:(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peAcl": "C:\\OtOpcUa800\\state\\pe-cache\\pe NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(M)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "firewall": { + "name": "OtOpcUa-ScriptWorker-BlockOutbound", + "direction": "Outbound", + "action": "Block", + "enabled": "True", + "profile": "Any", + "program": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe" + }, + "workerExeSha256": "C2A2A56D3D91916DABA72BD4D69E3DED5CAD309121AE9CA00D4E8A3FE9AAAE12", + "workerFiles": 275 +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s3.json new file mode 100644 index 000000000..73b4b7281 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s3.json @@ -0,0 +1,119 @@ +{ + "applyHost": "powershell.exe", + "whatIf": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfOtherHost": { + "script": "install-candidate", + "host": "pwsh", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfChangedState": false, + "apply": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker changed \r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed \r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed \r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed \r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed \r\nHostServiceEnv OtOpcUaHost changed \r\n\r\n\r\n" + }, + "reapply": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n" + }, + "reapplySameHost": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n\r\n" + }, + "reapplyAllUnchanged": true, + "reapplyStepCounts": [ + 7, + 7 + ], + "envBefore": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envAfter": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "anchor": "[SC] QueryServiceConfig SUCCESS\r\n\r\nSERVICE_NAME: OtOpcUaScriptWorker\r\n TYPE : 10 WIN32_OWN_PROCESS \r\n START_TYPE : 4 DISABLED\r\n ERROR_CONTROL : 1 NORMAL\r\n BINARY_PATH_NAME : \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe\"\r\n LOAD_ORDER_GROUP : \r\n TAG : 0\r\n DISPLAY_NAME : OtOpcUa ScriptWorker identity (anchor, never started)\r\n DEPENDENCIES : \r\n SERVICE_START_NAME : NT SERVICE\\OtOpcUaScriptWorker\r\n", + "anchorSid": "\r\nNAME: OtOpcUaScriptWorker\r\nSERVICE SID: S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135\r\nSTATUS: Active\r\n", + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "workerDirAcl": "C:\\OtOpcUa800\\OtOpcUa\\script-worker NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(RX)\r\n NT SERVICE\\OtOpcUaScriptWorker:(I)(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peCacheAcl": "C:\\OtOpcUa800\\state\\pe-cache NT AUTHORITY\\SYSTEM:(OI)(CI)(F)\r\n BUILTIN\\Administrators:(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peAcl": "C:\\OtOpcUa800\\state\\pe-cache\\pe NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(M)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "firewall": { + "name": "OtOpcUa-ScriptWorker-BlockOutbound", + "direction": "Outbound", + "action": "Block", + "enabled": "True", + "profile": "Any", + "program": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe" + }, + "workerExeSha256": "C2A2A56D3D91916DABA72BD4D69E3DED5CAD309121AE9CA00D4E8A3FE9AAAE12", + "workerFiles": 275 +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s4.json new file mode 100644 index 000000000..5e2eed962 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-install-s4.json @@ -0,0 +1,119 @@ +{ + "applyHost": "pwsh", + "whatIf": { + "script": "install-candidate", + "host": "pwsh", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfOtherHost": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-WhatIf", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\nWhat if: Performing the operation \"AnchorService: register the disabled anchor service 'OtOpcUaScriptWorker' so the virtual account 'NT SERVICE\\OtOpcUaScriptWorker' (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135) resolves by name (never started)\" on target \"OtOpcUaScriptWorker\".\r\nWhat if: Performing the operation \"PeCacheDir: create the PE cache directory and set its ACL (protected; SYSTEM, Administrators, host account full control; no Users; no worker access to the key or markers)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\".\r\nWhat if: Performing the operation \"PeEntriesDir: create the PE entries directory and grant the worker identity Modify (it compiles and writes HMAC'd entries)\" on target \"C:\\OtOpcUa800\\state\\pe-cache\\pe\".\r\nWhat if: Performing the operation \"WorkerFolderAcl: grant the worker identity read+execute on its own binaries\" on target \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\".\r\nWhat if: Performing the operation \"InstallRootDeny: deny the worker identity ReadData/ListDirectory on the install folder (appsettings, logs, host binaries); script-worker\\ stays readable\" on target \"C:\\OtOpcUa800\\OtOpcUa\".\r\nWhat if: Performing the operation \"FirewallBlockOutbound: add a Windows Firewall rule blocking ALL outbound traffic from 'C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe' (every profile)\" on target \"OtOpcUa-ScriptWorker-BlockOutbound\".\r\nWhat if: Performing the operation \"HostServiceEnv: set Scripting__Worker__Identity=NT SERVICE\\OtOpcUaScriptWorker and Scripting__Worker__PeCacheDir=C:\\OtOpcUa800\\state\\pe-cache in the 'OtOpcUaHost' service environment (other entries kept; takes effect on the next service start)\" on target \"OtOpcUaHost\".\r\n" + }, + "whatIfChangedState": false, + "apply": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker changed\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nHostServiceEnv OtOpcUaHost changed\r\n\r\n" + }, + "reapply": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n\r\n" + }, + "reapplySameHost": { + "script": "install-candidate", + "host": "pwsh", + "args": "", + "exit": 0, + "output": "ScriptWorker isolation install: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n [unchanged] PeCacheDir C:\\OtOpcUa800\\state\\pe-cache\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n\r\nDone. Host configuration for this node:\r\n Scripting:Worker:Identity = NT SERVICE\\OtOpcUaScriptWorker\r\n Scripting:Worker:PeCacheDir = C:\\OtOpcUa800\\state\\pe-cache\r\n Restart OtOpcUaHost for a configuration change to take effect.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nAnchorService OtOpcUaScriptWorker unchanged\r\nPeCacheDir C:\\OtOpcUa800\\state\\pe-cache unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nHostServiceEnv OtOpcUaHost unchanged\r\n\r\n" + }, + "reapplyAllUnchanged": true, + "reapplyStepCounts": [ + 7, + 7 + ], + "envBefore": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envAfter": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "anchor": "[SC] QueryServiceConfig SUCCESS\r\n\r\nSERVICE_NAME: OtOpcUaScriptWorker\r\n TYPE : 10 WIN32_OWN_PROCESS \r\n START_TYPE : 4 DISABLED\r\n ERROR_CONTROL : 1 NORMAL\r\n BINARY_PATH_NAME : \"C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe\"\r\n LOAD_ORDER_GROUP : \r\n TAG : 0\r\n DISPLAY_NAME : OtOpcUa ScriptWorker identity (anchor, never started)\r\n DEPENDENCIES : \r\n SERVICE_START_NAME : NT SERVICE\\OtOpcUaScriptWorker\r\n", + "anchorSid": "\r\nNAME: OtOpcUaScriptWorker\r\nSERVICE SID: S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135\r\nSTATUS: Active\r\n", + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "workerDirAcl": "C:\\OtOpcUa800\\OtOpcUa\\script-worker NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(RX)\r\n NT SERVICE\\OtOpcUaScriptWorker:(I)(OI)(CI)(DENY)(S,RD)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peCacheAcl": "C:\\OtOpcUa800\\state\\pe-cache NT AUTHORITY\\SYSTEM:(OI)(CI)(F)\r\n BUILTIN\\Administrators:(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "peAcl": "C:\\OtOpcUa800\\state\\pe-cache\\pe NT SERVICE\\OtOpcUaScriptWorker:(OI)(CI)(M)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n NT SERVICE\\OtOpcUaHost:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "firewall": { + "name": "OtOpcUa-ScriptWorker-BlockOutbound", + "direction": "Outbound", + "action": "Block", + "enabled": "True", + "profile": "Any", + "program": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe" + }, + "workerExeSha256": "C2A2A56D3D91916DABA72BD4D69E3DED5CAD309121AE9CA00D4E8A3FE9AAAE12", + "workerFiles": 275 +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s1.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s1.json new file mode 100644 index 000000000..d1b381f6b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s1.json @@ -0,0 +1,50 @@ +{ + "applyHost": "pwsh", + "first": { + "script": "install-candidate", + "host": "pwsh", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nHostServiceEnv OtOpcUaHost changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nAnchorService OtOpcUaScriptWorker changed\r\n\r\n" + }, + "second": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nHostServiceEnv OtOpcUaHost unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nAnchorService OtOpcUaScriptWorker unchanged\r\n\r\n\r\n" + }, + "secondAllUnchanged": true, + "anchorGone": true, + "firewallGone": true, + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s2.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s2.json new file mode 100644 index 000000000..c3d466d54 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s2.json @@ -0,0 +1,50 @@ +{ + "applyHost": "powershell.exe", + "first": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\nId Target Outcome\r\n-- ------ -------\r\nHostServiceEnv OtOpcUaHost changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nAnchorService OtOpcUaScriptWorker changed\r\n\r\n\r\n" + }, + "second": { + "script": "install-candidate", + "host": "pwsh", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nHostServiceEnv OtOpcUaHost unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nAnchorService OtOpcUaScriptWorker unchanged\r\n\r\n" + }, + "secondAllUnchanged": true, + "anchorGone": true, + "firewallGone": true, + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s3.json new file mode 100644 index 000000000..c3d466d54 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s3.json @@ -0,0 +1,50 @@ +{ + "applyHost": "powershell.exe", + "first": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\nId Target Outcome\r\n-- ------ -------\r\nHostServiceEnv OtOpcUaHost changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nAnchorService OtOpcUaScriptWorker changed\r\n\r\n\r\n" + }, + "second": { + "script": "install-candidate", + "host": "pwsh", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nHostServiceEnv OtOpcUaHost unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nAnchorService OtOpcUaScriptWorker unchanged\r\n\r\n" + }, + "secondAllUnchanged": true, + "anchorGone": true, + "firewallGone": true, + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s4.json new file mode 100644 index 000000000..d1b381f6b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-uninstall-s4.json @@ -0,0 +1,50 @@ +{ + "applyHost": "pwsh", + "first": { + "script": "install-candidate", + "host": "pwsh", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [changed ] HostServiceEnv OtOpcUaHost\r\n [changed ] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [changed ] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [changed ] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [changed ] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [changed ] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\n\u001b[32;1mId \u001b[0m\u001b[32;1m Target \u001b[0m\u001b[32;1m Outcome\u001b[0m\r\n\u001b[32;1m-- \u001b[0m \u001b[32;1m------ \u001b[0m \u001b[32;1m-------\u001b[0m\r\nHostServiceEnv OtOpcUaHost changed\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound changed\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa changed\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker changed\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe changed\r\nAnchorService OtOpcUaScriptWorker changed\r\n\r\n" + }, + "second": { + "script": "install-candidate", + "host": "powershell.exe", + "args": "-Uninstall", + "exit": 0, + "output": "ScriptWorker isolation ROLLBACK: worker identity NT SERVICE\\OtOpcUaScriptWorker (S-1-5-80-1846135827-3903057317-1998105452-3938448374-3023753135), host account NT SERVICE\\OtOpcUaHost (S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)\r\n [unchanged] HostServiceEnv OtOpcUaHost\r\n [unchanged] FirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound\r\n [unchanged] InstallRootDeny C:\\OtOpcUa800\\OtOpcUa\r\n [unchanged] WorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker\r\n [unchanged] PeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe\r\n [unchanged] AnchorService OtOpcUaScriptWorker\r\n\r\nRolled back. If the host still sets Scripting:Worker:Identity (appsettings or env), unset it and restart the host.\r\n\r\nId Target Outcome \r\n-- ------ ------- \r\nHostServiceEnv OtOpcUaHost unchanged\r\nFirewallBlockOutbound OtOpcUa-ScriptWorker-BlockOutbound unchanged\r\nInstallRootDeny C:\\OtOpcUa800\\OtOpcUa unchanged\r\nWorkerFolderAcl C:\\OtOpcUa800\\OtOpcUa\\script-worker unchanged\r\nPeEntriesDir C:\\OtOpcUa800\\state\\pe-cache\\pe unchanged\r\nAnchorService OtOpcUaScriptWorker unchanged\r\n\r\n\r\n" + }, + "secondAllUnchanged": true, + "anchorGone": true, + "firewallGone": true, + "installAcl": "C:\\OtOpcUa800\\OtOpcUa NT SERVICE\\OtOpcUaHost:(OI)(CI)(RX)\r\n NT AUTHORITY\\SYSTEM:(I)(OI)(CI)(F)\r\n BUILTIN\\Administrators:(I)(OI)(CI)(F)\r\n\r\nSuccessfully processed 1 files; Failed processing 0 files\r\n", + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c3.json new file mode 100644 index 000000000..152f6ef9a --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c3.json @@ -0,0 +1,28 @@ +{ + "hostPid": 26980, + "workers": [ + { + "pid": 25100, + "parent": 26980, + "parentIsHost": true, + "path": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe", + "owner": "NT SERVICE\\OtOpcUaHost", + "token": "restricted=True privilegeCount=1" + } + ], + "pipes": [ + { + "pipe": "otopcua-sw-", + "adminConnect": "denied (UnauthorizedAccessException)" + } + ], + "ready": { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":0.2944,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0158,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":0.1409,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 25100, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.107,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + "peFiles": 1, + "hostLogWorkerLines": [ + "2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100" + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c4.json new file mode 100644 index 000000000..2522da343 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c4.json @@ -0,0 +1,29 @@ +{ + "hostPid": 26660, + "workers": [ + { + "pid": 25172, + "parent": 26660, + "parentIsHost": true, + "path": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe", + "owner": "NT SERVICE\\OtOpcUaHost", + "token": "restricted=True privilegeCount=1" + } + ], + "pipes": [ + { + "pipe": "otopcua-sw-", + "adminConnect": "denied (UnauthorizedAccessException)" + } + ], + "ready": { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":0.3359,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0159,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":0.1332,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 25172, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.121,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + "peFiles": 1, + "hostLogWorkerLines": [ + "2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100", + "2026-11-12 11:03:34.055 -05:00 [INF] ScriptWorker[0] started, pid 25172" + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c5.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c5.json new file mode 100644 index 000000000..145f32b89 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/isolation-verify-c5.json @@ -0,0 +1,30 @@ +{ + "hostPid": 23072, + "workers": [ + { + "pid": 23348, + "parent": 23072, + "parentIsHost": true, + "path": "C:\\OtOpcUa800\\OtOpcUa\\script-worker\\ZB.MOM.WW.OtOpcUa.ScriptWorker.exe", + "owner": "NT SERVICE\\OtOpcUaHost", + "token": "restricted=True privilegeCount=1" + } + ], + "pipes": [ + { + "pipe": "otopcua-sw-", + "adminConnect": "denied (UnauthorizedAccessException)" + } + ], + "ready": { + "path": "/health/ready", + "status": 200, + "body": "{\"status\":\"Healthy\",\"totalDurationMs\":0.3334,\"entries\":{\"opcua-endpoint\":{\"status\":\"Healthy\",\"description\":\"OPC UA endpoint is listening\",\"durationMs\":0.0187,\"data\":{\"status\":\"Started\"}},\"script-runner\":{\"status\":\"Healthy\",\"description\":\"Out-of-process script runner ready.\",\"durationMs\":0.1274,\"data\":{\"state\":\"Ready\",\"suspects\":0,\"quarantined\":0,\"peCache\":true,\"shard.0\":\"up pid 23348, 0 in flight\",\"shard.1\":\"not started\",\"shard.iso\":\"not started\"}},\"akka\":{\"status\":\"Healthy\",\"description\":\"Akka cluster member status: Up\",\"durationMs\":0.102,\"data\":{\"selfAddress\":\"akka.tcp://otopcua@127.0.0.1:18801\",\"selfRoles\":[\"driver\"],\"memberCount\":1,\"unreachableCount\":0,\"leader\":\"akka.tcp://otopcua@127.0.0.1:18801\"}}}}" + }, + "peFiles": 1, + "hostLogWorkerLines": [ + "2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100", + "2026-11-12 11:03:34.055 -05:00 [INF] ScriptWorker[0] started, pid 25172", + "2026-11-12 11:09:22.122 -05:00 [INF] ScriptWorker[0] started, pid 23348" + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-otopcua-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-otopcua-20261112.log new file mode 100644 index 000000000..5510aebf9 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-otopcua-20261112.log @@ -0,0 +1,64 @@ +2026-11-12 10:57:58.157 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:57:58.270 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:57:59.161 -05:00 [INF] Starting remoting +2026-11-12 10:57:59.589 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.590 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.615 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:57:59.621 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:57:59.661 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:57:59.816 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:57:59.910 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:10.170 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.426 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:10.436 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.439 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.441 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.451 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:10.452 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:10.632 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:10.645 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:10.656 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:10.672 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — the LocalDb cache is empty; entering Steady (no revision). The first dispatch will fetch this node's configuration from central. +2026-11-12 10:58:10.673 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:10.674 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:11.000 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:11.254 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:11.394 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:11.401 -05:00 [INF] HTTP GET /health/ready responded 200 in 161.8323 ms +2026-11-12 10:58:11.406 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 505.0225ms +2026-11-12 10:58:11.521 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:12.303 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:12.310 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] HTTP GET /healthz responded 200 in 2.8941 ms +2026-11-12 10:58:12.313 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8312ms +2026-11-12 10:58:12.448 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:12.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] HTTP GET /health/active responded 200 in 9.4596 ms +2026-11-12 10:58:12.459 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4867ms +2026-11-12 10:58:15.937 -05:00 [INF] Application is shutting down... +2026-11-12 10:58:15.967 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:58:15.995 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:58:16.006 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:16.014 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:58:16.015 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:58:16.244 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1754985992] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = f453fb482e2a4cc09536c88707f98b17 } +2026-11-12 10:58:16.787 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:58:16.803 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:16.924 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:16.924 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:58:16.928 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:58:16.941 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:58:16.944 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:58:16.945 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:58:16.968 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:58:16.974 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:58:17.030 -05:00 [INF] Remoting shut down +2026-11-12 10:58:17.031 -05:00 [INF] Remoting shut down. +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-serilog-selflog.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-serilog-selflog.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c0-serilog-selflog.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-otopcua-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-otopcua-20261112.log new file mode 100644 index 000000000..626524ec2 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-otopcua-20261112.log @@ -0,0 +1,203 @@ +2026-11-12 10:57:58.157 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:57:58.270 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:57:59.161 -05:00 [INF] Starting remoting +2026-11-12 10:57:59.589 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.590 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.615 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:57:59.621 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:57:59.661 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:57:59.816 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:57:59.910 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:10.170 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.426 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:10.436 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.439 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.441 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.451 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:10.452 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:10.632 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:10.645 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:10.656 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:10.672 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — the LocalDb cache is empty; entering Steady (no revision). The first dispatch will fetch this node's configuration from central. +2026-11-12 10:58:10.673 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:10.674 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:11.000 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:11.254 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:11.394 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:11.401 -05:00 [INF] HTTP GET /health/ready responded 200 in 161.8323 ms +2026-11-12 10:58:11.406 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 505.0225ms +2026-11-12 10:58:11.521 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:12.303 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:12.310 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] HTTP GET /healthz responded 200 in 2.8941 ms +2026-11-12 10:58:12.313 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8312ms +2026-11-12 10:58:12.448 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:12.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] HTTP GET /health/active responded 200 in 9.4596 ms +2026-11-12 10:58:12.459 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4867ms +2026-11-12 10:58:15.937 -05:00 [INF] Application is shutting down... +2026-11-12 10:58:15.967 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:58:15.995 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:58:16.006 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:16.014 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:58:16.015 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:58:16.244 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1754985992] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = f453fb482e2a4cc09536c88707f98b17 } +2026-11-12 10:58:16.787 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:58:16.803 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:16.924 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:16.924 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:58:16.928 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:58:16.941 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:58:16.944 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:58:16.945 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:58:16.968 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:58:16.974 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:58:17.030 -05:00 [INF] Remoting shut down +2026-11-12 10:58:17.031 -05:00 [INF] Remoting shut down. +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:32.613 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:58:32.728 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:58:33.578 -05:00 [INF] Starting remoting +2026-11-12 10:58:34.005 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.006 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.030 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:58:34.036 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:58:34.075 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:58:34.229 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:58:34.320 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:44.305 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.559 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:44.569 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.572 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.574 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.584 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:44.585 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:44.760 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:44.774 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:44.786 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:44.794 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:44.795 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:44.954 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 10:58:44.961 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 10:58:44.997 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 10:58:45.001 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 10:58:45.014 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 10:58:45.033 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 3:58:44 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 10:58:45.093 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 10:58:45.099 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 10:58:45.113 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 10:58:45.136 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=e7d920e6e17c43bb85711750d59f0854, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 10:58:45.186 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:45.451 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:45.590 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:45.597 -05:00 [INF] HTTP GET /health/ready responded 200 in 160.9447 ms +2026-11-12 10:58:45.602 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 491.6043ms +2026-11-12 10:58:45.643 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:46.503 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:46.512 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] HTTP GET /healthz responded 200 in 3.6556 ms +2026-11-12 10:58:46.516 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 16.4441ms +2026-11-12 10:58:46.659 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:46.664 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] HTTP GET /health/active responded 200 in 10.5921 ms +2026-11-12 10:58:46.674 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 16.8728ms +2026-11-12 10:58:52.795 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:52.806 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:56.087 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:56.088 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:59.050 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:58:59.050 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:02.074 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:02.074 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:05.002 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:05.003 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:05.040 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:07.857 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:07.857 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:07.858 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:10.607 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 10:59:10.607 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:10.608 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:13.433 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 10:59:13.433 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:13.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:16.270 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 10:59:16.270 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:16.270 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:19.043 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 10:59:19.044 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:19.044 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:24.232 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:24.275 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:24.302 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:26.720 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:26.720 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:26.721 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:29.256 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57205, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 10:59:31.835 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:31.835 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:35.317 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:35.317 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:38.406 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:38.406 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:43.631 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:43.631 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:44.074 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:59:44.075 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.7827 ms +2026-11-12 10:59:44.077 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 3.4231ms +2026-11-12 10:59:44.116 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:59:44.117 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5555 ms +2026-11-12 10:59:44.117 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.0918ms +2026-11-12 10:59:44.249 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:59:44.249 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] HTTP GET /health/active responded 200 in 2.4103 ms +2026-11-12 10:59:44.251 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.1668ms +2026-11-12 10:59:47.377 -05:00 [INF] Application is shutting down... +2026-11-12 10:59:47.408 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:59:47.440 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:59:47.450 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:59:47.461 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:59:47.462 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:59:47.688 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c12fe40b115041619ed8ff864701ff1a } +2026-11-12 10:59:47.714 -05:00 [INF] Message [EndpointReport] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: EndpointReport { Node = 127.0.0.1:18801, Listening = True } +2026-11-12 10:59:47.795 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [4] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 3a9682efe48249e896910283aea2a86c } +2026-11-12 10:59:47.903 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:59:47.912 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:59:48.145 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [5] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 426681ac67d04dfb880643d3b64f7241 } +2026-11-12 10:59:48.365 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:59:48.365 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:59:48.369 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:59:48.382 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:59:48.384 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:59:48.386 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:59:48.405 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:59:48.412 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:59:48.469 -05:00 [INF] Remoting shut down +2026-11-12 10:59:48.470 -05:00 [INF] Remoting shut down. +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:59:48.483 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-scripts-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-scripts-20261112.log new file mode 100644 index 000000000..e2970b55b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-scripts-20261112.log @@ -0,0 +1,2 @@ +2026-11-12 10:58:44.978 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-serilog-selflog.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-serilog-selflog.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c1-serilog-selflog.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-otopcua-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-otopcua-20261112.log new file mode 100644 index 000000000..897047c92 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-otopcua-20261112.log @@ -0,0 +1,345 @@ +2026-11-12 10:57:58.157 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:57:58.270 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:57:59.161 -05:00 [INF] Starting remoting +2026-11-12 10:57:59.589 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.590 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.615 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:57:59.621 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:57:59.661 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:57:59.816 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:57:59.910 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:10.170 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.426 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:10.436 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.439 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.441 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.451 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:10.452 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:10.632 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:10.645 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:10.656 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:10.672 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — the LocalDb cache is empty; entering Steady (no revision). The first dispatch will fetch this node's configuration from central. +2026-11-12 10:58:10.673 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:10.674 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:11.000 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:11.254 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:11.394 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:11.401 -05:00 [INF] HTTP GET /health/ready responded 200 in 161.8323 ms +2026-11-12 10:58:11.406 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 505.0225ms +2026-11-12 10:58:11.521 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:12.303 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:12.310 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] HTTP GET /healthz responded 200 in 2.8941 ms +2026-11-12 10:58:12.313 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8312ms +2026-11-12 10:58:12.448 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:12.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] HTTP GET /health/active responded 200 in 9.4596 ms +2026-11-12 10:58:12.459 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4867ms +2026-11-12 10:58:15.937 -05:00 [INF] Application is shutting down... +2026-11-12 10:58:15.967 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:58:15.995 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:58:16.006 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:16.014 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:58:16.015 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:58:16.244 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1754985992] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = f453fb482e2a4cc09536c88707f98b17 } +2026-11-12 10:58:16.787 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:58:16.803 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:16.924 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:16.924 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:58:16.928 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:58:16.941 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:58:16.944 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:58:16.945 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:58:16.968 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:58:16.974 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:58:17.030 -05:00 [INF] Remoting shut down +2026-11-12 10:58:17.031 -05:00 [INF] Remoting shut down. +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:32.613 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:58:32.728 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:58:33.578 -05:00 [INF] Starting remoting +2026-11-12 10:58:34.005 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.006 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.030 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:58:34.036 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:58:34.075 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:58:34.229 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:58:34.320 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:44.305 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.559 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:44.569 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.572 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.574 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.584 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:44.585 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:44.760 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:44.774 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:44.786 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:44.794 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:44.795 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:44.954 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 10:58:44.961 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 10:58:44.997 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 10:58:45.001 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 10:58:45.014 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 10:58:45.033 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 3:58:44 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 10:58:45.093 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 10:58:45.099 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 10:58:45.113 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 10:58:45.136 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=e7d920e6e17c43bb85711750d59f0854, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 10:58:45.186 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:45.451 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:45.590 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:45.597 -05:00 [INF] HTTP GET /health/ready responded 200 in 160.9447 ms +2026-11-12 10:58:45.602 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 491.6043ms +2026-11-12 10:58:45.643 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:46.503 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:46.512 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] HTTP GET /healthz responded 200 in 3.6556 ms +2026-11-12 10:58:46.516 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 16.4441ms +2026-11-12 10:58:46.659 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:46.664 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] HTTP GET /health/active responded 200 in 10.5921 ms +2026-11-12 10:58:46.674 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 16.8728ms +2026-11-12 10:58:52.795 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:52.806 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:56.087 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:56.088 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:59.050 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:58:59.050 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:02.074 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:02.074 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:05.002 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:05.003 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:05.040 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:07.857 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:07.857 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:07.858 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:10.607 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 10:59:10.607 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:10.608 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:13.433 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 10:59:13.433 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:13.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:16.270 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 10:59:16.270 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:16.270 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:19.043 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 10:59:19.044 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:19.044 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:24.232 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:24.275 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:24.302 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:26.720 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:26.720 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:26.721 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:29.256 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57205, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 10:59:31.835 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:31.835 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:35.317 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:35.317 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:38.406 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:38.406 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:43.631 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:43.631 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:44.074 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:59:44.075 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.7827 ms +2026-11-12 10:59:44.077 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 3.4231ms +2026-11-12 10:59:44.116 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:59:44.117 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5555 ms +2026-11-12 10:59:44.117 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.0918ms +2026-11-12 10:59:44.249 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:59:44.249 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] HTTP GET /health/active responded 200 in 2.4103 ms +2026-11-12 10:59:44.251 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.1668ms +2026-11-12 10:59:47.377 -05:00 [INF] Application is shutting down... +2026-11-12 10:59:47.408 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:59:47.440 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:59:47.450 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:59:47.461 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:59:47.462 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:59:47.688 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c12fe40b115041619ed8ff864701ff1a } +2026-11-12 10:59:47.714 -05:00 [INF] Message [EndpointReport] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: EndpointReport { Node = 127.0.0.1:18801, Listening = True } +2026-11-12 10:59:47.795 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [4] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 3a9682efe48249e896910283aea2a86c } +2026-11-12 10:59:47.903 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:59:47.912 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:59:48.145 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [5] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 426681ac67d04dfb880643d3b64f7241 } +2026-11-12 10:59:48.365 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:59:48.365 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:59:48.369 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:59:48.382 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:59:48.384 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:59:48.386 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:59:48.405 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:59:48.412 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:59:48.469 -05:00 [INF] Remoting shut down +2026-11-12 10:59:48.470 -05:00 [INF] Remoting shut down. +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:59:48.483 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:43.090 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:00:43.210 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:00:44.063 -05:00 [INF] Starting remoting +2026-11-12 11:00:44.495 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.497 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.520 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:00:44.526 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:00:44.566 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:00:44.669 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:00:44.670 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:00:44.718 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:00:44.809 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:00:54.796 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.052 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:00:55.062 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.065 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.067 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.077 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:00:55.078 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:00:55.291 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:00:55.300 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:55.311 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:00:55.322 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:00:55.323 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:00:55.470 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:00:55.479 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:00:55.511 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:00:55.515 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:00:55.527 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:00:55.531 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:00:55 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:00:55.593 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:00:55.598 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:00:55.612 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:00:55.634 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=06cb637f2f8742be9ca8e1e9f4f201da, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:00:55.679 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:00:55.927 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.083 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.090 -05:00 [INF] HTTP GET /health/ready responded 200 in 178.8170 ms +2026-11-12 11:00:56.095 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 489.9068ms +2026-11-12 11:00:56.176 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:56.979 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:00:56.986 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.988 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.989 -05:00 [INF] HTTP GET /healthz responded 200 in 2.7404 ms +2026-11-12 11:00:56.989 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.2101ms +2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100 +2026-11-12 11:00:57.123 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:00:57.125 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] HTTP GET /health/active responded 200 in 9.9527 ms +2026-11-12 11:00:57.134 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.6927ms +2026-11-12 11:01:03.308 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:03.320 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:06.656 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:06.656 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:09.600 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:09.600 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:12.498 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:12.498 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:15.396 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:15.397 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:15.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:18.262 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:18.262 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:18.263 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:21.018 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:01:21.018 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:21.019 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:23.754 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:01:23.755 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:23.756 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:26.591 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:01:26.591 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:26.592 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:29.394 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:01:29.395 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:29.395 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:34.579 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:34.620 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:34.646 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:37.084 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:37.085 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:37.086 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:39.623 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57513, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:01:42.053 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:42.053 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:45.283 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:45.283 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:48.393 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:48.393 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:53.343 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:53.343 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:53.812 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:53.812 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] HTTP GET /health/ready responded 200 in 4.6105 ms +2026-11-12 11:01:53.817 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.0122ms +2026-11-12 11:01:53.872 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:01:53.872 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.872 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.873 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5368 ms +2026-11-12 11:01:53.873 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.3164ms +2026-11-12 11:01:54.009 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:01:54.009 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] HTTP GET /health/active responded 200 in 2.2795 ms +2026-11-12 11:01:54.011 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.065ms +2026-11-12 11:01:59.916 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:59.916 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.0304 ms +2026-11-12 11:01:59.917 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.9945ms +2026-11-12 11:02:03.692 -05:00 [INF] Application is shutting down... +2026-11-12 11:02:03.748 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:02:03.778 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:02:03.786 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:02:03.796 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:02:03.797 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:02:03.797 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:02:03.809 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:02:04.034 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c928399145fa482fafea3f90f7d48b5d } +2026-11-12 11:02:04.713 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:02:04.713 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:02:04.716 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:02:04.729 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:02:04.732 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:02:04.733 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:02:04.752 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:02:04.759 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:02:04.815 -05:00 [INF] Remoting shut down +2026-11-12 11:02:04.816 -05:00 [INF] Remoting shut down. +2026-11-12 11:02:04.826 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:02:04.827 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:02:04.828 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-scripts-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-scripts-20261112.log new file mode 100644 index 000000000..bf2971b4b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-scripts-20261112.log @@ -0,0 +1,3 @@ +2026-11-12 10:58:44.978 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:00:55.491 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-serilog-selflog.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-serilog-selflog.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c3-serilog-selflog.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-otopcua-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-otopcua-20261112.log new file mode 100644 index 000000000..b0cfad1a8 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-otopcua-20261112.log @@ -0,0 +1,488 @@ +2026-11-12 10:57:58.157 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:57:58.270 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:57:59.161 -05:00 [INF] Starting remoting +2026-11-12 10:57:59.589 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.590 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.615 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:57:59.621 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:57:59.661 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:57:59.816 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:57:59.910 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:10.170 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.426 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:10.436 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.439 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.441 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.451 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:10.452 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:10.632 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:10.645 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:10.656 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:10.672 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — the LocalDb cache is empty; entering Steady (no revision). The first dispatch will fetch this node's configuration from central. +2026-11-12 10:58:10.673 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:10.674 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:11.000 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:11.254 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:11.394 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:11.401 -05:00 [INF] HTTP GET /health/ready responded 200 in 161.8323 ms +2026-11-12 10:58:11.406 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 505.0225ms +2026-11-12 10:58:11.521 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:12.303 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:12.310 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] HTTP GET /healthz responded 200 in 2.8941 ms +2026-11-12 10:58:12.313 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8312ms +2026-11-12 10:58:12.448 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:12.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] HTTP GET /health/active responded 200 in 9.4596 ms +2026-11-12 10:58:12.459 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4867ms +2026-11-12 10:58:15.937 -05:00 [INF] Application is shutting down... +2026-11-12 10:58:15.967 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:58:15.995 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:58:16.006 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:16.014 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:58:16.015 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:58:16.244 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1754985992] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = f453fb482e2a4cc09536c88707f98b17 } +2026-11-12 10:58:16.787 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:58:16.803 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:16.924 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:16.924 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:58:16.928 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:58:16.941 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:58:16.944 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:58:16.945 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:58:16.968 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:58:16.974 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:58:17.030 -05:00 [INF] Remoting shut down +2026-11-12 10:58:17.031 -05:00 [INF] Remoting shut down. +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:32.613 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:58:32.728 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:58:33.578 -05:00 [INF] Starting remoting +2026-11-12 10:58:34.005 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.006 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.030 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:58:34.036 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:58:34.075 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:58:34.229 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:58:34.320 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:44.305 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.559 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:44.569 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.572 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.574 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.584 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:44.585 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:44.760 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:44.774 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:44.786 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:44.794 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:44.795 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:44.954 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 10:58:44.961 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 10:58:44.997 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 10:58:45.001 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 10:58:45.014 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 10:58:45.033 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 3:58:44 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 10:58:45.093 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 10:58:45.099 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 10:58:45.113 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 10:58:45.136 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=e7d920e6e17c43bb85711750d59f0854, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 10:58:45.186 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:45.451 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:45.590 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:45.597 -05:00 [INF] HTTP GET /health/ready responded 200 in 160.9447 ms +2026-11-12 10:58:45.602 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 491.6043ms +2026-11-12 10:58:45.643 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:46.503 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:46.512 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] HTTP GET /healthz responded 200 in 3.6556 ms +2026-11-12 10:58:46.516 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 16.4441ms +2026-11-12 10:58:46.659 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:46.664 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] HTTP GET /health/active responded 200 in 10.5921 ms +2026-11-12 10:58:46.674 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 16.8728ms +2026-11-12 10:58:52.795 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:52.806 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:56.087 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:56.088 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:59.050 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:58:59.050 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:02.074 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:02.074 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:05.002 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:05.003 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:05.040 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:07.857 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:07.857 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:07.858 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:10.607 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 10:59:10.607 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:10.608 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:13.433 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 10:59:13.433 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:13.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:16.270 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 10:59:16.270 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:16.270 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:19.043 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 10:59:19.044 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:19.044 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:24.232 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:24.275 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:24.302 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:26.720 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:26.720 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:26.721 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:29.256 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57205, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 10:59:31.835 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:31.835 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:35.317 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:35.317 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:38.406 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:38.406 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:43.631 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:43.631 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:44.074 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:59:44.075 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.7827 ms +2026-11-12 10:59:44.077 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 3.4231ms +2026-11-12 10:59:44.116 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:59:44.117 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5555 ms +2026-11-12 10:59:44.117 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.0918ms +2026-11-12 10:59:44.249 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:59:44.249 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] HTTP GET /health/active responded 200 in 2.4103 ms +2026-11-12 10:59:44.251 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.1668ms +2026-11-12 10:59:47.377 -05:00 [INF] Application is shutting down... +2026-11-12 10:59:47.408 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:59:47.440 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:59:47.450 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:59:47.461 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:59:47.462 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:59:47.688 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c12fe40b115041619ed8ff864701ff1a } +2026-11-12 10:59:47.714 -05:00 [INF] Message [EndpointReport] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: EndpointReport { Node = 127.0.0.1:18801, Listening = True } +2026-11-12 10:59:47.795 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [4] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 3a9682efe48249e896910283aea2a86c } +2026-11-12 10:59:47.903 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:59:47.912 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:59:48.145 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [5] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 426681ac67d04dfb880643d3b64f7241 } +2026-11-12 10:59:48.365 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:59:48.365 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:59:48.369 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:59:48.382 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:59:48.384 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:59:48.386 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:59:48.405 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:59:48.412 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:59:48.469 -05:00 [INF] Remoting shut down +2026-11-12 10:59:48.470 -05:00 [INF] Remoting shut down. +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:59:48.483 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:43.090 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:00:43.210 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:00:44.063 -05:00 [INF] Starting remoting +2026-11-12 11:00:44.495 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.497 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.520 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:00:44.526 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:00:44.566 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:00:44.669 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:00:44.670 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:00:44.718 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:00:44.809 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:00:54.796 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.052 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:00:55.062 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.065 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.067 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.077 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:00:55.078 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:00:55.291 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:00:55.300 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:55.311 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:00:55.322 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:00:55.323 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:00:55.470 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:00:55.479 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:00:55.511 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:00:55.515 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:00:55.527 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:00:55.531 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:00:55 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:00:55.593 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:00:55.598 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:00:55.612 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:00:55.634 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=06cb637f2f8742be9ca8e1e9f4f201da, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:00:55.679 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:00:55.927 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.083 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.090 -05:00 [INF] HTTP GET /health/ready responded 200 in 178.8170 ms +2026-11-12 11:00:56.095 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 489.9068ms +2026-11-12 11:00:56.176 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:56.979 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:00:56.986 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.988 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.989 -05:00 [INF] HTTP GET /healthz responded 200 in 2.7404 ms +2026-11-12 11:00:56.989 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.2101ms +2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100 +2026-11-12 11:00:57.123 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:00:57.125 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] HTTP GET /health/active responded 200 in 9.9527 ms +2026-11-12 11:00:57.134 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.6927ms +2026-11-12 11:01:03.308 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:03.320 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:06.656 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:06.656 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:09.600 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:09.600 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:12.498 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:12.498 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:15.396 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:15.397 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:15.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:18.262 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:18.262 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:18.263 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:21.018 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:01:21.018 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:21.019 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:23.754 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:01:23.755 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:23.756 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:26.591 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:01:26.591 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:26.592 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:29.394 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:01:29.395 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:29.395 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:34.579 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:34.620 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:34.646 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:37.084 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:37.085 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:37.086 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:39.623 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57513, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:01:42.053 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:42.053 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:45.283 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:45.283 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:48.393 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:48.393 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:53.343 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:53.343 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:53.812 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:53.812 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] HTTP GET /health/ready responded 200 in 4.6105 ms +2026-11-12 11:01:53.817 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.0122ms +2026-11-12 11:01:53.872 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:01:53.872 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.872 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.873 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5368 ms +2026-11-12 11:01:53.873 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.3164ms +2026-11-12 11:01:54.009 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:01:54.009 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] HTTP GET /health/active responded 200 in 2.2795 ms +2026-11-12 11:01:54.011 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.065ms +2026-11-12 11:01:59.916 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:59.916 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.0304 ms +2026-11-12 11:01:59.917 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.9945ms +2026-11-12 11:02:03.692 -05:00 [INF] Application is shutting down... +2026-11-12 11:02:03.748 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:02:03.778 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:02:03.786 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:02:03.796 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:02:03.797 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:02:03.797 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:02:03.809 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:02:04.034 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c928399145fa482fafea3f90f7d48b5d } +2026-11-12 11:02:04.713 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:02:04.713 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:02:04.716 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:02:04.729 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:02:04.732 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:02:04.733 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:02:04.752 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:02:04.759 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:02:04.815 -05:00 [INF] Remoting shut down +2026-11-12 11:02:04.816 -05:00 [INF] Remoting shut down. +2026-11-12 11:02:04.826 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:02:04.827 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:02:04.828 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:20.124 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:03:20.239 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:03:21.095 -05:00 [INF] Starting remoting +2026-11-12 11:03:21.522 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:03:21.523 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:03:21.547 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:03:21.553 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:03:21.594 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:03:21.699 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:03:21.700 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:03:21.746 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:03:21.867 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:03:31.858 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:03:32.114 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:03:32.124 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:32.127 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:03:32.128 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:32.139 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:03:32.140 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:03:32.350 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:03:32.375 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:03:32.388 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:03:32.392 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:03:32.393 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:03:32.549 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:03:32.558 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:03:32.588 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:03:32.596 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:03:32.605 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:03:32.618 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:03:32 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:03:32.670 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:03:32.676 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:03:32.679 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:03:32.691 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:03:32.713 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=3ec716c3f0264cbd8abb4fe9838a6a19, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:03:32.911 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:33.071 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:33.078 -05:00 [INF] HTTP GET /health/ready responded 200 in 182.9260 ms +2026-11-12 11:03:33.084 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 481.8634ms +2026-11-12 11:03:33.228 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:03:34.006 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:03:34.013 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:34.015 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:34.015 -05:00 [INF] HTTP GET /healthz responded 200 in 2.9727 ms +2026-11-12 11:03:34.016 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8424ms +2026-11-12 11:03:34.055 -05:00 [INF] ScriptWorker[0] started, pid 25172 +2026-11-12 11:03:34.154 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:03:34.158 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:34.167 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:34.167 -05:00 [INF] HTTP GET /health/active responded 200 in 9.5034 ms +2026-11-12 11:03:34.167 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 14.9166ms +2026-11-12 11:03:40.415 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:03:40.426 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:03:43.736 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:03:43.736 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:03:46.690 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:03:46.690 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:03:49.684 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:03:49.684 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:03:52.574 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:03:52.575 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:52.610 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:03:55.374 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:03:55.374 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:55.375 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:03:58.082 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:03:58.082 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:58.083 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:00.824 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:04:00.824 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:00.825 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:03.655 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:04:03.656 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:03.656 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:06.452 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:04:06.452 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:06.452 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:11.890 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:04:11.934 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:04:11.962 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:04:14.437 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:04:14.438 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:04:14.438 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:04:16.986 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57889, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:04:19.495 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:04:19.495 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:04:22.759 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:04:22.759 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:04:25.869 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:04:25.869 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:04:30.938 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:04:30.938 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:04:31.383 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:04:31.383 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.388 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.388 -05:00 [INF] HTTP GET /health/ready responded 200 in 5.0444 ms +2026-11-12 11:04:31.388 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.5337ms +2026-11-12 11:04:31.426 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:04:31.427 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.427 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.427 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5628 ms +2026-11-12 11:04:31.427 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.1459ms +2026-11-12 11:04:31.557 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:04:31.558 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.560 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.560 -05:00 [INF] HTTP GET /health/active responded 200 in 2.3622 ms +2026-11-12 11:04:31.560 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.069ms +2026-11-12 11:04:38.087 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:04:38.087 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:38.088 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:38.088 -05:00 [INF] HTTP GET /health/ready responded 200 in 0.9771 ms +2026-11-12 11:04:38.088 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.984ms +2026-11-12 11:04:41.970 -05:00 [INF] Application is shutting down... +2026-11-12 11:04:42.027 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:04:42.056 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:04:42.065 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:04:42.075 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:04:42.076 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:04:42.293 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = ec26a9d0db564518bab8599484cf76fb } +2026-11-12 11:04:42.616 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:04:42.625 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:04:42.850 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = db256ae3a51b4315a0d41c82a6f557b8 } +2026-11-12 11:04:42.987 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:04:42.987 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:04:42.991 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:04:43.005 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:04:43.008 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:04:43.009 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:04:43.029 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:04:43.035 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:04:43.091 -05:00 [INF] Remoting shut down +2026-11-12 11:04:43.092 -05:00 [INF] Remoting shut down. +2026-11-12 11:04:43.103 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:04:43.103 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:04:43.104 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-scripts-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-scripts-20261112.log new file mode 100644 index 000000000..c929ed78a --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-scripts-20261112.log @@ -0,0 +1,4 @@ +2026-11-12 10:58:44.978 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:00:55.491 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:03:32.573 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-serilog-selflog.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-serilog-selflog.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c4-serilog-selflog.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-otopcua-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-otopcua-20261112.log new file mode 100644 index 000000000..c03a77618 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-otopcua-20261112.log @@ -0,0 +1,631 @@ +2026-11-12 10:57:58.157 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:57:58.270 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:57:59.161 -05:00 [INF] Starting remoting +2026-11-12 10:57:59.589 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.590 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:57:59.615 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:57:59.621 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:57:59.661 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:57:59.766 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:57:59.816 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:57:59.910 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:10.170 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.426 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:10.436 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.439 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:10.441 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:10.451 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:10.452 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:10.632 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:10.645 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:10.656 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:10.672 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — the LocalDb cache is empty; entering Steady (no revision). The first dispatch will fetch this node's configuration from central. +2026-11-12 10:58:10.673 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:10.674 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:11.000 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:11.254 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:11.394 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:11.401 -05:00 [INF] HTTP GET /health/ready responded 200 in 161.8323 ms +2026-11-12 10:58:11.406 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 505.0225ms +2026-11-12 10:58:11.521 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:12.303 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:12.310 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.313 -05:00 [INF] HTTP GET /healthz responded 200 in 2.8941 ms +2026-11-12 10:58:12.313 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8312ms +2026-11-12 10:58:12.448 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:12.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:12.458 -05:00 [INF] HTTP GET /health/active responded 200 in 9.4596 ms +2026-11-12 10:58:12.459 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4867ms +2026-11-12 10:58:15.937 -05:00 [INF] Application is shutting down... +2026-11-12 10:58:15.967 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:58:15.995 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:58:16.006 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:16.014 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:58:16.015 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:58:16.244 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1754985992] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = f453fb482e2a4cc09536c88707f98b17 } +2026-11-12 10:58:16.787 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:58:16.803 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:16.924 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:16.924 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:58:16.928 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:58:16.941 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:58:16.944 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:58:16.945 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:58:16.968 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:58:16.974 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:58:17.030 -05:00 [INF] Remoting shut down +2026-11-12 10:58:17.031 -05:00 [INF] Remoting shut down. +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:17.042 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:32.613 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 10:58:32.728 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 10:58:33.578 -05:00 [INF] Starting remoting +2026-11-12 10:58:34.005 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.006 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:58:34.030 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 10:58:34.036 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 10:58:34.075 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 10:58:34.181 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 10:58:34.229 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 10:58:34.320 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 10:58:44.305 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.559 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 10:58:44.569 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.572 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:58:44.574 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:58:44.584 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 10:58:44.585 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 10:58:44.760 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:58:44.774 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:44.786 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 10:58:44.794 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 10:58:44.795 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 10:58:44.954 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 10:58:44.961 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 10:58:44.997 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 10:58:45.001 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 10:58:45.014 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 10:58:45.033 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 3:58:44 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 10:58:45.093 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 10:58:45.099 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 10:58:45.113 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 10:58:45.136 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=e7d920e6e17c43bb85711750d59f0854, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 10:58:45.186 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:58:45.451 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:45.590 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:45.597 -05:00 [INF] HTTP GET /health/ready responded 200 in 160.9447 ms +2026-11-12 10:58:45.602 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 491.6043ms +2026-11-12 10:58:45.643 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:58:46.503 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:58:46.512 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.515 -05:00 [INF] HTTP GET /healthz responded 200 in 3.6556 ms +2026-11-12 10:58:46.516 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 16.4441ms +2026-11-12 10:58:46.659 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:58:46.664 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:58:46.673 -05:00 [INF] HTTP GET /health/active responded 200 in 10.5921 ms +2026-11-12 10:58:46.674 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 16.8728ms +2026-11-12 10:58:52.795 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:52.806 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:56.087 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:58:56.088 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:58:59.050 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:58:59.050 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:02.074 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:02.074 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:05.002 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:05.003 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:05.040 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:07.857 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 10:59:07.857 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:07.858 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:10.607 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 10:59:10.607 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:10.608 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:13.433 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 10:59:13.433 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:13.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:16.270 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 10:59:16.270 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:16.270 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:19.043 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 10:59:19.044 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 10:59:19.044 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 10:59:24.232 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:24.275 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:24.302 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:26.720 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 10:59:26.720 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 10:59:26.721 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 10:59:29.256 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57205, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 10:59:31.835 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:31.835 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:35.317 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:35.317 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:38.406 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 10:59:38.406 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 10:59:43.631 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 10:59:43.631 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 10:59:44.074 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 10:59:44.075 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.077 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.7827 ms +2026-11-12 10:59:44.077 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 3.4231ms +2026-11-12 10:59:44.116 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 10:59:44.117 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.117 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5555 ms +2026-11-12 10:59:44.117 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.0918ms +2026-11-12 10:59:44.249 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 10:59:44.249 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 10:59:44.251 -05:00 [INF] HTTP GET /health/active responded 200 in 2.4103 ms +2026-11-12 10:59:44.251 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.1668ms +2026-11-12 10:59:47.377 -05:00 [INF] Application is shutting down... +2026-11-12 10:59:47.408 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 10:59:47.440 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 10:59:47.450 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 10:59:47.461 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 10:59:47.462 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 10:59:47.688 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c12fe40b115041619ed8ff864701ff1a } +2026-11-12 10:59:47.714 -05:00 [INF] Message [EndpointReport] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: EndpointReport { Node = 127.0.0.1:18801, Listening = True } +2026-11-12 10:59:47.795 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [4] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 3a9682efe48249e896910283aea2a86c } +2026-11-12 10:59:47.903 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 10:59:47.912 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 10:59:48.145 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1174059057] to [akka://otopcua/deadLetters] was not delivered. [5] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 426681ac67d04dfb880643d3b64f7241 } +2026-11-12 10:59:48.365 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 10:59:48.365 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 10:59:48.369 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 10:59:48.382 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 10:59:48.384 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 10:59:48.386 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 10:59:48.405 -05:00 [INF] Shutting down remote daemon. +2026-11-12 10:59:48.412 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 10:59:48.469 -05:00 [INF] Remoting shut down +2026-11-12 10:59:48.470 -05:00 [INF] Remoting shut down. +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 10:59:48.481 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 10:59:48.483 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:43.090 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:00:43.210 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:00:44.063 -05:00 [INF] Starting remoting +2026-11-12 11:00:44.495 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.497 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:00:44.520 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:00:44.526 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:00:44.566 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:00:44.669 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:00:44.670 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:00:44.718 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:00:44.809 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:00:54.796 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.052 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:00:55.062 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.065 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:00:55.067 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:00:55.077 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:00:55.078 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:00:55.291 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:00:55.300 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:55.311 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:00:55.322 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:00:55.323 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:00:55.470 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:00:55.479 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:00:55.511 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:00:55.515 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:00:55.527 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:00:55.531 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:00:55 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:00:55.593 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:00:55.598 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:00:55.612 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:00:55.634 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=06cb637f2f8742be9ca8e1e9f4f201da, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:00:55.679 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:00:55.927 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.083 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.090 -05:00 [INF] HTTP GET /health/ready responded 200 in 178.8170 ms +2026-11-12 11:00:56.095 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 489.9068ms +2026-11-12 11:00:56.176 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:00:56.979 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:00:56.986 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:56.988 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:56.989 -05:00 [INF] HTTP GET /healthz responded 200 in 2.7404 ms +2026-11-12 11:00:56.989 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.2101ms +2026-11-12 11:00:57.027 -05:00 [INF] ScriptWorker[0] started, pid 25100 +2026-11-12 11:00:57.123 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:00:57.125 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:00:57.134 -05:00 [INF] HTTP GET /health/active responded 200 in 9.9527 ms +2026-11-12 11:00:57.134 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.6927ms +2026-11-12 11:01:03.308 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:03.320 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:06.656 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:06.656 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:09.600 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:09.600 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:12.498 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:12.498 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:15.396 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:15.397 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:15.434 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:18.262 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:01:18.262 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:18.263 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:21.018 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:01:21.018 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:21.019 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:23.754 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:01:23.755 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:23.756 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:26.591 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:01:26.591 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:26.592 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:29.394 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:01:29.395 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:01:29.395 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:01:34.579 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:34.620 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:34.646 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:37.084 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:01:37.085 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:01:37.086 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:01:39.623 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57513, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:01:42.053 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:42.053 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:45.283 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:45.283 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:48.393 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:01:48.393 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:01:53.343 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:01:53.343 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:01:53.812 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:53.812 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.816 -05:00 [INF] HTTP GET /health/ready responded 200 in 4.6105 ms +2026-11-12 11:01:53.817 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.0122ms +2026-11-12 11:01:53.872 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:01:53.872 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:53.872 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:53.873 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5368 ms +2026-11-12 11:01:53.873 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.3164ms +2026-11-12 11:01:54.009 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:01:54.009 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:54.011 -05:00 [INF] HTTP GET /health/active responded 200 in 2.2795 ms +2026-11-12 11:01:54.011 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.065ms +2026-11-12 11:01:59.916 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:01:59.916 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:01:59.917 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.0304 ms +2026-11-12 11:01:59.917 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.9945ms +2026-11-12 11:02:03.692 -05:00 [INF] Application is shutting down... +2026-11-12 11:02:03.748 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:02:03.778 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:02:03.786 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:02:03.796 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:02:03.797 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:02:03.797 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:02:03.809 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:02:04.034 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#52802219] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = c928399145fa482fafea3f90f7d48b5d } +2026-11-12 11:02:04.713 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:02:04.713 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:02:04.716 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:02:04.729 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:02:04.732 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:02:04.733 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:02:04.752 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:02:04.759 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:02:04.815 -05:00 [INF] Remoting shut down +2026-11-12 11:02:04.816 -05:00 [INF] Remoting shut down. +2026-11-12 11:02:04.826 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:02:04.827 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:02:04.828 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:20.124 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:03:20.239 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:03:21.095 -05:00 [INF] Starting remoting +2026-11-12 11:03:21.522 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:03:21.523 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:03:21.547 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:03:21.553 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:03:21.594 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:03:21.699 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:03:21.700 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:03:21.746 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:03:21.867 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:03:31.858 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:03:32.114 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:03:32.124 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:32.127 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:03:32.128 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:03:32.139 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:03:32.140 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:03:32.350 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:03:32.375 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:03:32.388 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:03:32.392 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:03:32.393 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:03:32.549 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:03:32.558 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:03:32.588 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:03:32.596 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:03:32.605 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:03:32.618 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:03:32 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:03:32.670 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:03:32.676 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:03:32.679 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:03:32.691 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:03:32.713 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=3ec716c3f0264cbd8abb4fe9838a6a19, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:03:32.911 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:33.071 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:33.078 -05:00 [INF] HTTP GET /health/ready responded 200 in 182.9260 ms +2026-11-12 11:03:33.084 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 481.8634ms +2026-11-12 11:03:33.228 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:03:34.006 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:03:34.013 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:34.015 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:34.015 -05:00 [INF] HTTP GET /healthz responded 200 in 2.9727 ms +2026-11-12 11:03:34.016 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.8424ms +2026-11-12 11:03:34.055 -05:00 [INF] ScriptWorker[0] started, pid 25172 +2026-11-12 11:03:34.154 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:03:34.158 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:03:34.167 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:03:34.167 -05:00 [INF] HTTP GET /health/active responded 200 in 9.5034 ms +2026-11-12 11:03:34.167 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 14.9166ms +2026-11-12 11:03:40.415 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:03:40.426 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:03:43.736 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:03:43.736 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:03:46.690 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:03:46.690 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:03:49.684 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:03:49.684 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:03:52.574 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:03:52.575 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:52.610 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:03:55.374 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:03:55.374 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:55.375 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:03:58.082 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:03:58.082 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:03:58.083 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:00.824 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:04:00.824 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:00.825 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:03.655 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:04:03.656 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:03.656 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:06.452 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:04:06.452 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:04:06.452 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:04:11.890 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:04:11.934 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:04:11.962 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:04:14.437 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:04:14.438 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:04:14.438 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:04:16.986 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:57889, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:04:19.495 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:04:19.495 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:04:22.759 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:04:22.759 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:04:25.869 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:04:25.869 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:04:30.938 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:04:30.938 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:04:31.383 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:04:31.383 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.388 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.388 -05:00 [INF] HTTP GET /health/ready responded 200 in 5.0444 ms +2026-11-12 11:04:31.388 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.5337ms +2026-11-12 11:04:31.426 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:04:31.427 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.427 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.427 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5628 ms +2026-11-12 11:04:31.427 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.1459ms +2026-11-12 11:04:31.557 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:04:31.558 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:31.560 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:31.560 -05:00 [INF] HTTP GET /health/active responded 200 in 2.3622 ms +2026-11-12 11:04:31.560 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.069ms +2026-11-12 11:04:38.087 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:04:38.087 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:04:38.088 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:04:38.088 -05:00 [INF] HTTP GET /health/ready responded 200 in 0.9771 ms +2026-11-12 11:04:38.088 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.984ms +2026-11-12 11:04:41.970 -05:00 [INF] Application is shutting down... +2026-11-12 11:04:42.027 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:04:42.056 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:04:42.065 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:04:42.075 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:04:42.076 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:04:42.293 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = ec26a9d0db564518bab8599484cf76fb } +2026-11-12 11:04:42.616 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:04:42.625 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:04:42.850 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#410403360] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = db256ae3a51b4315a0d41c82a6f557b8 } +2026-11-12 11:04:42.987 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:04:42.987 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:04:42.991 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:04:43.005 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:04:43.008 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:04:43.009 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:04:43.029 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:04:43.035 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:04:43.091 -05:00 [INF] Remoting shut down +2026-11-12 11:04:43.092 -05:00 [INF] Remoting shut down. +2026-11-12 11:04:43.103 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:04:43.103 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:04:43.104 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:09:08.210 -05:00 [INF] OtOpcUa.Host starting with roles=[driver] (admin=false, driver=true) source="Configured" +2026-11-12 11:09:08.332 -05:00 [INF] Log-pipeline self-check marker +2026-11-12 11:09:09.197 -05:00 [INF] Starting remoting +2026-11-12 11:09:09.628 -05:00 [INF] Remoting started; listening on addresses : [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:09:09.629 -05:00 [INF] Remoting now listens on addresses: [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:09:09.654 -05:00 [WRN] The `auto-down-unreachable-after` feature has been deprecated as of Akka.NET v1.5.2 and will be removed in a future version of Akka.NET. The `keep-majority` split brain resolver will be used instead. See https://getakka.net/articles/cluster/split-brain-resolver.html for more details. +2026-11-12 11:09:09.660 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Starting up... +2026-11-12 11:09:09.701 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Started up successfully +2026-11-12 11:09:09.802 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Node [akka.tcp://otopcua@127.0.0.1:18801] is JOINING itself (with roles [driver], version [1.0.0]) and forming a new cluster +2026-11-12 11:09:09.802 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - is the new leader among reachable nodes (more leaders may exist) +2026-11-12 11:09:09.848 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Up"] +2026-11-12 11:09:09.948 -05:00 [INF] passive node — no peer configured, sync initiator idle +2026-11-12 11:09:19.959 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:09:20.215 -05:00 [INF] OPC UA server started on opc.tcp://localhost:14841 +2026-11-12 11:09:20.225 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:09:20.229 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:09:20.230 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:09:20.241 -05:00 [INF] AclRevalidationTimer: live monitored items will be re-authorized every "00:01:00" +2026-11-12 11:09:20.242 -05:00 [INF] OtOpcUaServerHostedService: SDK started, address-space + ServiceLevel sinks bound +2026-11-12 11:09:20.445 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:09:20.456 -05:00 [INF] Singleton manager started singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:09:20.468 -05:00 [INF] ClusterSingletonManager state change ["Start" -> "Oldest"] Akka.Cluster.Tools.Singleton.Uninitialized +2026-11-12 11:09:20.474 -05:00 [INF] Now listening on: http://127.0.0.1:18800 +2026-11-12 11:09:20.475 -05:00 [INF] Application started. Hosting environment: Production; Content root path: C:\OtOpcUa800\OtOpcUa\ +2026-11-12 11:09:20.624 -05:00 [INF] DriverHost 127.0.0.1:18801: applied 1 Equipment VirtualTag(s) to the VirtualTag host +2026-11-12 11:09:20.632 -05:00 [INF] DriverHost 127.0.0.1:18801: FetchAndCache boot — restored served state for deployment ff6f87397bea46e1869bdba638cc0fa3 (rev 7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8) from the LocalDb pointer. +2026-11-12 11:09:20.666 -05:00 [INF] OpcUaPublish: data-plane authority generation 1 installed (cluster=(single-cluster), revision=7b8ae9f79d2c, keys=3, grants=2, resolvedScopes=0) +2026-11-12 11:09:20.670 -05:00 [WRN] OpcUaPublish: this node has no cluster identity, so NO permission trie was built for its 2 grant(s) — with Security:Acl:Enabled every scoped decision here will be denied +2026-11-12 11:09:20.682 -05:00 [INF] AddressSpaceApplier: applied plan (kind="PureAdd", added=3, removed=0, changed=0, surgicalRawTags=0, unsRefDeltas=0, renamedFolders=0, rebuild=false) +2026-11-12 11:09:20.689 -05:00 [INF] Message [ScriptLogEntry] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1026834802] to [akka://otopcua/deadLetters] was not delivered. [1] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: ScriptLogEntry { ScriptId = unknown, Level = Information, Message = ScriptedAlarmEngine loaded 0 alarm(s), TimestampUtc = 11/12/2026 4:09:20 PM, VirtualTagId = , AlarmId = , EquipmentId = } +2026-11-12 11:09:20.747 -05:00 [INF] AddressSpaceApplier: hierarchy materialised (areas=1, lines=1, equipment=1, failed=0) +2026-11-12 11:09:20.753 -05:00 [INF] AddressSpaceApplier: raw subtree materialised (containers=1, tags=0, subset=true, failed=0) +2026-11-12 11:09:20.763 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:09:20.767 -05:00 [INF] AddressSpaceApplier: equipment virtualtags materialised (vtags=1, equipment=1, subset=true, failed=0) +2026-11-12 11:09:20.790 -05:00 [INF] OpcUaPublish: applied rebuild (correlation=0563adb238d34913a05238f255a4fdc9, added=3, removed=0, changed=0, rebuild=false) +2026-11-12 11:09:21.002 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:09:21.163 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:09:21.170 -05:00 [INF] HTTP GET /health/ready responded 200 in 185.1603 ms +2026-11-12 11:09:21.175 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 489.7166ms +2026-11-12 11:09:21.327 -05:00 [INF] Singleton identified at [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:09:22.068 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:09:22.075 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:09:22.077 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:09:22.077 -05:00 [INF] HTTP GET /healthz responded 200 in 2.7361 ms +2026-11-12 11:09:22.078 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 13.3215ms +2026-11-12 11:09:22.122 -05:00 [INF] ScriptWorker[0] started, pid 23348 +2026-11-12 11:09:22.212 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:09:22.214 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:09:22.223 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:09:22.223 -05:00 [INF] HTTP GET /health/active responded 200 in 9.6275 ms +2026-11-12 11:09:22.223 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 12.4026ms +2026-11-12 11:09:28.274 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:09:28.285 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:09:31.597 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:09:31.598 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:09:34.542 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:09:34.542 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:09:37.485 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:09:37.486 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:09:40.461 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:09:40.462 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:40.499 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:43.323 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 26cf8fd78b8f5a2c +2026-11-12 11:09:43.323 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:43.324 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:46.216 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 38ae70298de38a3c +2026-11-12 11:09:46.216 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:46.217 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:49.028 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id a100183b8f666a86 +2026-11-12 11:09:49.028 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:49.028 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:51.863 -05:00 [INF] ApiKeyAuth: denied — secret mismatch for key id 1c902a166fcda18c +2026-11-12 11:09:51.864 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:51.864 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:54.725 -05:00 [INF] ApiKeyAuth: denied — no enabled, unexpired key with id 92f7cae22c24a02d +2026-11-12 11:09:54.725 -05:00 [INF] OpcUaApplicationHost: UserName auth denied for apikey: Invalid API key. +2026-11-12 11:09:54.725 -05:00 [WRN] SERVER - Service Fault Occurred. Reason=BadIdentityTokenRejected +2026-11-12 11:09:59.920 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:09:59.961 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:09:59.987 -05:00 [ERR] ChannelId 24: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:10:02.436 -05:00 [ERR] Certificate [Subject=CN=Gate800Client, Thumbprint=E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8, NotBefore=2026-11-10, NotAfter=2027-11-10, KeyAlgorithm=1.2.840.113549.1.1.1] validation failed with suppressible errors but was rejected. Reason=Id: BadCertificateUntrusted +SymbolicId: BadCertificateUntrusted +Description: Certificate is not trusted.. +2026-11-12 11:10:02.437 -05:00 [ERR] Could not verify security on OpenSecureChannel request. +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +[801A0000] (BadCertificateUntrusted) 'BadCertificateInvalid' +2026-11-12 11:10:02.437 -05:00 [ERR] ChannelId 26: ForceChannelFault due to Could not verify security on OpenSecureChannel request.. +2026-11-12 11:10:04.993 -05:00 [ERR] TCPSERVERCHANNEL ForceChannelFault Transport=[::1]:58616, ChannelId=28, TokenId=1, Reason=[80AE0000] (BadConnectionClosed) 'Remote side closed the connection.' +2026-11-12 11:10:07.459 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:10:07.459 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:10:10.717 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:10:10.717 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:10:13.830 -05:00 [INF] ApiKeyAuth: granted key gate800-enabled (1c902a166fcda18c) as principal gate800-enabled with roles [] +2026-11-12 11:10:13.830 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-enabled () +2026-11-12 11:10:19.145 -05:00 [INF] ApiKeyAuth: granted key gate800-short (26cf8fd78b8f5a2c) as principal gate800-short with roles [] +2026-11-12 11:10:19.145 -05:00 [INF] OpcUaApplicationHost: UserName auth granted for apikey as gate800-short () +2026-11-12 11:10:19.591 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:10:19.592 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:10:19.596 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:10:19.596 -05:00 [INF] HTTP GET /health/ready responded 200 in 4.5408 ms +2026-11-12 11:10:19.596 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 6.0608ms +2026-11-12 11:10:19.636 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/healthz - null null +2026-11-12 11:10:19.637 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:10:19.637 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:10:19.637 -05:00 [INF] HTTP GET /healthz responded 200 in 0.5523 ms +2026-11-12 11:10:19.637 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/healthz - 200 null text/plain 1.1057ms +2026-11-12 11:10:19.771 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/active - null null +2026-11-12 11:10:19.772 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:10:19.774 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:10:19.774 -05:00 [INF] HTTP GET /health/active responded 200 in 2.6703 ms +2026-11-12 11:10:19.774 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/active - 200 null application/json; charset=utf-8 3.3947ms +2026-11-12 11:10:25.450 -05:00 [INF] Request starting HTTP/1.1 GET http://127.0.0.1:18800/health/ready - null null +2026-11-12 11:10:25.450 -05:00 [INF] Executing endpoint 'Health checks' +2026-11-12 11:10:25.451 -05:00 [INF] Executed endpoint 'Health checks' +2026-11-12 11:10:25.451 -05:00 [INF] HTTP GET /health/ready responded 200 in 1.0648 ms +2026-11-12 11:10:25.451 -05:00 [INF] Request finished HTTP/1.1 GET http://127.0.0.1:18800/health/ready - 200 null application/json; charset=utf-8 1.7834ms +2026-11-12 11:10:29.134 -05:00 [INF] Application is shutting down... +2026-11-12 11:10:29.191 -05:00 [INF] CoordinatedShutdown invoked due to [Reason:Akka.Actor.CoordinatedShutdown+ClrExitReason]. Exiting with [ExitCode:0]. +2026-11-12 11:10:29.221 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Marked address [akka.tcp://otopcua@127.0.0.1:18801] as ["Leaving"] +2026-11-12 11:10:29.230 -05:00 [INF] Exited [akka.tcp://otopcua@127.0.0.1:18801] +2026-11-12 11:10:29.241 -05:00 [INF] "Oldest" observed OldestChanged: [akka.tcp://otopcua@127.0.0.1:18801 -> null] +2026-11-12 11:10:29.241 -05:00 [INF] ClusterSingletonManager state change ["Oldest" -> "WasOldest"] Akka.Cluster.Tools.Singleton.OldestData +2026-11-12 11:10:29.465 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1026834802] to [akka://otopcua/deadLetters] was not delivered. [2] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = a63492e046c8489aa36b06b2ee4fb20f } +2026-11-12 11:10:29.825 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Leader is moving node [akka.tcp://otopcua@127.0.0.1:18801] to ["Exiting"] +2026-11-12 11:10:29.842 -05:00 [WRN] ClusterSingletonProxy failed to find an associated singleton named [redundancy-state] in role [driver] after 30 seconds. +2026-11-12 11:10:30.067 -05:00 [INF] Message [RedundancyStateChanged] wrapped in [$DeadLetterWithNoSubscribers] from [akka://otopcua/system/distributedPubSubMediator#1026834802] to [akka://otopcua/deadLetters] was not delivered. [3] dead letters encountered. If this is not an expected behavior then [akka://otopcua/deadLetters] may have terminated unexpectedly. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'. Message content: RedundancyStateChanged { Nodes = System.Collections.Generic.List`1[ZB.MOM.WW.OtOpcUa.Commons.Messages.Redundancy.NodeRedundancyState], CorrelationId = 774d2cef3a3b42bf867ecbcda4650fe7 } +2026-11-12 11:10:30.152 -05:00 [INF] Singleton manager stopping singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] +2026-11-12 11:10:30.152 -05:00 [INF] ClusterSingletonManager state change ["WasOldest" -> "Stopping"] Akka.Cluster.Tools.Singleton.WasOldestData +2026-11-12 11:10:30.156 -05:00 [INF] Singleton actor [akka://otopcua/user/redundancy-state/redundancy-state] was terminated +2026-11-12 11:10:30.169 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Exiting completed. +2026-11-12 11:10:30.171 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Shutting down... +2026-11-12 11:10:30.173 -05:00 [INF] Cluster Node [akka.tcp://otopcua@127.0.0.1:18801] - Successfully shut down +2026-11-12 11:10:30.193 -05:00 [INF] Shutting down remote daemon. +2026-11-12 11:10:30.199 -05:00 [INF] Remote daemon shut down; proceeding with flushing remote transports. +2026-11-12 11:10:30.255 -05:00 [INF] Remoting shut down +2026-11-12 11:10:30.256 -05:00 [INF] Remoting shut down. +2026-11-12 11:10:30.267 -05:00 [INF] OtOpcUaNodeManager: advertising 0 history aggregate function(s) for historian NullHistorianDataSource: +2026-11-12 11:10:30.268 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } +2026-11-12 11:10:30.269 -05:00 [INF] OtOpcUaNodeManager: advertising history capabilities for historian NullHistorianDataSource (updater none): HistoryCapabilityFlags { AccessHistoryData = False, AccessHistoryEvents = False, ServerTimestampSupported = False, InsertData = False, ReplaceData = False, UpdateData = False, DeleteRaw = False, DeleteAtTime = False } + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-scripts-20261112.log b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-scripts-20261112.log new file mode 100644 index 000000000..b7e1f6b5e --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-scripts-20261112.log @@ -0,0 +1,5 @@ +2026-11-12 10:58:44.978 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:00:55.491 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:03:32.573 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) +2026-11-12 11:09:20.647 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s) + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-serilog-selflog.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-serilog-selflog.txt new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/log-c5-serilog-selflog.txt @@ -0,0 +1 @@ + diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-cli.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-cli.txt new file mode 100644 index 000000000..d1c9479d0 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-cli.txt @@ -0,0 +1,241 @@ +a58275640773dc3ff06ceafad752fd399e4ed7cef93039354b7eb06a126590ff BitFaster.Caching.dll +af06268aba8215c17b300fe8ec81bbef8d9982b5958a3291563f504537ce844d CliFx.dll +febbda76f97e6c1b13d03da160cb0b65bb441d67e2d486e1f2bc46eba50e9854 Microsoft.Bcl.TimeProvider.dll +d8ea1fbbaafdc9734420131c5d1f4624826e411bad3e51d3eb4fb95ab154f66f Microsoft.CSharp.dll +70e4b89978ce57ef87b28f4921f3140c383b04aa96e7f3bdb3c4ebb898fd8a72 Microsoft.DiaSymReader.Native.amd64.dll +a7e80a5ed7efaaa21da13993a01be345a3221ce92422c2cb33655399a357dc6f Microsoft.Extensions.AmbientMetadata.Application.dll +b99d010d6b9e5bb863399959d6140bc59ed29ef921957bea3f666ada7995aa50 Microsoft.Extensions.Compliance.Abstractions.dll +fb45286fa39f58b9e74b6346e31034e00031170169ee11fd0a15f99b6dca0b56 Microsoft.Extensions.Configuration.Abstractions.dll +cdb9894a560842062c820e6335c445351bba26fa92e27b3e703ad07e977c8227 Microsoft.Extensions.Configuration.Binder.dll +c11796ac536b45b6028527bb9543607f6a5fca98b1784339226d68cb98705333 Microsoft.Extensions.Configuration.dll +da04edc338d5aa0f38a1f5fa5ff3ee7e36affe9c961daf3ea724a428bd746bc6 Microsoft.Extensions.DependencyInjection.Abstractions.dll +a73a6c6404212d70a80f8cccde2bc527976f9fcb693360f6cf32e9b2d38c9a8b Microsoft.Extensions.DependencyInjection.AutoActivation.dll +2d0e268bf76b4ce36a55ebb2767354db956c6660de65d6cccfc35c957fb12cfc Microsoft.Extensions.DependencyInjection.dll +623879199a4d98248dbce917e8b2c11b1f5eff24a01cb3b50d772461566dbad4 Microsoft.Extensions.Diagnostics.Abstractions.dll +476e2c7298b102b6cfce2d6ae2acad52ce7248d4511f36d42ce35a77fde1df55 Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll +c2b5e806a61d40ce428764647e8c2bcad20283a3c87f081ff483923ed113aaa5 Microsoft.Extensions.Diagnostics.dll +0ad9800893013d1e11c6b5afc6ef8a3fc0f14d38fa80bf5d63485fc70f848216 Microsoft.Extensions.FileProviders.Abstractions.dll +37c244f5685ca031be74a49bd23b2634588235f672f3a0b0b352ca8f6f6c3887 Microsoft.Extensions.Hosting.Abstractions.dll +347d266abd3c7376b56ab7b10b36510abe2fe3a36e0cda5e7ad0fd668f5f8102 Microsoft.Extensions.Http.Diagnostics.dll +eb573ea6c8f24d2178d733c1f7f6fdf2856056c6aa5322f667d685afdd20afbb Microsoft.Extensions.Http.Resilience.dll +5f1f986dda7614d800aac232d54ef229c7e557c54a70b060d71752897e26c9bd Microsoft.Extensions.Http.dll +7c242f8ca612fa1acc61f78efd5f8c89e01bd0bd47dc4ecc65e0e6e24f1a1668 Microsoft.Extensions.Logging.Abstractions.dll +10465e68c4431d3fd790911b56fcd3cfca89dfb4b0ba75d1affd970892824b2f Microsoft.Extensions.Logging.Configuration.dll +05b76234f2a5eb945b268ced706cb4d81446778ea6bd6910298b5e9111170b4a Microsoft.Extensions.Logging.dll +634cca4d69263df34f856a45d6f0eea0fbd82929ba410718254bdbdb03e12b70 Microsoft.Extensions.ObjectPool.dll +460a4ac4770f3e134454076aaf02a4774a25a40e03e3cefbd5bc4c5f5a70af9f Microsoft.Extensions.Options.ConfigurationExtensions.dll +b4ff561da6a7b11b68341f9fd32cab3f8b23cdd8b40332b9fd8bed73a9ee7de3 Microsoft.Extensions.Options.dll +67642533eb87e8dadeb9026de59ff4b66cc9bf35c0cfbedfef7b79bc6d8b30bc Microsoft.Extensions.Primitives.dll +ef993eca52f7d1dfa47d34678c4d4d69ad35e4052797f679a2f6fec2eea820ef Microsoft.Extensions.Resilience.dll +052ae9f51b926b0a61b06081eebca430c603ca41af463fa925aba4434d0b4628 Microsoft.Extensions.Telemetry.Abstractions.dll +7cea61a2885a8fef83e85dc3615a9e8add8748cec129e45e7cf4240cce61528b Microsoft.Extensions.Telemetry.dll +578203d4915aa43283a3d6fa1083f4b80f333ef544e39ff0fcfdada1b7499a7d Microsoft.VisualBasic.Core.dll +95aa41f885965447a62b59f1b3ce1677300c51c009048c8c677b961e98e99a72 Microsoft.VisualBasic.dll +637adb956e9e80549239f1707db3885683504efbfc2ed8ea93a3d187ef53789c Microsoft.Win32.Primitives.dll +143a613fc7c87e09c02cac0cc1469f850120bed98c5a1602ad84fc42b6c1ae63 Microsoft.Win32.Registry.dll +620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd Opc.Ua.Client.dll +6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7 Opc.Ua.Configuration.dll +51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e Opc.Ua.Core.Schema.dll +a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96 Opc.Ua.Core.Types.dll +9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a Opc.Ua.Core.dll +7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0 Opc.Ua.Security.Certificates.dll +c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1 Opc.Ua.Types.dll +37762ea6fcf05154685b0a616461705c837c2f07d98e4037dc3a0e4b4c186ea5 Polly.Core.dll +8adac7a20cd056b9a8623efb6e6f9b99a82e18d3c7b7f6c788f7fc4b20ce5f18 Polly.Extensions.dll +afe3042cd4062438857d42880623845f32575375f460fd1ac07f705ea0211804 Polly.RateLimiting.dll +cd84c110a96a28b969f9b75873801ded483ff8e2396507e2a53ab977584f39c6 Serilog.Sinks.Console.dll +e6b551a75ff7fff20dd0024670d5c42dfb74afa16d54aa0201106dea400a9505 Serilog.dll +b03e016fa01d7cc9723044c7020940779e4af59e29bdf47f72bc6ed9d9b1d257 System.AppContext.dll +9bd4590fa18b9a6509efb5147158a6abbe4799e82e0efa9fa240102b6084872a System.Buffers.dll +7f2ac0ec3bb9425017006cc750dc94a3c37ed175ba2f4eaa3f8f8e5cf35472e0 System.Collections.Concurrent.dll +ce2385891f525991c59d99a86cfaf8d5a81c56f24b01a433f42eb85071832121 System.Collections.Immutable.dll +82ab716ab740669598d8cda36a92690bcc4b01ebba8b21c0c4f0a7a8ee1d9248 System.Collections.NonGeneric.dll +d9ed158ef29df6146151d13260ddbb2310da7150eb98c2637ce91d057f7786cb System.Collections.Specialized.dll +78d429a901a73a09cda6037befaa56b79bfa557000b2a69ba1c1210253c0b21d System.Collections.dll +f2c3fda351505065effbb42e175e50b4c9bcb4c4f560ebacc868d50d29252eab System.ComponentModel.Annotations.dll +f7675a194e2f444670b94d3d3866dd3dd16b48b332cc5811268ff903e6c17a65 System.ComponentModel.DataAnnotations.dll +d060e7f58feb609db4f47e2a6da25c4a9b406b97589004d4022d31d673aacc52 System.ComponentModel.EventBasedAsync.dll +953db884b5edfc396ed4036413240e538cdbb858c06354d976d7b2e6ccce7167 System.ComponentModel.Primitives.dll +8faabcf0ea88a11425d247b19d9cc8a64a78a7c07ff977854cf4a9166e0415b7 System.ComponentModel.TypeConverter.dll +72b3608363e47f2cf3cf3fc9fe2fcefb760e5292ebb9d650fa4ced3896dab5f9 System.ComponentModel.dll +c53f9278c6889d8562d616106413bf50198f452316b4c5002100c568d541428c System.Configuration.dll +8be68e4cb2f0b64b5f37f7a7aa82db2ae1648115a9b7b9381a3cfac7cdb4aeb5 System.Console.dll +f1dcf1577c6a675f1c85ee9f13d103495ce123ed232001646f4132d76c1480cb System.Core.dll +e6be5f74d117b7300523041ec239d2c7b64fc495ef954f48f81ca71507e510c6 System.Data.Common.dll +65bd4ccac3f6f062a68d2ff797bb3908b7f21f908c95a1e85729b8c5bbcb3b87 System.Data.DataSetExtensions.dll +dc01c232769d86816af9d67e492902487bfc87f787f811ca098f42f4988ad789 System.Data.dll +baeabf6461eb78165280fe2a0fca951146de0d8f672ec20a159aa1f431bb409a System.Diagnostics.Contracts.dll +ba04477089ee6fc9ae8c2a8e711905fe1d7a113c785cb168d28eccaed435400b System.Diagnostics.Debug.dll +c84547ea80b944c4683901e03c2e0c00e462a7b12a3657f5f3e1474a5d52edaf System.Diagnostics.DiagnosticSource.dll +b86967674838e9e7465e171d334f6b970720ebcf005326e45c1c08e5720a0054 System.Diagnostics.FileVersionInfo.dll +1acaee1d612a45f2f287675b5b84defed1b34a90cc659641f97043f45076fbe7 System.Diagnostics.Process.dll +c464ff65bb7a1ef7e70b0c610aea951e8f71045cfde50602832969aa02253b6e System.Diagnostics.StackTrace.dll +a1656873dae8b3f2a56714f5a9bcf179e8064a992943cd0b275e83310fd4edff System.Diagnostics.TextWriterTraceListener.dll +dade40a11c2594fc03c84d119050f8b4281077bbc28298e3c2f6d96673cb0667 System.Diagnostics.Tools.dll +248c392f7df6bd5de9be9411dfbbd61fd6ae9ea6f896eb8a9dd6445cb54af2f2 System.Diagnostics.TraceSource.dll +b8274d672ee21b7ab2b579aec0c55795cb9fb3e1f15e9b3c2ee07d90260a3fa2 System.Diagnostics.Tracing.dll +5f04571de46d5defec5e946b618b7b1b10b9c613492a8089ba926d3dad0c6916 System.Drawing.Primitives.dll +86fe6479c86f0f99358adcb89ecba5d3fb91a30d333545a17c00ef67d86a29f1 System.Drawing.dll +3d645a280ed6d073664f229842847d8af2dc2a7126ccf27c5eeba2c55c08286d System.Dynamic.Runtime.dll +614c4e1729c2011b1e40424d7b00b3dd2b76ca7abb438c62d93048c97d9ad44a System.Formats.Asn1.dll +d8552ece59785ee1790ed8d2bdad03c0059c26a461f19c76d215c24aff8af190 System.Formats.Tar.dll +cb2a60039ed7a7a797d133ecee1755185305632b8c78d62dcaf0d2ccb4e15ed6 System.Globalization.Calendars.dll +7d27ac98541e7e6e72dab31aed4055fc9435b777bfce0f50722440601efd77bc System.Globalization.Extensions.dll +e374eb513cb207833143ac4967155589087e4fb71a8ae9108ee1d64596b67484 System.Globalization.dll +b3525059b5751482765b660d86d90de7e9728707c65d9cc5a63f1152ec43a952 System.IO.Compression.Brotli.dll +3fab44511b3e88c31430c987223f46c71dda6f890a2d6ecb7b29031ccc4b6b5e System.IO.Compression.FileSystem.dll +ce43bb776a6df4abe190d0e77096046475709f8e8b0c823e10cb7b39099c32a4 System.IO.Compression.Native.dll +02096ce99b1fef365d4ba9c03edf0e18f7981dac6943ab56676ad66d0bb2c9ff System.IO.Compression.ZipFile.dll +5f7c0695725d3485c86d0bf445c99be1fd320f17b11048a905041ff187dd4cbc System.IO.Compression.dll +b14b8ee22bd83e07c6a004179b70aa7b2958791aef5e834c5de72c49308419fd System.IO.FileSystem.AccessControl.dll +1dc8cf48e1bf26700064f54e510fab4ad0f5482ad113261a71807f9c194180dd System.IO.FileSystem.DriveInfo.dll +a72218414270188a3d11fd291ff63c407f65f0a4ff8ebaa8351990649fdaa9c5 System.IO.FileSystem.Primitives.dll +c60472fbd6ff9bb4a909605ab9fd08462eeb1cb058cec3deb49a21f84e4ab602 System.IO.FileSystem.Watcher.dll +1fdccf62b58857da2d75f26f0fa31ce342e035e08b61f08a439088834c25a650 System.IO.FileSystem.dll +be0350b4aa7e08c5a88a0d887aeee22e11144dc73f10805e36b2bb21440a6298 System.IO.IsolatedStorage.dll +1c60d7b873037f161663cc1f98ccadad1493195952b3f8dd318468ac451ac4ae System.IO.MemoryMappedFiles.dll +0306263c46f0fe7ebe87f4427d3365a23e92faed787b81c54337349688662629 System.IO.Pipelines.dll +e7af8e95bc18598a4cf42daae14d61518bc9944ed68c11a0742765419f04f2c8 System.IO.Pipes.AccessControl.dll +e631dad2c1c1657f40b512d15ed4a636d20341e8a0c6df34f2cd7d9b20848836 System.IO.Pipes.dll +ee80874913ba2b3dc55f05ed18043ef40a42cec0c2095a68a2825ec66e069c25 System.IO.UnmanagedMemoryStream.dll +7696915987cd96348e15e6b230394a9042e278baf26d07d2414b99e8a66ce969 System.IO.dll +2d74c61b46462f83d17c46fbda7087977d293bd0f6808742910d0f6a29d5f5e8 System.Linq.AsyncEnumerable.dll +eb9139d158b544c11b65cd32c6bfbbc2a11bfe5e9ec61ecc94999843afd5cd2c System.Linq.Expressions.dll +162297aa003a7a0951b3333418584f2de68d9a31146e0c4ebbf3a275ef250ee4 System.Linq.Parallel.dll +03fd086266f5ed63a077df4fdb5c69ce08799484aed94485965604148fc44461 System.Linq.Queryable.dll +1c6886fb239a6af59da0dc1561d9f010e2e983a1e826d6e8f8a61f7ea42a3af1 System.Linq.dll +5bbec55d9b01c664055180840b651b1b1f01c15f7f45ee84192b95a09f2c355b System.Memory.dll +651a91c2658632929ba7f50d415b2db6151fd96969be0b47e4f9672d648ec86f System.Net.Http.Json.dll +fc7ad004bdaca8763dcb23ab3a5fb01c9aed9735f678563f4f03254c9c956f8f System.Net.Http.dll +5e514d43d23325ceaeeabc00906f6f782424e8b2b01fc050ede60559a8202851 System.Net.HttpListener.dll +b65a90cdfdc51ee4a5c2cd4e0764ec42b46c8e098aaa6d4f57e8e8c3fb3560aa System.Net.Mail.dll +cc5b82c8101e3af2ab05dea804d333109f954f32ec49a9e4e71e3679ef4d7d58 System.Net.NameResolution.dll +3b97a77bab7f4a5215b12b7d0f16d47d6a617bcafa59d6e4b9efd3b695bbe0f7 System.Net.NetworkInformation.dll +2b91becc5ea71a9b91f544df76ad0c5a29a87798484b37b9c2f05a8a598f1ae3 System.Net.Ping.dll +01d8bef670ac4265708686d37076d8d21daf3152cd0e7b2aa264302c369f70be System.Net.Primitives.dll +ae641f56bcad5c06551f90b855d7a61c9bd401d0c0a9985ccd662da860c3d5bb System.Net.Quic.dll +5e462536c5b743dbef0522174a576ecb7be0dd52c5074e64b7ca73bc7dc570d0 System.Net.Requests.dll +c03a6cba2d1e841f78293188b8356e0890a03ad9860eb5f602e69ac8ddd253c4 System.Net.Security.dll +d39e3896fa6e4b42dcb6aabace1e9d2f8c15c6ecfe10868668dd9de119aa675b System.Net.ServerSentEvents.dll +dc7433871738ffb8ce7f7963cee7fadc2103ab4b61e461a70e60d848625ae297 System.Net.ServicePoint.dll +7e8787c401641f3d749847c552ad8c8c600896e1aaead24c93440039801dc98f System.Net.Sockets.dll +8cd16344c501ab69ee11eb1108efb37d4c789de9bf421bb3e8703800ca1a8b1d System.Net.WebClient.dll +f5973c353b9204e5c1cceec843707c7be368293428d52f62bc746400346103b3 System.Net.WebHeaderCollection.dll +9bb235262aa0f2530fe8cadf095432438746dc3bf5d1090caa7d0eb4ee2dca7f System.Net.WebProxy.dll +9ae53fe2d695d041d834fe741c52a60d77031667dde8078281cf56904aa65fb3 System.Net.WebSockets.Client.dll +dc3632ff6a2f4118904eb64edc433c0d79c497b3ad2c01e1287cc86da14de612 System.Net.WebSockets.dll +1bb00c4e169c0a20ad8763f4105204c221b97e037464b5bacb6ec4b9d40e0ad7 System.Net.dll +2025fbc96c75d61d82cee26ccacb100d773a4e393630e2697a5c7bc6c4ee5a8e System.Numerics.Vectors.dll +c39d8710b4aba77631159b90e04abd81b58ff3cc9fc8433621b76683cd6aec9a System.Numerics.dll +16f21d6da2db3ce7a1c0b904bc2f3658685156a2155e5aaba8a3d45f4bc06c74 System.ObjectModel.dll +69d56e12535d3a8f2f8f89ac8f97577e6dc788d26f2e7b69be8fb5f6ff17ff28 System.Private.CoreLib.dll +4e329edac8f17617d2d46d2d472e21c48614276a9879f3f7b4be2cb2841ed3f6 System.Private.DataContractSerialization.dll +eb07de9b8f80dbc1c2cad80598e184a8369f6cbd9d105d50bcc6cd3428e61ce8 System.Private.Uri.dll +3c2edaf8c5fafb005e25631b8ed48a64050bd126a8a5cba2f84b6869d6a6df47 System.Private.Xml.Linq.dll +3467185933c682c10a67eb6b4eb78df5a1debc63d4def7708d23db9fb79780fc System.Private.Xml.dll +93b0f758fac7aef8eb3256174fe621ac9de7db98e044e22d4b6cdbf7b462c5a7 System.Reflection.DispatchProxy.dll +3f8d14d45f250218d9c66f158b7a218ac73d1f2df75dbcf71a09f12f1711bf5f System.Reflection.Emit.ILGeneration.dll +f43856d942af20cd256a7358afad7fdb50df4e9e307e29beb34dff8dbd094b6c System.Reflection.Emit.Lightweight.dll +f0c3777ec9c76eeb3198de980054247fda2d184e8dd3d3693bc433613a6df364 System.Reflection.Emit.dll +8ccbd7bd124cbfaa1cfd9315d922dd693ad7ade5d0436d246b188e02b40919df System.Reflection.Extensions.dll +5af6e802d91f1e404a95c55e23310185e7de09adac62ffd6fd56b98a6b31b15d System.Reflection.Metadata.dll +9cc0088b3e2d6a0771063dafd2c924538dff5087c20610f7826a088a38c27ae0 System.Reflection.Primitives.dll +479a0a76d0360120f262ca9d501637916382a5d162f10c29d37b01888f5fd00d System.Reflection.TypeExtensions.dll +d3d7fa31b89606d7a5c10a26ced05a29d32ab2fb87a54f10c82cd74e8e19725d System.Reflection.dll +181cf4b3b528f7e2a3316fb792339320a1c40c96c7b45b726ff16257097276e3 System.Resources.Reader.dll +06fbffe507abc62101f0466d1570cecb074ec6a432a1ba058d4b9360ea13764f System.Resources.ResourceManager.dll +1dd70e4933c113a2a9963f79068a1e0fe52bcbb5dfaf54255dd41af5b4e05d35 System.Resources.Writer.dll +bb342e1fbacfe7589b71936fb000c36b54ddc96d578bc0888623e19549c1e6f3 System.Runtime.CompilerServices.Unsafe.dll +657abf22f77265e6e111fa0c6f55fa176373dd447fcc0f0c4145da91fcdda047 System.Runtime.CompilerServices.VisualC.dll +f7e44a3f016421af7130ccdd913c57419d3cd2a0f48e34bdd1295797f2535cf8 System.Runtime.Extensions.dll +b21415740db52c068dddeb4dc61e95a41ec23b1a4c1b1623ff6b65399c7c0fdd System.Runtime.Handles.dll +1c91d7b7dd6da38c6426a4be35b3458ef3d127ea84533941528694e9db1a145c System.Runtime.InteropServices.JavaScript.dll +f0b683af8a5db0f4cbaa2119f66ba93a01ee0db8ba1079acd01f01d247c111a6 System.Runtime.InteropServices.RuntimeInformation.dll +bde2bb33524a73e2964cd47ddf753150d685b31ebb1c4779e66ca426b2b419bf System.Runtime.InteropServices.dll +61cedf60e24e672bbde2869ceaee84342d22823315aae7fb7b768e9a6e6893a2 System.Runtime.Intrinsics.dll +b55e68bf26539914d8eb80718dc5b183f36d53c7fa20103f52c06796d33aa0c6 System.Runtime.Loader.dll +46b0e0c9b0198446a5d4ae8579433a038d7f1199e0378ee6213a0390bdd9a99c System.Runtime.Numerics.dll +18e20e41f0d87206ff1fbede425b7737be7c554c1704af3c684e83bbdec63157 System.Runtime.Serialization.Formatters.dll +87249d372d73fc7fcdc057be0efba1c36fe7318af832463dcfbf55fd067bfa97 System.Runtime.Serialization.Json.dll +5981ef301f6a849ae73bfa0eeb4956992fc15b00f705c35f208eaf6793a37ab3 System.Runtime.Serialization.Primitives.dll +ab0c54734d37e5aac3f726fe7806ff8de5c5bce757f7993135540154a72ade79 System.Runtime.Serialization.Xml.dll +39da6e91e025583c2d51a5180614cf278bdf7f6d850c4c011422869efca625ce System.Runtime.Serialization.dll +d6b4189c8e9afce3629b27c902c198a54ad3a355ec8409d3880b3b68fb1cf445 System.Runtime.dll +c83dce7b6b0737d14771c9ad38a8726787a91472be503d8f911bfe91668efadb System.Security.AccessControl.dll +77c7616c8f073677f8a057ef032b21d8f6dfeb19179b936bd54bab268e71cbf5 System.Security.Claims.dll +0e5de3978293221c0e36bf52786abea8f7b74ebf06de58c9717db4507e59ac10 System.Security.Cryptography.Algorithms.dll +9198b7e57489278215a2489d66d9d52c7a9d65ae7abe399cc9d27d1b23debbf6 System.Security.Cryptography.Cng.dll +2774b21002a29479de3523f8781d1411e4990575b50f1316d6a9cd490980c2db System.Security.Cryptography.Csp.dll +070abb893bb963b2a846ad8b8c1354563c7b362d1c492eec53538fc28a871001 System.Security.Cryptography.Encoding.dll +e2a8cba098ec00d19d043750e8a19374cc65d1a498b9eb15dbffe0eecc579b32 System.Security.Cryptography.OpenSsl.dll +89e9947ee1e7839eeac2c9c0b37a2b0c0433ff338dadec6380fac1eae375ffd3 System.Security.Cryptography.Primitives.dll +398e55927b3cfd070bc8d204740e50d012cb78f7a2dcb968a33869b4aa54e067 System.Security.Cryptography.X509Certificates.dll +b043b1ed136164fd69606a9e7f26f1fc05d0c7cb888c0c00e3b58544623cc7e5 System.Security.Cryptography.dll +25f1d31f27d8e9a97fa203160dbf9a8a7be8188328ac74516002d0ac071961d9 System.Security.Principal.Windows.dll +d1cdbae10415e4f384ecdf34cd6e427f7c1d67bb6549b7e15193006428734bb4 System.Security.Principal.dll +3347281129d6cfc4a5c912dbb9f803878c99cc60d125ca5f2adbc4718ccf348a System.Security.SecureString.dll +e81926edd150a900fa0d6832aa813b2c3dfb156e7116a7cca2d96640ff24e438 System.Security.dll +9537a9d13c43511fb95b6d30dda7817851b23e864503fa336626522499b51d24 System.ServiceModel.Web.dll +13fb65e12deec9ac60a8342dec6caeff8d35b56dc142cdabfab2745620d46fd0 System.ServiceProcess.dll +e3f7a38a01cd863716d83ae322a007a2d052044cd8bfc2b5b1c268ac05c9d931 System.Text.Encoding.CodePages.dll +fbbc0dde38272605b8b95271cca7202ca04d5fa115acbcee936e1bed611fd23c System.Text.Encoding.Extensions.dll +f1531dcab1fe59529829a1a241953a5e55ef8340c8cf1a21c053eeb7c48e2a84 System.Text.Encoding.dll +319eb068c30ae985653a31911086141f5ba26b99e0ce7ff083f455ad42d4c584 System.Text.Encodings.Web.dll +ff440fd7d4ae3d5a6d080c1ebaaae7d5f4145ea162ab12bf8931e92b4311f469 System.Text.Json.dll +244be34f8333ff60b1fa87f54feea7e8338e2ff96fdb148a4d4bf12b7c981c86 System.Text.RegularExpressions.dll +6f4b852763d9bdf83013893f294cd021a0efd84243374e52e148d8b665ebc8ec System.Threading.AccessControl.dll +26f3f523ae3a685b462c1b192ac752cfa8da5db5ba4e2714b2e64635e717a4d6 System.Threading.Channels.dll +9442e2b745620403121ff4868fd430a2178029c22ae6a8dcac77d957ada4be42 System.Threading.Overlapped.dll +4638d6b12ecce5eb1e0b0e5a9ebb23d1c2d708f6e8d3427adb9cf3e15f7ada71 System.Threading.RateLimiting.dll +bbf7de8812c20b8e61f9833d72814dd858c4781fa35500b2374c7e5f19d3a246 System.Threading.Tasks.Dataflow.dll +b35a1faeecc0fb706b06f470a13fb3b1d2addfef1cd5a81fb1bdbd75ad6c8fdd System.Threading.Tasks.Extensions.dll +2853f090ef0c1bd47f91800ef71b0b44084b1f703b3b699919466e065ba2fee2 System.Threading.Tasks.Parallel.dll +a908649b99249e9533d674ed8838f2cace1f6a4071d848bf9edf7b96dc4ebc5f System.Threading.Tasks.dll +5e1c4834abd41d88f79872557c69d20502e2d220bde333870e31d1a1eb4eacd2 System.Threading.Thread.dll +2135197f9cbc09004ca02055bf54b5e3d0e2d7a9d61c477e4ef129321eb0b4c2 System.Threading.ThreadPool.dll +a7763eba808803faab8e904fd5b467d9c7dd5c18ddd9a584d7c686f08d27e10e System.Threading.Timer.dll +6c2137fb877e647a6c0f8909db8ca7af1e6fe95f19c6e531f6a74539fabcc6ad System.Threading.dll +213df40904a1b088fce848eb34bbc91785cee298632e06670518d306536af23b System.Transactions.Local.dll +bfffd1196acf43fc9c88ebb561bb3a964ede3d8269bba09cf3258ead1ab4fcc4 System.Transactions.dll +03a5049c71a54d9e8c2f2b9180529804d3e956ad6432a0668946115b29d3a830 System.ValueTuple.dll +1097a135ce82145a8f7dbacc0b8a4d8951e067652814ff6d9fff0927b21706ce System.Web.HttpUtility.dll +5fc03752ad1c79c05bdf71cfc841f7c16cfcc4366365d8f7f31e22cff3cadd7f System.Web.dll +b2a12218c022eba72d8acbc36c012211f965bb49c2fe92c0aaf0964ee785c800 System.Windows.dll +f66daa73628bd932749377aa5094ebad056a63748223ed0dedb4b7dcd49e22b9 System.Xml.Linq.dll +496dc55783342234033fe7162f618938691f25dd818633cdd386dba6e4e1c271 System.Xml.ReaderWriter.dll +4a38c5a78410d11d32df42565312306eefc1bee5c73a6c5c8c661b0cf1ac0717 System.Xml.Serialization.dll +fd3c02115f7ad89770a70f18f83c8e4cdf8c78bb4f88046923f3285fa853c7f4 System.Xml.XDocument.dll +d68c378b07f099610b2eda021a232499cac2d6b96fce72b20a4f0b07efc85513 System.Xml.XPath.XDocument.dll +03c3c78e671c3abf1d10c830eb67b8761bec7b6dcc0ae74462736df3616434dd System.Xml.XPath.dll +fc671e921ca4cae98c3b1cd0ad0fdf1e75f115917c9fa0826f194efbd149c1ba System.Xml.XmlDocument.dll +8e9bd064b432d8617038f2100b8268b8f46e4c22a6c09395ad0519e657c8801b System.Xml.XmlSerializer.dll +8b35480d266706f1c8db8e70216a72ba26d3fb25725f8a1131731e4d380410ef System.Xml.dll +ea77299c8ae8751e2868343efc838167b2612c58863690b83692de4d66a34578 System.dll +a88115b54a4782631612f995f857624994143e783aca58dfe2fe0800417a49e6 WindowsBase.dll +aa729e2a47fb8c1ea22efd81ee7c276215aa304a5d42b602409c19b7c470b692 ZB.MOM.WW.OtOpcUa.Client.CLI.deps.json +38b89b2810d0970f412bc7166cca96566f44023b26399265deec6667254c50d7 ZB.MOM.WW.OtOpcUa.Client.CLI.dll +78b7c26bde9de9435842b761057609b88ffda8496d262451cb79f88b015a889f ZB.MOM.WW.OtOpcUa.Client.CLI.exe +7bb583059143a80d8a65bac031afe7e70d2e20f665be2f54aaf0afee2f73eaea ZB.MOM.WW.OtOpcUa.Client.CLI.pdb +79478f035e69ab7220e5a5c0f904e8f74441d8390ecea88d00f58da33c6714a4 ZB.MOM.WW.OtOpcUa.Client.CLI.runtimeconfig.json +d9c14152892fae1ffa9dda842af628ae6960484a1db620bef6af102efcde6a7d ZB.MOM.WW.OtOpcUa.Client.Shared.dll +bc9f35f887f8aeebe38d23b476af800d117b02b0bdc178dc5a9f78341f38f6ec ZB.MOM.WW.OtOpcUa.Client.Shared.pdb +add3223035f88f02be534d0db5c80ca9ff4119fd588127c73c04143d34a423d8 ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll +200384c70512c5c1f1964ae72cf432f1d79e9501b369842d5da17b2dd58d4a2b ZB.MOM.WW.OtOpcUa.Core.Abstractions.pdb +62d00c09711771abd3e87b1375b1fd0362d0f687ba5f0edc3ecfce15e628836b ZB.MOM.WW.OtOpcUa.Core.Abstractions.xml +3751ceedd1074e8713234bb588521b69dfcee1f1bccf634e92e80481399af618 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll +6f731b678440dd4c40fe6b2620fee5fd41ecb0f43e40f4180d68178f5130e29e ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.pdb +4b848b0ed6ad94a455a85e93cd0c10faef62f349c7ce6f39415ae55af72655d0 clretwrc.dll +ebfb09f29cfdc3cd269a4a5bccc0bc6e4e7afce9a7d263e43cb52bdec98e9e43 clrgc.dll +936c6122bb95df8bb6c7552e93ac01e426bfa5a5081dd7fc774703e05edb2d04 clrgcexp.dll +e33038c23f32074683e170b0ea74dae6ee74a05bb5e8ef6c9fd4cc43771b34cf clrjit.dll +1bc65b8d45474b19adf3ca85ce881087aff599ffc72b2c1a323e878227757b65 coreclr.dll +da50d230f70332385b86c44f9dc3f571b60340f8b603bc0e2f201b5a19240acd createdump.exe +5b9358572daa76176f97f1bb80fe764b24ee1bc2cce0579230e7f9a28e3fbbed hostfxr.dll +84275dc570382246b4b36ebb3094c2b38190c2fd80998d1da20b95dfcae1c546 hostpolicy.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 mscordaccore.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 mscordaccore_amd64_amd64_10.0.1426.52326.dll +31081748cdac21d8734422cb3188070c4f49cb9fd85051a7605bbb7337a7331f mscordbi.dll +5ff7b9c14324371cab67e190165015103701045ebc36edcb8a829e5505c2c765 mscorlib.dll +9eb4ec98c78e698e0c25e9088a5670eaad1e12ab4df066eb3803c495dc0031ce mscorrc.dll +7b32a336b638570bff7b2f4782ebdc05b8c70fac76fdb412f3e8a3c181c32a61 msquic.dll +2844417955d5b11f8434fcc969f52bc09104f438ae2f4d5595c36c355d06e270 netstandard.dll diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-host.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-host.txt new file mode 100644 index 000000000..2f00f7aaa --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/manifest-candidate-host.txt @@ -0,0 +1,1396 @@ +d9b44216b34fc9655c86c3e9d30422e47683969577e205a17096a9a706db768e Akka.Cluster.Hosting.dll +9f5b418e908a4d579858889af823f780a5e7ff6be2f27c24aa38309759d09423 Akka.Cluster.Sharding.dll +a819b0c3e73e08ea474936ad429763ec11681f43c090e2b92dbc1d37d7c94e35 Akka.Cluster.Tools.dll +e64aee4dbd305f533c9eea995c9676c0ce7bc8e55a77437afd14b0cf8fe3c0a9 Akka.Cluster.dll +2472a627de9cf9185b3a98860266b7751c173f859d3bd185b272d5f4078be26b Akka.Coordination.dll +ebea19a2f75f2e275531fbd62be5499a5132563958ebccfc25a450979cfa0039 Akka.DependencyInjection.dll +8c1733537b6cedfb4e7234b86ae63a45cd204ad3c6bc8843f52a85643c507a89 Akka.Discovery.dll +56100ac684f6acef390b2e546d198899366f035aaa51bb64bc494ebaf2d85007 Akka.DistributedData.LightningDB.dll +9ba2724f0cd49676338241b6249e3b9b95a5c50ddadea5e28adedf31b3ef9fc6 Akka.DistributedData.dll +937444c766e641d7c1f86e718e97a148587136a249f91c2986e1f77e2f8d9f92 Akka.Hosting.dll +49068dc58456684f3c2804bb541223c3aa2dade07f4b1e9877b2e7e058d2056a Akka.Logger.Serilog.dll +a9e840a8bc6d7c404e0c83ec5576fcaac3a848880c0ab2b0ed9f1bae33ec2076 Akka.Persistence.Hosting.dll +c11fc9b044bb927d764f85c0ca8a02c16e8084c05c5ecffd050869ed7810c390 Akka.Persistence.dll +f0d2ca67e9affd0c68ef32dc859974fe415c00ec5a4710a8e06467542799ad6b Akka.Remote.Hosting.dll +b1d27508442727938c4076561f6b4ee81cdd3caa0ef76a481cb45dbfc4c5a0fb Akka.Remote.dll +e3d9024ece608d6f8b2a15d15f211d50919ed983834fa85d9cc3c9be3c56eb73 Akka.Streams.dll +b2d2b8422ba6759d315cbd07622e705fb69daf64e9425cda45f5605132303e34 Akka.dll +224d09cb39eae4d8c30272a0c49beb19d873c87347eae9487f0ddd859d752b56 Azure.Core.dll +af18f20be25b2895c912f3ba0a9f2901a82dda823edcad76e6a19eac9886a40f Azure.Identity.dll +a58275640773dc3ff06ceafad752fd399e4ed7cef93039354b7eb06a126590ff BitFaster.Caching.dll +65f066d108192cefc6e44f18e2d92cf338be30056f4fad02d6b8ea692f81bd37 DotNetty.Buffers.dll +809d9e582ce909356b34ef8d4f212adea5d5ca25e1492a31ccb81a6f9be23070 DotNetty.Codecs.dll +7a375647446f11a5d5f5eddf72f0327b4b69956a91917100d0f4d8f120fa7962 DotNetty.Common.dll +08ce96ee9108adda52adb87119c54fdb819806817867943987d77983c3f1a9c5 DotNetty.Handlers.dll +f393993cc027ec61f758b8832029b21f2efd8583807e0aa06af4df90d239eb09 DotNetty.Transport.dll +318092fdd4eccb8e30ab04493a5ce3e827714df2721770af62ef81aea8bd21d8 FASTER.core.dll +c2769d0bc587db846b99fefcd778a8ffbb7fbcb4a03d2fcd8ce9573c7ef7042a Google.Protobuf.dll +7340bd5dccbe5298825df443d4971a90afd87388e381c008a90556e42c2c04d1 Grpc.AspNetCore.Server.ClientFactory.dll +f200b4cae34c51f4f607c684dd72107ad2487808673ae20960edacdf437ec9dd Grpc.AspNetCore.Server.dll +3535e79c38523d239303a33d420c8a856babdcc4d08a167d532decdcc5453951 Grpc.Core.Api.dll +ad2dae77484dabaa9dade62035d761a0d1ec26394e8b600e80dff7b792c088e7 Grpc.Net.Client.dll +9bf1e593838013238a56d5b4e4e2dd2e8c93589063eaf2a3b2f71e3d3219fd3d Grpc.Net.ClientFactory.dll +d91c6969c65943f22f8a6f67f832e763def7fcb2af0ce16862b3748fa06e0521 Grpc.Net.Common.dll +b0ebedf36fd19f1dedd7547e49c5a7b6e4a6b53015dde70699e4e69ae8f50406 LightningDB.dll +1bb34492a9018fec3f627458364dc6e46fef076a647df181403246da65f5bce2 MQTTnet.dll +a7bdc4eb53b2624b6b7c1866f699fae022bf5721f4df05661ee36b2fb5193a91 Microsoft.AspNetCore.Antiforgery.dll +a2fa6ffad1b42507f28e7e7e27e109fb39d9725b961a837f3ef4fe70c6cd3e32 Microsoft.AspNetCore.Authentication.Abstractions.dll +8610b42bb97e9df002694aafe2364ecd21810bc2d0652cb0cbf267628d06ce7d Microsoft.AspNetCore.Authentication.BearerToken.dll +ff0384f6d48c401f45e5d9ce01380b3fedd55b60ed7cc7f8b950dd6c9b503378 Microsoft.AspNetCore.Authentication.Cookies.dll +cbbda890ca18b6409d97d0ca17656b13b81f6ff64b7ecda611deb65fe54e38ed Microsoft.AspNetCore.Authentication.Core.dll +2a2f99ce877c62a8c600c390ce1f15bb0cc2a92a973a9da60ddcf4bd60bdcb64 Microsoft.AspNetCore.Authentication.JwtBearer.dll +940517756b22eba81236e0254a22277a9023980743fa3bd588f92ffb3764cbbd Microsoft.AspNetCore.Authentication.OAuth.dll +520b945fab76627ac14d0c56b9dca7143ce8af4f834cbc9293d9763b1d61f4bd Microsoft.AspNetCore.Authentication.dll +a775777fc9f32a6a1f94ad5717a3eec1a62c46da616daca7f16edcd94a1979f3 Microsoft.AspNetCore.Authorization.Policy.dll +fcbc2e383c0872b86f65e400d1908033e75fcb71ab9639020948714b00a46471 Microsoft.AspNetCore.Authorization.dll +24325590bad0ac98957fbff079e9cb99f3457310477a1963cd8106b07b30f1cb Microsoft.AspNetCore.Components.Authorization.dll +ee8799cdb15efd895f115612398da3e9b0bc4362093a705719b5b90a843d6e82 Microsoft.AspNetCore.Components.Endpoints.dll +fd0a374194741b6cab6b135d2be774b0ae61df4b3adbdff6512cbb379a203275 Microsoft.AspNetCore.Components.Forms.dll +e53474a4d5cfc86a2bdedd6abaa12b91733ae392c3a54a59bd4824fa2192a458 Microsoft.AspNetCore.Components.Server.dll +c49a5e8f0f9fb885c219a1a0092146c452bea5b1cf83aa268c45347805a09249 Microsoft.AspNetCore.Components.Web.dll +ceb7044730ebc47cd2e4baea58496766fcd60f818051cabc129f3443449572b8 Microsoft.AspNetCore.Components.dll +ad385e36719c3bcacf65420c2f0e9567297392e5adbd139aa5ad0154daf75751 Microsoft.AspNetCore.Connections.Abstractions.dll +ce01a9c1aae1e9821c18751648fa67d57e54032ac9bbe47d0d69e1153d0c14e8 Microsoft.AspNetCore.CookiePolicy.dll +939325be39a49da69866f1064b2460f64ae3e0b6b75c56043decbf92dab6b4bc Microsoft.AspNetCore.Cors.dll +32a50f21a75753c1c29a235a66ec2f91c177cce1c533cde9c0f2f13366bce0bc Microsoft.AspNetCore.Cryptography.Internal.dll +80c78724218f97f99521c1fb144950dd30781af75ef6478fbfc9266e9a7bb8e1 Microsoft.AspNetCore.Cryptography.KeyDerivation.dll +3e7a8f2cb1b3b5b751a4641a915c9cc6b328d00fa4ced5d25e537df1aef12991 Microsoft.AspNetCore.DataProtection.Abstractions.dll +a768ee07664430adbbdf9a761ed0b691dbf52d67d2f1af833de606b851516394 Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.dll +61688e3a81496ad7139bd7959f5bbf1e210d30f832fe7689379d06084d912dc8 Microsoft.AspNetCore.DataProtection.Extensions.dll +67b90a80e779c84acd8a4679f9943e39d70f7330b71d8da170f87bb2f3bb0f34 Microsoft.AspNetCore.DataProtection.dll +2f5c4602e37141655ac12ab841c0c0f43899270a2ace80b59198ed54fcac72c3 Microsoft.AspNetCore.Diagnostics.Abstractions.dll +c77e40c062e6847d2093e3fad7eb77eeb8ab30d6a5f88f261156277bb54785df Microsoft.AspNetCore.Diagnostics.HealthChecks.dll +c18afc7b5a88afe392d417a86567aeb9bafebac6b9009b26018247bf54ad51ba Microsoft.AspNetCore.Diagnostics.dll +a693e3b6499fa9b53f745f80f236db995519390d7e79581b0611daf146e676e4 Microsoft.AspNetCore.HostFiltering.dll +df46890f76b25e06217965b632c4a7535c9daa9f64afd810c07dcea5e186def0 Microsoft.AspNetCore.Hosting.Abstractions.dll +5e9c0d07939180645e359cd2fb81356f7acd08eec8d7b1df3d31737ec0072c26 Microsoft.AspNetCore.Hosting.Server.Abstractions.dll +65cbef67078d0b2669271c9cf87846c18042022c56097e806efcba7316be941a Microsoft.AspNetCore.Hosting.dll +0db132a5efd76d3cb45782981b64c555b0173e735575f00c83e990cfc029a659 Microsoft.AspNetCore.Html.Abstractions.dll +df12658cdff315c80ab5b84b8e788ecfd33278aafd8b767ecbbebd2754cfc19e Microsoft.AspNetCore.Http.Abstractions.dll +1ce2e273eab3c4ca003e65bfdf78318b3195f08385c814a02f10890bdd34d05f Microsoft.AspNetCore.Http.Connections.Client.dll +d7c1222fad0feeba0ff5a547c2f48271037e38e51faf31097e2945556278a340 Microsoft.AspNetCore.Http.Connections.Common.dll +d22627a86bb5e7ad239fccf2b90158997c1d258335ef7b70daf8469616490b6d Microsoft.AspNetCore.Http.Connections.dll +739eb1bf45a01febec386c4ac1185f100060f3e7dbebbec688eacd61609761f6 Microsoft.AspNetCore.Http.Extensions.dll +5b8881267d6fcc47a91dbd3b10ad21b027809b0920268bd729354d6bdc9024c9 Microsoft.AspNetCore.Http.Features.dll +155aa1fd96b936badecb64a5d06b3d69e3ffa94cd414ff44d4d29ead4607cae8 Microsoft.AspNetCore.Http.Results.dll +0338ab42438ad1240a018bfb971819599b54f47dcd114fdf7a9355663ff3ee51 Microsoft.AspNetCore.Http.dll +b10362c7aff83b68f2c4494033c9e1b24038291f869783e9d7fe594db1e7a34a Microsoft.AspNetCore.HttpLogging.dll +e02e8482c7f2f8392945031f5b0627c4819fb912521438b020db02ac72fdb7cc Microsoft.AspNetCore.HttpOverrides.dll +afc5bfe82c8c4d102c96d75a30cd3fe6d5379a9af43acbc54123b5bb6c92f36b Microsoft.AspNetCore.HttpsPolicy.dll +e5555799f26d87f33ac3e59454f054ca8bef04dce71ce909524a99939648f6e4 Microsoft.AspNetCore.Identity.dll +5b85a118ff9626dd8cc2420c7f6738931338ff613a30430ecfdf3299b07bab0d Microsoft.AspNetCore.Localization.Routing.dll +7a4604d10a3f00ed142e059c0e82663492d4f8cf722685a21dabf5b33c36b202 Microsoft.AspNetCore.Localization.dll +e92d223d967d9e53163cdc73c838d2339251947fd152e06e80595d8a0ce150a6 Microsoft.AspNetCore.Metadata.dll +eda84ba5c3db1d3c1671a332ec5b82525fe1f1467b2567f0d11fc9b7f280d505 Microsoft.AspNetCore.Mvc.Abstractions.dll +7caa17c0f57999796b95d346374ccab11914f3bdeddf4a0512e98df38b1b87d4 Microsoft.AspNetCore.Mvc.ApiExplorer.dll +e6813b51b8cf5659980a8916c86f4f89da0dcd5e1a36df64eb834dad6d46d072 Microsoft.AspNetCore.Mvc.Core.dll +29278f812fbbe115e9f724421fb1c55ad91a303b9abc4713fadadc76ed263082 Microsoft.AspNetCore.Mvc.Cors.dll +2705530bfa22f466306a0973e69da534212cdd788f160bd0f27402fc2e8303eb Microsoft.AspNetCore.Mvc.DataAnnotations.dll +449d6a96c56dc2d0d53163f53c84a94e0ef11a4a29cb567993a60a0d50b2384f Microsoft.AspNetCore.Mvc.Formatters.Json.dll +ca2bf3f122a27314c6214225f5b7363780317848d09a088b6d0d801107a0e772 Microsoft.AspNetCore.Mvc.Formatters.Xml.dll +4ecc388b8da7838832846f14afa2703b7c62b52e396bffc764a4572fbe4ace68 Microsoft.AspNetCore.Mvc.Localization.dll +624b81b4a276f394b60160250551e7950b0d00bfcdc1f88778e067e602ca970b Microsoft.AspNetCore.Mvc.Razor.dll +c921044db2ed3aecd29cf3cd1ebe3cb2830501e320bb014f58555fa20e2ceb68 Microsoft.AspNetCore.Mvc.RazorPages.dll +198fa7cd6458ff90b337230760532ec4278e2250267a962b8391d90993eba873 Microsoft.AspNetCore.Mvc.TagHelpers.dll +9b52c1320f066f29423c2fdfab067a38a9ec21327f4ceb4dd64d23ea9adac62d Microsoft.AspNetCore.Mvc.ViewFeatures.dll +3bd174741ec0c37c05e712cc47b72f5b40acc01864d1548e2745de953e9cdef7 Microsoft.AspNetCore.Mvc.dll +59a4d4a463857f78cec9c1ba9e3d5d5928958e583f2bcbd554d80cf6ca54bfa5 Microsoft.AspNetCore.OutputCaching.dll +35d2bdcf6c6fb32d36059c31bce146b7c0d5889df44c2698acece8f42847400c Microsoft.AspNetCore.RateLimiting.dll +9dcca6da3a80c71be5c98ec5ae478860fd2a46c7bcfebdede857c8aa6fc866ae Microsoft.AspNetCore.Razor.Runtime.dll +c467034b3df55862751e6cd950beac77a919dd4d7fe6a16fa83cb93bc35540a9 Microsoft.AspNetCore.Razor.dll +030912427772e13a4c6a250feedc16a76a612fd60a6ad6aaf24324a418d64a33 Microsoft.AspNetCore.RequestDecompression.dll +b22437df843e957c90b8b2358c2bd776a0ce66560f875733c7f4843660829edf Microsoft.AspNetCore.ResponseCaching.Abstractions.dll +cb8126396433480c0c3d51d2f470138d99420c5910f09865d16604d86296282b Microsoft.AspNetCore.ResponseCaching.dll +bde5e978d5b3fa8627909c3e7fdb98578bbad42ca3344ac7c91c468300ad243d Microsoft.AspNetCore.ResponseCompression.dll +0d907ee727ba84131b6e6fe0ab320b707bd3ce8a45d2f18152710a1559f975bd Microsoft.AspNetCore.Rewrite.dll +e6bc64e8c7339f118539c1adda815415888b2777d3b0e27facaaabd7ce5ddd8d Microsoft.AspNetCore.Routing.Abstractions.dll +f9e0e1b5555d1c2502dca3aa0cc53647575efb608456792459319e8efff4cdda Microsoft.AspNetCore.Routing.dll +ae130c42a9a4c9124151b781aae9cf072de349dfed7a59cc70f8dc06a7b67efc Microsoft.AspNetCore.Server.HttpSys.dll +aaf69b4e5825b5ece0fa4f021bf15d1d4fa5e4e1231f7ccc42c8e64997a915c6 Microsoft.AspNetCore.Server.IIS.dll +885b5f767f623ca9086f0da57ae17fcaaadf220d9d84fff05a42c3f0f4540b45 Microsoft.AspNetCore.Server.IISIntegration.dll +cfe387dcfa847eb6c289dd6ce952ae9db8c499e41167cd48f60a7feb4c429543 Microsoft.AspNetCore.Server.Kestrel.Core.dll +be32067b86f23b2f80776b6ebdbe953cf3a90035ff313c82d60819c6b25944a8 Microsoft.AspNetCore.Server.Kestrel.Transport.NamedPipes.dll +bfeb47f6f83a1e19600b1060e8be7ec47a7154a56f40fb4c78fe300217ff438e Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll +eac5c63e8512e0fcddfb0422430f6f38856c4385fa8123d09a9131fe8a92c1c4 Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll +0663d49b30465198d43502c127867fcef3e4d1244256402d0c98c0a9cdb3e610 Microsoft.AspNetCore.Server.Kestrel.dll +fabdbf2e902659b1b390c66db969711ddd58004b75a6283cdec2e41c07d3b1ef Microsoft.AspNetCore.Session.dll +5833a8070a9c50faa38331fead1c106c4c4bf4e6eca773b00a1d44e16c6911f8 Microsoft.AspNetCore.SignalR.Client.Core.dll +f5201eaf736cab8651013a49b6bd8bbd2d80fb2f46ffdef0e40ce21bfcb161f3 Microsoft.AspNetCore.SignalR.Client.dll +bc2ffbd0437b1fddfa42aa211238fb5457fbba0ac4d7144876ac980015507460 Microsoft.AspNetCore.SignalR.Common.dll +0f3e12c10433fba404c93ab87ee58608faf4a0759f585e414a201998fcfbc5c0 Microsoft.AspNetCore.SignalR.Core.dll +a07923a8fdf73ede1b47c44e2cdd590c231e1501c62b52b5c76f084fa7b13d05 Microsoft.AspNetCore.SignalR.Protocols.Json.dll +1bd00be9f6aa16d01a0dd25b99fdea26ce1d5ef203cf9cd17ca8b8b02ce45d0d Microsoft.AspNetCore.SignalR.dll +39078a68782e7facd57b31da16c4cde68ed86a4945c173c321e0bbd8da6391e2 Microsoft.AspNetCore.StaticAssets.dll +2fb0e88c0929757c0f6aa9021f82610b5b78319b1fd424040dd79c4cc9739dfa Microsoft.AspNetCore.StaticFiles.dll +83935d54c0315f14ad392186257e4ad7132560e2b16422790183fdf1a4853f4c Microsoft.AspNetCore.WebSockets.dll +98928acce48bcb9d5d766bac8f588de34c8e3f43bcd41e3e187fbe994dec47ee Microsoft.AspNetCore.WebUtilities.dll +cb1983016ff03e79bd3911b50589a1a21e918369a3c07f564862cc6be594d8cc Microsoft.AspNetCore.dll +136d5965cf4768e8420b547a8bddea882921f426c371833d558a858a2f0c235a Microsoft.Bcl.AsyncInterfaces.dll +009a27b8e3093fdd2960bba63e4acd48eab05c4f8f8a6d9fe8c24b4657f44c4f Microsoft.Bcl.Cryptography.dll +febbda76f97e6c1b13d03da160cb0b65bb441d67e2d486e1f2bc46eba50e9854 Microsoft.Bcl.TimeProvider.dll +d8ea1fbbaafdc9734420131c5d1f4624826e411bad3e51d3eb4fb95ab154f66f Microsoft.CSharp.dll +d0f4798de9cb78c13463a0f3df747814c177ec15e03e1c03aee17136798a2cfe Microsoft.CodeAnalysis.CSharp.Scripting.dll +36f5ac8da30a6107f53a2ca6509b61e284c08eb59aa1b22956d4e200e4514aa5 Microsoft.CodeAnalysis.CSharp.dll +7c3973a0997a1901c4f5978ef901e3ae96ddb780dead70a42f65f2e3f6f23e8f Microsoft.CodeAnalysis.Scripting.dll +10f489db67b8ac7489e58d392166c928302ba5698506dd652311da5d89f0a0f8 Microsoft.CodeAnalysis.dll +7e37c5bba3da06a955c122e3515b2980e2f1b8732ec0297f0a7e77e79b4de331 Microsoft.Data.SqlClient.SNI.dll +13011951ee100b419e0b494baecdbe1402be5cb487d72056014a83253afc1d6e Microsoft.Data.SqlClient.dll +9f1fe804321767b6cc8db751ecedd56ab308e5f15492a7f40d7093bb61ab7638 Microsoft.Data.Sqlite.dll +70e4b89978ce57ef87b28f4921f3140c383b04aa96e7f3bdb3c4ebb898fd8a72 Microsoft.DiaSymReader.Native.amd64.dll +34aaa94035fdb18400c9c40df82a731d935153e71c99932a92830e5807cf41d6 Microsoft.EntityFrameworkCore.Abstractions.dll +ae537828754942c45e884795bf666205f5cff414c9238641bbe8687ea455cb79 Microsoft.EntityFrameworkCore.Relational.dll +9261df9184d4aa3914e9f20cbe9a8abc478702de3ebdddcb622143f798698464 Microsoft.EntityFrameworkCore.SqlServer.dll +1783882ff577f09cd2b220f322e0b3eea0f77bb86f80611089274482ae1dbf75 Microsoft.EntityFrameworkCore.dll +a7e80a5ed7efaaa21da13993a01be345a3221ce92422c2cb33655399a357dc6f Microsoft.Extensions.AmbientMetadata.Application.dll +2f050e2f67ebc15292fb9262f0d486512a450c26e6ced787dc2ea6f58617caf4 Microsoft.Extensions.Caching.Abstractions.dll +74146a6717f20fa26597bf0c1d86903d78b9f8ffc69368423fd2fd3203a805d1 Microsoft.Extensions.Caching.Memory.dll +b99d010d6b9e5bb863399959d6140bc59ed29ef921957bea3f666ada7995aa50 Microsoft.Extensions.Compliance.Abstractions.dll +0e628de3e542dcbe45a6014e3e8255b80217920a3fc2ebc50a1ec3887c5f332d Microsoft.Extensions.Configuration.Abstractions.dll +a4af92e4be071e27bf94c9b4108bbed87cccf4399986013ad7f08469f1fc7b94 Microsoft.Extensions.Configuration.Binder.dll +5e8001932d2be4941e0992d78b5c5aaffe1d8bca9b7cd73919653b2f723bff87 Microsoft.Extensions.Configuration.CommandLine.dll +03cc329bf483adbf11fa33bd3bd8f22daa3456d87221c345a40d6a3991027ce0 Microsoft.Extensions.Configuration.EnvironmentVariables.dll +80632f0e4f1e0371d8c385117c6d114a4c8d53cb3a827670123d651644007366 Microsoft.Extensions.Configuration.FileExtensions.dll +61a18d20bca630af8bb6fc4835dc4bc889ecc28d4275bef5556f42be3277d8aa Microsoft.Extensions.Configuration.Ini.dll +a381c7f17c8ff6d5c3839aabe132566449aad811d907b0b869e016a1c633fb5f Microsoft.Extensions.Configuration.Json.dll +acbd9247f7a1d679bb97b2b0b65471e1a57c6cda023c2702e712bab68b2e161b Microsoft.Extensions.Configuration.KeyPerFile.dll +9b8e836f6fe0db69b4c5b7bbfab5445e886560099000e625078dfa9ac271f0f1 Microsoft.Extensions.Configuration.UserSecrets.dll +f4a928f86751d0427b11baf7336551c787ffb930afb5aa20a23a7e1b1ab32259 Microsoft.Extensions.Configuration.Xml.dll +0171015f04e6556fbbe3a82cd226b4259a8285349b672d803323f6146659a011 Microsoft.Extensions.Configuration.dll +b38c55bba63432a148d556160d45455548c73f76bcfab4772a1c4455e259b4f2 Microsoft.Extensions.DependencyInjection.Abstractions.dll +a73a6c6404212d70a80f8cccde2bc527976f9fcb693360f6cf32e9b2d38c9a8b Microsoft.Extensions.DependencyInjection.AutoActivation.dll +f6ca3dbb4087f078bded41f80eb3b2cd67823444884d97a3fef55d24bc5de599 Microsoft.Extensions.DependencyInjection.dll +3a39ec75b47ea48175fe0586dc7513bb4f56423d2946662b8dac24afde925d8f Microsoft.Extensions.DependencyModel.dll +5b19abb23a7b5fb8e4a83943267960bbc9a0405fc830a2f6f4965c223f35b915 Microsoft.Extensions.Diagnostics.Abstractions.dll +476e2c7298b102b6cfce2d6ae2acad52ce7248d4511f36d42ce35a77fde1df55 Microsoft.Extensions.Diagnostics.ExceptionSummarization.dll +35c924789a3891538c753b48005958f3f86a5a9088aa013d58ce78a3d74c7d60 Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll +381b7b5051ee64f820002a1a199bb93bc36766cd178fbb23fb5aff95f512c52c Microsoft.Extensions.Diagnostics.HealthChecks.dll +e1a036090ab6aed5238eafc0d697ced73b8b55b688f8c429861162474724148e Microsoft.Extensions.Diagnostics.dll +03dfb285add3508e241128830c4c7802d8425e12b32c6d25b3b6ab0c784dae8c Microsoft.Extensions.Features.dll +75e8b11e5d3f6f3e365b3082122ebba73cdfa19f82031529030a7f7182919c2b Microsoft.Extensions.FileProviders.Abstractions.dll +c472aa93b80cfea1fdf66f6212a54e9033374fe64de06c26dac455005fac2728 Microsoft.Extensions.FileProviders.Composite.dll +7b845a117e715a1f634c2b8ca939b57ddc53e88f5baa0d88b3aa6739af7d0389 Microsoft.Extensions.FileProviders.Embedded.dll +168e508741b5f26460bc142b9f69b631aa533f109eb242e5acc8325c6ddba01b Microsoft.Extensions.FileProviders.Physical.dll +4f64c6eaf7b9e35ffb2f113dc3fd7dcabebf993965bbd6e5d2a76fab324eed32 Microsoft.Extensions.FileSystemGlobbing.dll +bf6310b64033855d05516640982545b737cd927b6251abc551f92e034eaecb18 Microsoft.Extensions.Hosting.Abstractions.dll +7b2b4645b30652d74a40aa00cf25c6db15f4d35b3768f03caef79404c0dabce7 Microsoft.Extensions.Hosting.WindowsServices.dll +b94863ed7f34abf2f956bee6477cba28ae6196f9c2768925c7e7c2f9f035fb5c Microsoft.Extensions.Hosting.dll +347d266abd3c7376b56ab7b10b36510abe2fe3a36e0cda5e7ad0fd668f5f8102 Microsoft.Extensions.Http.Diagnostics.dll +eb573ea6c8f24d2178d733c1f7f6fdf2856056c6aa5322f667d685afdd20afbb Microsoft.Extensions.Http.Resilience.dll +e593906149fe16d5580218a5c9f4ad8ecd18a778d1610f8fe7ceb0039dcd076f Microsoft.Extensions.Http.dll +1d94f7e3f0f02025aba89408370de0f5d28ac9e1b9189c825ccb983c0534bacb Microsoft.Extensions.Identity.Core.dll +cf815a30ab75646bc114145099ab84ab3e9d4311902e8d4111d01d51a08ea42a Microsoft.Extensions.Identity.Stores.dll +02835e777dabfa61c634d5f8d7560bd39f2b6f633a04b8fa37b9c6808d6cc238 Microsoft.Extensions.Localization.Abstractions.dll +b459201f9162e52d37f6a4aafe9b3730c8d6721b848056bb2c2762d721812ed0 Microsoft.Extensions.Localization.dll +ef6e65beb5bc55581ab7c8c1ff29553d06308734ff6912ebcf8b66ef7d026105 Microsoft.Extensions.Logging.Abstractions.dll +a99201097540a3afcc1689101ff4979016df607db13dd80558479212acd647b9 Microsoft.Extensions.Logging.Configuration.dll +6f80e78ac00632bc6a586fad6cc112a7bd0f223e918f317d8f9e4503f5662250 Microsoft.Extensions.Logging.Console.dll +b5dd107f1cf719392a58bdc007e1eb9fd4d9de5e7cd02e17261650bd3bddc0ad Microsoft.Extensions.Logging.Debug.dll +64bd03bf370171a6c5e244b8c5c153e3542fc15fb6965677465196021cbe06ba Microsoft.Extensions.Logging.EventLog.dll +d23c1a667d1f733aca500b9125d70004ea300e2abe2826e48ffc194f752ffdbf Microsoft.Extensions.Logging.EventSource.dll +c53bb3db9c0eefd9a55923e28f50cad57631eed3dbb952f3a8f10aa82fcd5071 Microsoft.Extensions.Logging.TraceSource.dll +046ba5af3ed56b6349fbc4d40f2004bba0df0ca6d9746e0fe100402e0f1c540c Microsoft.Extensions.Logging.dll +b4483d9222a234e6fd676ddb57862db8359d060c09700a0423840ab459238fcb Microsoft.Extensions.ObjectPool.dll +64589a558b1c50b5a56bf841b3e898f6d03671a7f5fe440d72082b5d80effae3 Microsoft.Extensions.Options.ConfigurationExtensions.dll +48ab84339d15b5daddf084e8b4141c5d18f7fa1d18586f7a212c40e76775b805 Microsoft.Extensions.Options.DataAnnotations.dll +1997b5de5a6d80e7b1524b618f9d1b3374fc4e576dd936ff02195f93c1ababd0 Microsoft.Extensions.Options.dll +247be292bfc1e9ed5cce87badd4f46783b893a94d6bc85fc06aff61a312c56df Microsoft.Extensions.Primitives.dll +ef993eca52f7d1dfa47d34678c4d4d69ad35e4052797f679a2f6fec2eea820ef Microsoft.Extensions.Resilience.dll +052ae9f51b926b0a61b06081eebca430c603ca41af463fa925aba4434d0b4628 Microsoft.Extensions.Telemetry.Abstractions.dll +7cea61a2885a8fef83e85dc3615a9e8add8748cec129e45e7cf4240cce61528b Microsoft.Extensions.Telemetry.dll +d5b3f230c7f3a8cdae1e46f6b7eac2802b5b9f5bbdd8b9fa63c3ecafd02541a0 Microsoft.Extensions.Validation.dll +d481d85d90edee6a2b48f28bdb4f143e2c7ee9294b3449356697d390281d8208 Microsoft.Extensions.WebEncoders.dll +9c1f736b16cacd318afe07d3b9d707a4b4b56def5e403b0aff471c1af413aaf0 Microsoft.Identity.Client.Extensions.Msal.dll +10d59df4170053ea9597e3c20adc9607ad17318ad5d8747eda3d930a5a4b463a Microsoft.Identity.Client.dll +b438fd27bdd5ba7dc4a482c1f135d6305301b1685f624bb36ac0ed24f499fc2d Microsoft.IdentityModel.Abstractions.dll +cf889db7a04e956d03726954f9389a23a952666a66137021c712ee977630bd37 Microsoft.IdentityModel.JsonWebTokens.dll +da14a0467587838b7fedc6670315452ff9c7a9fe54fb7f0742fe7a34274753b7 Microsoft.IdentityModel.Logging.dll +3fdcb7b20fe91de47857aa3fee0d13affaecfd0544cae5a3ad3f7f105a3d8cd6 Microsoft.IdentityModel.Protocols.OpenIdConnect.dll +1126552d469948ed6d7887e8c24cbd65fddad103193eeea869930e27da2bc010 Microsoft.IdentityModel.Protocols.dll +b3d4bcb1d9f9c469825e7aa041bc35c33d85651a88ee24b5ef9ea29d7502d214 Microsoft.IdentityModel.Tokens.dll +bbd49ca514ade5f46f75cb3c8293f62a19d093ad7eab76d8966495741cc560f5 Microsoft.JSInterop.dll +7dd14d659e373fad6ad073f19291a436456cab0c01a145a798c906afff9b65af Microsoft.Net.Http.Headers.dll +a9dca1b42bc875f966b78b2c0880e62b838f0ed6567166d7f1f07ae4b76ec4bf Microsoft.SqlServer.Server.dll +578203d4915aa43283a3d6fa1083f4b80f333ef544e39ff0fcfdada1b7499a7d Microsoft.VisualBasic.Core.dll +95aa41f885965447a62b59f1b3ce1677300c51c009048c8c677b961e98e99a72 Microsoft.VisualBasic.dll +637adb956e9e80549239f1707db3885683504efbfc2ed8ea93a3d187ef53789c Microsoft.Win32.Primitives.dll +143a613fc7c87e09c02cac0cc1469f850120bed98c5a1602ad84fc42b6c1ae63 Microsoft.Win32.Registry.dll +e7734ef5db26f5e5626f8ef354831c60adff9a8e88447cc5e865cfe1f9e466bc MySqlConnector.dll +22c649f75fce5be7c7ccda8880473b634ef69ecf33f5d1ab8ad892caf47d5a07 Newtonsoft.Json.dll +85918b6f9e91acffac9bd081b70404b0456c7a6f0c9c5666ccda8951bd8120d4 Novell.Directory.Ldap.NETStandard.dll +e2bcafe1660fe4543fe9dfcabed972ec8d32259e5ea8009462ce1de23c7034c2 Npgsql.dll +620da406fabdbc75d11f9827ea7e39d2d3c762471bd2264b0d11f1d6cd9247cd Opc.Ua.Client.dll +6ed6a594c93c3ff35d1a16539a9fe87c1e2640549cc2f48ed6bae333dc8bf0e7 Opc.Ua.Configuration.dll +51cfad48657d95d38074bb88be29aea6f5b361a07397247d58838d066b99772e Opc.Ua.Core.Schema.dll +a7dd141b8dabe8848ff28c2fb8e16a85a0508e6a49e6b1a1c1e267175b99af96 Opc.Ua.Core.Types.dll +9d0857aa6b7f3c49037d4ea557b4da8edf07e146069464481783e66c5c9cd35a Opc.Ua.Core.dll +7f4969aceb2f0db5328c6882cb4b117342f3b18905c38acdba600683860c4fd0 Opc.Ua.Security.Certificates.dll +930e714a2f6e15d393840bcdc95e1afa8012bc740c3738a655f958142721864e Opc.Ua.Server.dll +c542f69882f4e8a4ebd5ccc28a3881d6967c7ffb6dcc3c56dc6c776f39c2ede1 Opc.Ua.Types.dll +5c5727de149a0232825774a8ee75b60581ce19ce8b944d422bd545e2e3d7f915 OpenTelemetry.Api.ProviderBuilderExtensions.dll +ca5ddb7a51bcbb1ab8bcc6484603c70a4077142a8745d521c4bd2363f9e7c217 OpenTelemetry.Api.dll +20bf20b94e2e92a73d20d97b81d9cd3b26ef0967ff29f80d84b421c4317ac77e OpenTelemetry.Exporter.OpenTelemetryProtocol.dll +60dcd62f532a61821328e52e511bd47db620c301c7105c4aaf70619c0f217d65 OpenTelemetry.Exporter.Prometheus.AspNetCore.dll +a627ebf2a7d14e0f0b3c2568e6ee37773397de25c90ee89d4560422c42d8b945 OpenTelemetry.Extensions.Hosting.dll +247771e79186a704722510e03aefb2f09c10286ff3fc658dcd4bb81ba347f6c3 OpenTelemetry.Instrumentation.AspNetCore.dll +8edab07d2cc02b81cc53bd9ccc0f6160e483a4b42ced3cf339de530fecfe88ee OpenTelemetry.Instrumentation.GrpcNetClient.dll +154c41bc484085a74a0b1886478ffb4aeaf850686d173d0c93a11ad0283aea2e OpenTelemetry.Instrumentation.Http.dll +a789454f78efbf4d2f04605b98d3f143f6396bec208f4b5765e8e8d2d0f35143 OpenTelemetry.Instrumentation.Process.dll +08b62837d801db4afe0ac77d27fe66fff99493cbb6b9c49a5876627c2aabd7a8 OpenTelemetry.Instrumentation.Runtime.dll +edc9799efd614cb083193d90eafcd99abf70496738c3065933093cf99d162cae OpenTelemetry.dll +a76f5f278e9db505d76ce21bc57163c0079ec03ef1dda7d9a524d9bec3a3bbbf Oracle.ManagedDataAccess.dll +24631dc73443f5e63e94c813927184fadf220d62cb917d1dfb4d0d0d2435e87f OtOpcUa.Host.deps.json +6304c9570470ff720cfa894aef86d8866370a2cdce99fc39f8a56b824ff18651 OtOpcUa.Host.dll +934a749f446c724579806cbbf36d7a12690a0a5bb9f97b5e39b9502a43c9087a OtOpcUa.Host.exe +5beb07e0d1fa279ce5540e2fad1c4ecf27fd81a63aa64f63ad5042698991c8b1 OtOpcUa.Host.pdb +21d3b077ff744783f1809a81399cd494be3caed432ec8e8655a7a8029eb86c26 OtOpcUa.Host.runtimeconfig.json +ec188f0f586fecf726796e14b52df714fc9c069309a4b426c9ab75d16521ca56 OtOpcUa.Host.staticwebassets.endpoints.json +802ffe5c74c26cf6bdd0f0ecacc36965807a267765f61b63eea8605da15fe0e3 Polly.Core.dll +8adac7a20cd056b9a8623efb6e6f9b99a82e18d3c7b7f6c788f7fc4b20ce5f18 Polly.Extensions.dll +afe3042cd4062438857d42880623845f32575375f460fd1ac07f705ea0211804 Polly.RateLimiting.dll +dfb748806727fe261f48e15ed6c1e3ab952f7021208fec4df0184615ba5ec6f0 Reactive.Streams.dll +e293fe25f6e774069a5c38f0778e47f2c8a0d7327741a6df1c62fb0f98d497cf S7.Net.dll +bc69777001eb4db81c580f62835396f67e74aaa381eef446193a904499d5310b SQLitePCLRaw.batteries_v2.dll +50c999a1ab2afeacc93bce5ac2948d3bb630d99d23efc3cfcbd8bc11d3426eb7 SQLitePCLRaw.core.dll +02ad639f45a26de1919ffbb6696bdb399ad01afc149970a163c3867162f310b3 SQLitePCLRaw.provider.e_sqlite3.dll +a550c57df7a04edbed00da036fc14be12acd0d425b7401855975fb628e3dbada Serilog.AspNetCore.dll +3e6d0284179ee0e1c197568fd79b58f869d15298fff8ecb8447322fe87d44f47 Serilog.Extensions.Hosting.dll +80d3edbe3e3ac0b4c5bc764474220e7da11df8d285e0098f3dc1b65a734c8507 Serilog.Extensions.Logging.dll +319fbcefc2161dd50ccdd8d60b30edee48a09f794aedb28421a23f35ddd670d9 Serilog.Formatting.Compact.dll +ec8cfd1f8970a44e2aa3f7bcc71116ca2691b196564bff83e3e3ead0c1143b67 Serilog.Settings.Configuration.dll +dc88002ddd9f5fd0ffec9a6568ef89954671f60f2c9161593ee78932538c1e3e Serilog.Sinks.Console.dll +df543d3df8bd00d72e5eb2b9b2a15e67a6e4d10c13834de4cedbf500b8793e01 Serilog.Sinks.Debug.dll +4f4282671c2ac68284b4dc99f7a76eac9cbd4e659978cef642cff9e6c01b676d Serilog.Sinks.File.dll +e17a2dd847560cd22bdb6df8302f8fd202c3f073888cdd9ad8b1df9e80da4351 Serilog.Sinks.OpenTelemetry.dll +e6b551a75ff7fff20dd0024670d5c42dfb74afa16d54aa0201106dea400a9505 Serilog.dll +b03e016fa01d7cc9723044c7020940779e4af59e29bdf47f72bc6ed9d9b1d257 System.AppContext.dll +9bd4590fa18b9a6509efb5147158a6abbe4799e82e0efa9fa240102b6084872a System.Buffers.dll +ce44a4fae4c4787c12475700e19a365fc2f388ae5d0f6182557ce5ea175be7f6 System.ClientModel.dll +7f2ac0ec3bb9425017006cc750dc94a3c37ed175ba2f4eaa3f8f8e5cf35472e0 System.Collections.Concurrent.dll +ce2385891f525991c59d99a86cfaf8d5a81c56f24b01a433f42eb85071832121 System.Collections.Immutable.dll +82ab716ab740669598d8cda36a92690bcc4b01ebba8b21c0c4f0a7a8ee1d9248 System.Collections.NonGeneric.dll +d9ed158ef29df6146151d13260ddbb2310da7150eb98c2637ce91d057f7786cb System.Collections.Specialized.dll +78d429a901a73a09cda6037befaa56b79bfa557000b2a69ba1c1210253c0b21d System.Collections.dll +f2c3fda351505065effbb42e175e50b4c9bcb4c4f560ebacc868d50d29252eab System.ComponentModel.Annotations.dll +434522d676f626589e21aedea883f6acfbe276f9c3a935dfb4d8af7a19feb75a System.ComponentModel.Composition.dll +f7675a194e2f444670b94d3d3866dd3dd16b48b332cc5811268ff903e6c17a65 System.ComponentModel.DataAnnotations.dll +d060e7f58feb609db4f47e2a6da25c4a9b406b97589004d4022d31d673aacc52 System.ComponentModel.EventBasedAsync.dll +953db884b5edfc396ed4036413240e538cdbb858c06354d976d7b2e6ccce7167 System.ComponentModel.Primitives.dll +8faabcf0ea88a11425d247b19d9cc8a64a78a7c07ff977854cf4a9166e0415b7 System.ComponentModel.TypeConverter.dll +72b3608363e47f2cf3cf3fc9fe2fcefb760e5292ebb9d650fa4ced3896dab5f9 System.ComponentModel.dll +08b618461d62fe65451bdac4dbc25f8ac8ab16a914a687f2dbe3923bf0e8b3e7 System.Configuration.ConfigurationManager.dll +c53f9278c6889d8562d616106413bf50198f452316b4c5002100c568d541428c System.Configuration.dll +8be68e4cb2f0b64b5f37f7a7aa82db2ae1648115a9b7b9381a3cfac7cdb4aeb5 System.Console.dll +f1dcf1577c6a675f1c85ee9f13d103495ce123ed232001646f4132d76c1480cb System.Core.dll +e6be5f74d117b7300523041ec239d2c7b64fc495ef954f48f81ca71507e510c6 System.Data.Common.dll +65bd4ccac3f6f062a68d2ff797bb3908b7f21f908c95a1e85729b8c5bbcb3b87 System.Data.DataSetExtensions.dll +e5b58b051fa474dd59adf6fb405d980caa974dd7519ef279824fae43df412192 System.Data.Odbc.dll +dc01c232769d86816af9d67e492902487bfc87f787f811ca098f42f4988ad789 System.Data.dll +baeabf6461eb78165280fe2a0fca951146de0d8f672ec20a159aa1f431bb409a System.Diagnostics.Contracts.dll +ba04477089ee6fc9ae8c2a8e711905fe1d7a113c785cb168d28eccaed435400b System.Diagnostics.Debug.dll +c84547ea80b944c4683901e03c2e0c00e462a7b12a3657f5f3e1474a5d52edaf System.Diagnostics.DiagnosticSource.dll +403a772d71ed4a5f537bac3e02746f5acc4a13d73bd895fc564af4866cb0e7b6 System.Diagnostics.EventLog.Messages.dll +9951419c914ddf0744240bc75355f026a8fbfda9d94343476d140a97bc1dc985 System.Diagnostics.EventLog.dll +b86967674838e9e7465e171d334f6b970720ebcf005326e45c1c08e5720a0054 System.Diagnostics.FileVersionInfo.dll +fb93811a325ab59af45cdaeb57d47a8b1dacfdb19b87cefd1366cb0680250f1a System.Diagnostics.PerformanceCounter.dll +1acaee1d612a45f2f287675b5b84defed1b34a90cc659641f97043f45076fbe7 System.Diagnostics.Process.dll +c464ff65bb7a1ef7e70b0c610aea951e8f71045cfde50602832969aa02253b6e System.Diagnostics.StackTrace.dll +a1656873dae8b3f2a56714f5a9bcf179e8064a992943cd0b275e83310fd4edff System.Diagnostics.TextWriterTraceListener.dll +dade40a11c2594fc03c84d119050f8b4281077bbc28298e3c2f6d96673cb0667 System.Diagnostics.Tools.dll +248c392f7df6bd5de9be9411dfbbd61fd6ae9ea6f896eb8a9dd6445cb54af2f2 System.Diagnostics.TraceSource.dll +b8274d672ee21b7ab2b579aec0c55795cb9fb3e1f15e9b3c2ee07d90260a3fa2 System.Diagnostics.Tracing.dll +c3af191077a7a45d67e89b7ba2667388dd1b6ea79c6dd97fc8c7773c4f2b89b7 System.DirectoryServices.Protocols.dll +5f04571de46d5defec5e946b618b7b1b10b9c613492a8089ba926d3dad0c6916 System.Drawing.Primitives.dll +86fe6479c86f0f99358adcb89ecba5d3fb91a30d333545a17c00ef67d86a29f1 System.Drawing.dll +3d645a280ed6d073664f229842847d8af2dc2a7126ccf27c5eeba2c55c08286d System.Dynamic.Runtime.dll +614c4e1729c2011b1e40424d7b00b3dd2b76ca7abb438c62d93048c97d9ad44a System.Formats.Asn1.dll +aa4c247c1e39dadba384b607cd4236255ea69e55101780a683f493741506c356 System.Formats.Cbor.dll +d8552ece59785ee1790ed8d2bdad03c0059c26a461f19c76d215c24aff8af190 System.Formats.Tar.dll +cb2a60039ed7a7a797d133ecee1755185305632b8c78d62dcaf0d2ccb4e15ed6 System.Globalization.Calendars.dll +7d27ac98541e7e6e72dab31aed4055fc9435b777bfce0f50722440601efd77bc System.Globalization.Extensions.dll +e374eb513cb207833143ac4967155589087e4fb71a8ae9108ee1d64596b67484 System.Globalization.dll +b3525059b5751482765b660d86d90de7e9728707c65d9cc5a63f1152ec43a952 System.IO.Compression.Brotli.dll +3fab44511b3e88c31430c987223f46c71dda6f890a2d6ecb7b29031ccc4b6b5e System.IO.Compression.FileSystem.dll +ce43bb776a6df4abe190d0e77096046475709f8e8b0c823e10cb7b39099c32a4 System.IO.Compression.Native.dll +02096ce99b1fef365d4ba9c03edf0e18f7981dac6943ab56676ad66d0bb2c9ff System.IO.Compression.ZipFile.dll +5f7c0695725d3485c86d0bf445c99be1fd320f17b11048a905041ff187dd4cbc System.IO.Compression.dll +b14b8ee22bd83e07c6a004179b70aa7b2958791aef5e834c5de72c49308419fd System.IO.FileSystem.AccessControl.dll +1dc8cf48e1bf26700064f54e510fab4ad0f5482ad113261a71807f9c194180dd System.IO.FileSystem.DriveInfo.dll +a72218414270188a3d11fd291ff63c407f65f0a4ff8ebaa8351990649fdaa9c5 System.IO.FileSystem.Primitives.dll +c60472fbd6ff9bb4a909605ab9fd08462eeb1cb058cec3deb49a21f84e4ab602 System.IO.FileSystem.Watcher.dll +1fdccf62b58857da2d75f26f0fa31ce342e035e08b61f08a439088834c25a650 System.IO.FileSystem.dll +be0350b4aa7e08c5a88a0d887aeee22e11144dc73f10805e36b2bb21440a6298 System.IO.IsolatedStorage.dll +1c60d7b873037f161663cc1f98ccadad1493195952b3f8dd318468ac451ac4ae System.IO.MemoryMappedFiles.dll +0306263c46f0fe7ebe87f4427d3365a23e92faed787b81c54337349688662629 System.IO.Pipelines.dll +e7af8e95bc18598a4cf42daae14d61518bc9944ed68c11a0742765419f04f2c8 System.IO.Pipes.AccessControl.dll +e631dad2c1c1657f40b512d15ed4a636d20341e8a0c6df34f2cd7d9b20848836 System.IO.Pipes.dll +ee80874913ba2b3dc55f05ed18043ef40a42cec0c2095a68a2825ec66e069c25 System.IO.UnmanagedMemoryStream.dll +7696915987cd96348e15e6b230394a9042e278baf26d07d2414b99e8a66ce969 System.IO.dll +56cf18b0b16ea80738e0768cdcbc9368f13bdbedaca86025756009e30f969fe6 System.IdentityModel.Tokens.Jwt.dll +75a516771f2e10fdb76c1ea603f8d11e702af7ec97b383f1036cee114ef3f491 System.Interactive.Async.dll +149757a4113ae6102c425f1469a7cc14deb28635e94cbc9e0404f5e4dc518001 System.Linq.Async.dll +2d74c61b46462f83d17c46fbda7087977d293bd0f6808742910d0f6a29d5f5e8 System.Linq.AsyncEnumerable.dll +eb9139d158b544c11b65cd32c6bfbbc2a11bfe5e9ec61ecc94999843afd5cd2c System.Linq.Expressions.dll +162297aa003a7a0951b3333418584f2de68d9a31146e0c4ebbf3a275ef250ee4 System.Linq.Parallel.dll +03fd086266f5ed63a077df4fdb5c69ce08799484aed94485965604148fc44461 System.Linq.Queryable.dll +1c6886fb239a6af59da0dc1561d9f010e2e983a1e826d6e8f8a61f7ea42a3af1 System.Linq.dll +bae79a4ff6e8fcfb65a3d88eb53d281898e699e5471ebd780843e5616753f0c3 System.Memory.Data.dll +5bbec55d9b01c664055180840b651b1b1f01c15f7f45ee84192b95a09f2c355b System.Memory.dll +651a91c2658632929ba7f50d415b2db6151fd96969be0b47e4f9672d648ec86f System.Net.Http.Json.dll +fc7ad004bdaca8763dcb23ab3a5fb01c9aed9735f678563f4f03254c9c956f8f System.Net.Http.dll +5e514d43d23325ceaeeabc00906f6f782424e8b2b01fc050ede60559a8202851 System.Net.HttpListener.dll +b65a90cdfdc51ee4a5c2cd4e0764ec42b46c8e098aaa6d4f57e8e8c3fb3560aa System.Net.Mail.dll +cc5b82c8101e3af2ab05dea804d333109f954f32ec49a9e4e71e3679ef4d7d58 System.Net.NameResolution.dll +3b97a77bab7f4a5215b12b7d0f16d47d6a617bcafa59d6e4b9efd3b695bbe0f7 System.Net.NetworkInformation.dll +2b91becc5ea71a9b91f544df76ad0c5a29a87798484b37b9c2f05a8a598f1ae3 System.Net.Ping.dll +01d8bef670ac4265708686d37076d8d21daf3152cd0e7b2aa264302c369f70be System.Net.Primitives.dll +ae641f56bcad5c06551f90b855d7a61c9bd401d0c0a9985ccd662da860c3d5bb System.Net.Quic.dll +5e462536c5b743dbef0522174a576ecb7be0dd52c5074e64b7ca73bc7dc570d0 System.Net.Requests.dll +c03a6cba2d1e841f78293188b8356e0890a03ad9860eb5f602e69ac8ddd253c4 System.Net.Security.dll +d39e3896fa6e4b42dcb6aabace1e9d2f8c15c6ecfe10868668dd9de119aa675b System.Net.ServerSentEvents.dll +dc7433871738ffb8ce7f7963cee7fadc2103ab4b61e461a70e60d848625ae297 System.Net.ServicePoint.dll +7e8787c401641f3d749847c552ad8c8c600896e1aaead24c93440039801dc98f System.Net.Sockets.dll +8cd16344c501ab69ee11eb1108efb37d4c789de9bf421bb3e8703800ca1a8b1d System.Net.WebClient.dll +f5973c353b9204e5c1cceec843707c7be368293428d52f62bc746400346103b3 System.Net.WebHeaderCollection.dll +9bb235262aa0f2530fe8cadf095432438746dc3bf5d1090caa7d0eb4ee2dca7f System.Net.WebProxy.dll +9ae53fe2d695d041d834fe741c52a60d77031667dde8078281cf56904aa65fb3 System.Net.WebSockets.Client.dll +dc3632ff6a2f4118904eb64edc433c0d79c497b3ad2c01e1287cc86da14de612 System.Net.WebSockets.dll +1bb00c4e169c0a20ad8763f4105204c221b97e037464b5bacb6ec4b9d40e0ad7 System.Net.dll +2025fbc96c75d61d82cee26ccacb100d773a4e393630e2697a5c7bc6c4ee5a8e System.Numerics.Vectors.dll +c39d8710b4aba77631159b90e04abd81b58ff3cc9fc8433621b76683cd6aec9a System.Numerics.dll +16f21d6da2db3ce7a1c0b904bc2f3658685156a2155e5aaba8a3d45f4bc06c74 System.ObjectModel.dll +69d56e12535d3a8f2f8f89ac8f97577e6dc788d26f2e7b69be8fb5f6ff17ff28 System.Private.CoreLib.dll +4e329edac8f17617d2d46d2d472e21c48614276a9879f3f7b4be2cb2841ed3f6 System.Private.DataContractSerialization.dll +eb07de9b8f80dbc1c2cad80598e184a8369f6cbd9d105d50bcc6cd3428e61ce8 System.Private.Uri.dll +3c2edaf8c5fafb005e25631b8ed48a64050bd126a8a5cba2f84b6869d6a6df47 System.Private.Xml.Linq.dll +3467185933c682c10a67eb6b4eb78df5a1debc63d4def7708d23db9fb79780fc System.Private.Xml.dll +c1cae1a8b97d5e0ed64f7a9947f6ae44498398b6e9ee71473c2bef24646e91f8 System.Reactive.dll +93b0f758fac7aef8eb3256174fe621ac9de7db98e044e22d4b6cdbf7b462c5a7 System.Reflection.DispatchProxy.dll +3f8d14d45f250218d9c66f158b7a218ac73d1f2df75dbcf71a09f12f1711bf5f System.Reflection.Emit.ILGeneration.dll +f43856d942af20cd256a7358afad7fdb50df4e9e307e29beb34dff8dbd094b6c System.Reflection.Emit.Lightweight.dll +f0c3777ec9c76eeb3198de980054247fda2d184e8dd3d3693bc433613a6df364 System.Reflection.Emit.dll +8ccbd7bd124cbfaa1cfd9315d922dd693ad7ade5d0436d246b188e02b40919df System.Reflection.Extensions.dll +5af6e802d91f1e404a95c55e23310185e7de09adac62ffd6fd56b98a6b31b15d System.Reflection.Metadata.dll +9cc0088b3e2d6a0771063dafd2c924538dff5087c20610f7826a088a38c27ae0 System.Reflection.Primitives.dll +479a0a76d0360120f262ca9d501637916382a5d162f10c29d37b01888f5fd00d System.Reflection.TypeExtensions.dll +d3d7fa31b89606d7a5c10a26ced05a29d32ab2fb87a54f10c82cd74e8e19725d System.Reflection.dll +181cf4b3b528f7e2a3316fb792339320a1c40c96c7b45b726ff16257097276e3 System.Resources.Reader.dll +06fbffe507abc62101f0466d1570cecb074ec6a432a1ba058d4b9360ea13764f System.Resources.ResourceManager.dll +1dd70e4933c113a2a9963f79068a1e0fe52bcbb5dfaf54255dd41af5b4e05d35 System.Resources.Writer.dll +bb342e1fbacfe7589b71936fb000c36b54ddc96d578bc0888623e19549c1e6f3 System.Runtime.CompilerServices.Unsafe.dll +657abf22f77265e6e111fa0c6f55fa176373dd447fcc0f0c4145da91fcdda047 System.Runtime.CompilerServices.VisualC.dll +f7e44a3f016421af7130ccdd913c57419d3cd2a0f48e34bdd1295797f2535cf8 System.Runtime.Extensions.dll +b21415740db52c068dddeb4dc61e95a41ec23b1a4c1b1623ff6b65399c7c0fdd System.Runtime.Handles.dll +1c91d7b7dd6da38c6426a4be35b3458ef3d127ea84533941528694e9db1a145c System.Runtime.InteropServices.JavaScript.dll +f0b683af8a5db0f4cbaa2119f66ba93a01ee0db8ba1079acd01f01d247c111a6 System.Runtime.InteropServices.RuntimeInformation.dll +bde2bb33524a73e2964cd47ddf753150d685b31ebb1c4779e66ca426b2b419bf System.Runtime.InteropServices.dll +61cedf60e24e672bbde2869ceaee84342d22823315aae7fb7b768e9a6e6893a2 System.Runtime.Intrinsics.dll +b55e68bf26539914d8eb80718dc5b183f36d53c7fa20103f52c06796d33aa0c6 System.Runtime.Loader.dll +46b0e0c9b0198446a5d4ae8579433a038d7f1199e0378ee6213a0390bdd9a99c System.Runtime.Numerics.dll +18e20e41f0d87206ff1fbede425b7737be7c554c1704af3c684e83bbdec63157 System.Runtime.Serialization.Formatters.dll +87249d372d73fc7fcdc057be0efba1c36fe7318af832463dcfbf55fd067bfa97 System.Runtime.Serialization.Json.dll +5981ef301f6a849ae73bfa0eeb4956992fc15b00f705c35f208eaf6793a37ab3 System.Runtime.Serialization.Primitives.dll +ab0c54734d37e5aac3f726fe7806ff8de5c5bce757f7993135540154a72ade79 System.Runtime.Serialization.Xml.dll +39da6e91e025583c2d51a5180614cf278bdf7f6d850c4c011422869efca625ce System.Runtime.Serialization.dll +d6b4189c8e9afce3629b27c902c198a54ad3a355ec8409d3880b3b68fb1cf445 System.Runtime.dll +c83dce7b6b0737d14771c9ad38a8726787a91472be503d8f911bfe91668efadb System.Security.AccessControl.dll +77c7616c8f073677f8a057ef032b21d8f6dfeb19179b936bd54bab268e71cbf5 System.Security.Claims.dll +0e5de3978293221c0e36bf52786abea8f7b74ebf06de58c9717db4507e59ac10 System.Security.Cryptography.Algorithms.dll +9198b7e57489278215a2489d66d9d52c7a9d65ae7abe399cc9d27d1b23debbf6 System.Security.Cryptography.Cng.dll +2774b21002a29479de3523f8781d1411e4990575b50f1316d6a9cd490980c2db System.Security.Cryptography.Csp.dll +070abb893bb963b2a846ad8b8c1354563c7b362d1c492eec53538fc28a871001 System.Security.Cryptography.Encoding.dll +e2a8cba098ec00d19d043750e8a19374cc65d1a498b9eb15dbffe0eecc579b32 System.Security.Cryptography.OpenSsl.dll +1ef36ea7cf94604119c1ce1aeaa0b698288079b6d46ed6432124a13baba8a46b System.Security.Cryptography.Pkcs.dll +89e9947ee1e7839eeac2c9c0b37a2b0c0433ff338dadec6380fac1eae375ffd3 System.Security.Cryptography.Primitives.dll +02321322ec85e0a68f28ad33e549213b1dbf3de0e66c3f7803f9ae32c0d00ffd System.Security.Cryptography.ProtectedData.dll +398e55927b3cfd070bc8d204740e50d012cb78f7a2dcb968a33869b4aa54e067 System.Security.Cryptography.X509Certificates.dll +850bd054df5487ce692ceeaec3a81758bc086409cc6b131a9d6fed7cd9b03321 System.Security.Cryptography.Xml.dll +b043b1ed136164fd69606a9e7f26f1fc05d0c7cb888c0c00e3b58544623cc7e5 System.Security.Cryptography.dll +25f1d31f27d8e9a97fa203160dbf9a8a7be8188328ac74516002d0ac071961d9 System.Security.Principal.Windows.dll +d1cdbae10415e4f384ecdf34cd6e427f7c1d67bb6549b7e15193006428734bb4 System.Security.Principal.dll +3347281129d6cfc4a5c912dbb9f803878c99cc60d125ca5f2adbc4718ccf348a System.Security.SecureString.dll +e81926edd150a900fa0d6832aa813b2c3dfb156e7116a7cca2d96640ff24e438 System.Security.dll +9537a9d13c43511fb95b6d30dda7817851b23e864503fa336626522499b51d24 System.ServiceModel.Web.dll +ea5a19f84a144a74962d5060e63f65e10ecb32614f70acad33ddf7cfdb28f2c1 System.ServiceProcess.ServiceController.dll +13fb65e12deec9ac60a8342dec6caeff8d35b56dc142cdabfab2745620d46fd0 System.ServiceProcess.dll +e3f7a38a01cd863716d83ae322a007a2d052044cd8bfc2b5b1c268ac05c9d931 System.Text.Encoding.CodePages.dll +fbbc0dde38272605b8b95271cca7202ca04d5fa115acbcee936e1bed611fd23c System.Text.Encoding.Extensions.dll +f1531dcab1fe59529829a1a241953a5e55ef8340c8cf1a21c053eeb7c48e2a84 System.Text.Encoding.dll +319eb068c30ae985653a31911086141f5ba26b99e0ce7ff083f455ad42d4c584 System.Text.Encodings.Web.dll +ff440fd7d4ae3d5a6d080c1ebaaae7d5f4145ea162ab12bf8931e92b4311f469 System.Text.Json.dll +244be34f8333ff60b1fa87f54feea7e8338e2ff96fdb148a4d4bf12b7c981c86 System.Text.RegularExpressions.dll +6f4b852763d9bdf83013893f294cd021a0efd84243374e52e148d8b665ebc8ec System.Threading.AccessControl.dll +26f3f523ae3a685b462c1b192ac752cfa8da5db5ba4e2714b2e64635e717a4d6 System.Threading.Channels.dll +9442e2b745620403121ff4868fd430a2178029c22ae6a8dcac77d957ada4be42 System.Threading.Overlapped.dll +e791781ea857a11af490f5c6ea31e9c3d0f7ba67ed8d898ff4862ce603d6a844 System.Threading.RateLimiting.dll +bbf7de8812c20b8e61f9833d72814dd858c4781fa35500b2374c7e5f19d3a246 System.Threading.Tasks.Dataflow.dll +b35a1faeecc0fb706b06f470a13fb3b1d2addfef1cd5a81fb1bdbd75ad6c8fdd System.Threading.Tasks.Extensions.dll +2853f090ef0c1bd47f91800ef71b0b44084b1f703b3b699919466e065ba2fee2 System.Threading.Tasks.Parallel.dll +a908649b99249e9533d674ed8838f2cace1f6a4071d848bf9edf7b96dc4ebc5f System.Threading.Tasks.dll +5e1c4834abd41d88f79872557c69d20502e2d220bde333870e31d1a1eb4eacd2 System.Threading.Thread.dll +2135197f9cbc09004ca02055bf54b5e3d0e2d7a9d61c477e4ef129321eb0b4c2 System.Threading.ThreadPool.dll +a7763eba808803faab8e904fd5b467d9c7dd5c18ddd9a584d7c686f08d27e10e System.Threading.Timer.dll +6c2137fb877e647a6c0f8909db8ca7af1e6fe95f19c6e531f6a74539fabcc6ad System.Threading.dll +213df40904a1b088fce848eb34bbc91785cee298632e06670518d306536af23b System.Transactions.Local.dll +bfffd1196acf43fc9c88ebb561bb3a964ede3d8269bba09cf3258ead1ab4fcc4 System.Transactions.dll +03a5049c71a54d9e8c2f2b9180529804d3e956ad6432a0668946115b29d3a830 System.ValueTuple.dll +1097a135ce82145a8f7dbacc0b8a4d8951e067652814ff6d9fff0927b21706ce System.Web.HttpUtility.dll +5fc03752ad1c79c05bdf71cfc841f7c16cfcc4366365d8f7f31e22cff3cadd7f System.Web.dll +b2a12218c022eba72d8acbc36c012211f965bb49c2fe92c0aaf0964ee785c800 System.Windows.dll +f66daa73628bd932749377aa5094ebad056a63748223ed0dedb4b7dcd49e22b9 System.Xml.Linq.dll +496dc55783342234033fe7162f618938691f25dd818633cdd386dba6e4e1c271 System.Xml.ReaderWriter.dll +4a38c5a78410d11d32df42565312306eefc1bee5c73a6c5c8c661b0cf1ac0717 System.Xml.Serialization.dll +fd3c02115f7ad89770a70f18f83c8e4cdf8c78bb4f88046923f3285fa853c7f4 System.Xml.XDocument.dll +d68c378b07f099610b2eda021a232499cac2d6b96fce72b20a4f0b07efc85513 System.Xml.XPath.XDocument.dll +03c3c78e671c3abf1d10c830eb67b8761bec7b6dcc0ae74462736df3616434dd System.Xml.XPath.dll +fc671e921ca4cae98c3b1cd0ad0fdf1e75f115917c9fa0826f194efbd149c1ba System.Xml.XmlDocument.dll +8e9bd064b432d8617038f2100b8268b8f46e4c22a6c09395ad0519e657c8801b System.Xml.XmlSerializer.dll +8b35480d266706f1c8db8e70216a72ba26d3fb25725f8a1131731e4d380410ef System.Xml.dll +ea77299c8ae8751e2868343efc838167b2612c58863690b83692de4d66a34578 System.dll +f9892e164816e0b1cc9aa47c2efe3f48814ea8fbe4f04a125460555eaac9d9ab TwinCAT.Ads.Abstractions.dll +016eb9f6687832b0a7a819609ffb3227204f75732919ef19fb3366c038a11c5e TwinCAT.Ads.ConfigurationProviders.dll +7da06f37c0572d5a8af8e0a5d6a81bea18c3ce1c08ee7501668570fc70a7d033 TwinCAT.Ads.Server.dll +2a9c2ca91889e24f088123ce313fc96060897b9e34232022b0566dfd2ea32a0d TwinCAT.Ads.dll +a88115b54a4782631612f995f857624994143e783aca58dfe2fe0800417a49e6 WindowsBase.dll +8dfda63f20ac0a34c43716f593bcad60755daf71ae4aefbf7ab1f34a0951de11 ZB.MOM.WW.Audit.dll +24099d4d38811a364569cba4924af2430fe1e8ad8d3e735bd840dbfaa548cef8 ZB.MOM.WW.Auth.Abstractions.dll +ac062c1f634055ad9b80bd13344481318d6f45ac45f40dbaeed861ee20a75984 ZB.MOM.WW.Auth.AspNetCore.dll +8625dea672beff26bd8f4f2aa54307cf652e50ad66a2c6625bb27d282199c32d ZB.MOM.WW.Auth.Ldap.dll +ad89f1d2abcad33be99b03bca37b26a9b92f90c354e98a99928d6176b12d58a7 ZB.MOM.WW.Configuration.dll +a1345d712159544954955b41e7d04bc35180e1b9b36fdddcaedff5821a09d9c1 ZB.MOM.WW.Health.Akka.dll +d4fa98ca71512d1927037db22477facf49472249854898fca55c49c726307693 ZB.MOM.WW.Health.EntityFrameworkCore.dll +3c95dff17440b9df9195092812949b6e16e0c02456953650a839963af66df633 ZB.MOM.WW.Health.dll +b89a02e0d228ec549c4dfb755694f7f67b573a6077f06ff2781165e884fc5e12 ZB.MOM.WW.HistorianGateway.Client.dll +e60d3d4650be5d251982f7847404daf1b666f61d56e2b0ccb844af8677e97743 ZB.MOM.WW.HistorianGateway.Contracts.dll +d4da2a5bdfd3ebcb56f7ec948cda12bf378dc34079cd20e864509902a93bed38 ZB.MOM.WW.LocalDb.Contracts.dll +234e31795fd0641f8f873f9ce9641d7d4b028be724463abdafb0f119dc18d800 ZB.MOM.WW.LocalDb.Replication.dll +ac243f94af069faa0b171556a6e24bd5140237f275f3548c37789993c221ee6c ZB.MOM.WW.LocalDb.dll +51f8b6109d8011799fbc7ea9e4e319ca62e556efa7c46fab215f1b879adb566b ZB.MOM.WW.MxGateway.Client.dll +e5032b9d2029e97bfa0f566491ee66e653925aeee39261089ceea62d513e683b ZB.MOM.WW.MxGateway.Contracts.dll +2f788f71207fc951fc8a640d0ed4a7d96c97f19231ec4544702375f5ce9cee09 ZB.MOM.WW.OtOpcUa.AdminUI.dll +0d58382a558ed94b27a1471207c519a919d8fc92bbbbada98647e3274b7d75ce ZB.MOM.WW.OtOpcUa.AdminUI.pdb +50c4436ed7f3a51bccde10049c609f207c4697982fc40d4a9381411b8126c55a ZB.MOM.WW.OtOpcUa.Cluster.dll +ce2e8b811bca2fdd820685f1fe7e2dc00e1952aa3d0df6ce3da9c43f46b25c43 ZB.MOM.WW.OtOpcUa.Cluster.pdb +32ac8218c64f6125975e636c611f88c5fd10fc8d9c286e30aefb2cf6ac71a926 ZB.MOM.WW.OtOpcUa.Commons.dll +44cb1fffb661db708145d129661a72e84dac12c2a992d65deeb0b07ffb735999 ZB.MOM.WW.OtOpcUa.Commons.pdb +e6ef54f6d32ec7904f38f7efeef59fcb4a73649055972feb8b1382957940fa9f ZB.MOM.WW.OtOpcUa.Configuration.dll +fba322dc9f5bfdfb94ba0cf5512b64d91fcbfe9d993b7a9abab4395fe2171fbd ZB.MOM.WW.OtOpcUa.Configuration.pdb +6a3dd90861145ddc8a28782be8c653994a912a84512ca2274e95e3545b5b4672 ZB.MOM.WW.OtOpcUa.Configuration.xml +40ddfc2750cf316af5ff7246b479dcb6fb2ee6a416b9f1feefe9954170bdb6fc ZB.MOM.WW.OtOpcUa.ControlPlane.dll +033bae54442b116fd4a8a8471502aefc170cb477a75669282265ce49ab5acd14 ZB.MOM.WW.OtOpcUa.ControlPlane.pdb +add3223035f88f02be534d0db5c80ca9ff4119fd588127c73c04143d34a423d8 ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll +200384c70512c5c1f1964ae72cf432f1d79e9501b369842d5da17b2dd58d4a2b ZB.MOM.WW.OtOpcUa.Core.Abstractions.pdb +62d00c09711771abd3e87b1375b1fd0362d0f687ba5f0edc3ecfce15e628836b ZB.MOM.WW.OtOpcUa.Core.Abstractions.xml +031c2f63044146bd161081510d448fef8c933369b8a1437ebc5c9157b2b433b6 ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.dll +d9dc539c5af2e63abba0ea0a21c4634df6cba7c39ca9020e7df68e8c6933548e ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.pdb +e55af77bab0ec8d427e4823bd79b881f026a9a7154393852dd282fedbd7878cb ZB.MOM.WW.OtOpcUa.Core.AlarmHistorian.xml +1295258fa32281ac9ebf1cab205115905495503a7d34cea165e885c88cb4cc80 ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.dll +0b9a6d67014bc6e612e260b2aa7453aa628e48d4e5520c7d724ee4d109ca4e4c ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.pdb +98ac58b6f49df51b405e7cc49dd297d72c25a544b3151cecbf7f111ffd8fdb8c ZB.MOM.WW.OtOpcUa.Core.ScriptedAlarms.xml +e44c129a629c0ddb9d63b466030215a7408a56ecefdf73c3547841bc936022f3 ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll +7685b27069ff322e30a6280c9634b5e6eafd30172d27504063fdd138379d495d ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.pdb +1daf5bbd3dfdbc85b4b5d6102592549e460ce5054716c004f207e4856bc38e80 ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.xml +b04bda24362a0f88ac8b218e6cbe01cb5c787628db0d9fb0026ead5aadda665b ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.dll +2ce7a28df4d44aadfcd93cf0a32dfbd772962495168b6708ddaffea3f16af866 ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.pdb +39104474012fc074ad711c412b5bfcdf6274ada7a51dde06aa40afc177cb9ee2 ZB.MOM.WW.OtOpcUa.Core.Scripting.OutOfProcess.xml +3aa0e451a236d0a38446cff4b2a3a65e22507999eee5f1a5914b065fe5345d9d ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll +52a76f4cfbfcdb6a418db21aa561cb3e91db01b3c566204da158cf4fb7a40ff1 ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.pdb +e240934357a4040b5f18f5c2b129e7024ab4153e23d1476127278974d8d19654 ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.xml +7410991bc69a9bbd394a980eddc7a0885b4914659f2ed2269cec25d55b9c59b3 ZB.MOM.WW.OtOpcUa.Core.Scripting.dll +ebd8442c7927033a43af467dcdce7092634b17ca17c84f1c133127f9db61b0e3 ZB.MOM.WW.OtOpcUa.Core.Scripting.pdb +4adbd2527b337d8477658bdd431d9ae81bb7085df53f3349c0ecb777eb000ce6 ZB.MOM.WW.OtOpcUa.Core.Scripting.xml +fe956080f93e1c510a06e0ccbdbdec7b082c1fcb9daaffa1ae5d362d008a2ccf ZB.MOM.WW.OtOpcUa.Core.VirtualTags.dll +3a2c1c63081b03765e7c2dc4f8dd64a2351db3a972eebc336ee684e28b648935 ZB.MOM.WW.OtOpcUa.Core.VirtualTags.pdb +b600e9174c9f59c10c6cbef14dc4f313d79c84c69c94b23fc25a481d763f2c22 ZB.MOM.WW.OtOpcUa.Core.VirtualTags.xml +0cbc37ec554f3e0b9af447db3944d1315e706dc880c7f52aeedce2fb39e000e2 ZB.MOM.WW.OtOpcUa.Core.dll +7c0def9c82f9a67b7c170f8de8c07ba8a38e5e453c4616f1f4af0c1582e252c3 ZB.MOM.WW.OtOpcUa.Core.pdb +960763475a96ce77df99790acffce59f31e2f2811fd20ba78ced24ab31b8a5e0 ZB.MOM.WW.OtOpcUa.Core.xml +0cd54b906950d37e1efe781792a5b5a07b9c574e2f02719b131489c71ee36690 ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.dll +81e15ee5c663f38d2f02e0aa0d9db60984b59dc0af7de2c32c0acc477263ee19 ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.pdb +88e44591e5ad0edf1c8323dce58d3f572cb569f170b5999e66f0cdadb3afd1c4 ZB.MOM.WW.OtOpcUa.Driver.Ab.Transport.xml +475d6342d2faa9c34058a4e17e7a1aa39add0d7fb6603916634cc99db98d3f02 ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.dll +594f576c5769fd8a47d7e7a06a90a5f04861bccadba1c17d5a103e6515314d03 ZB.MOM.WW.OtOpcUa.Driver.AbCip.Contracts.pdb +4c88460e7543809671968e8b4a3052130dd0b2363d4151ff52a3a0cfc8cee7e9 ZB.MOM.WW.OtOpcUa.Driver.AbCip.dll +cb15d6688b4d58e33bdc9281f6fa4b68abfaf401ecf2b782350eebda5e4cf595 ZB.MOM.WW.OtOpcUa.Driver.AbCip.pdb +e4fd4beecddd5f80c1238e17aa6ef752f134b7b6854e71f8cc9505b730a94c5a ZB.MOM.WW.OtOpcUa.Driver.AbCip.xml +bd80d69f62c42bb4fd2f6b822139f12d4fef0c844a4e2f2aba5bb5d9a9c69a1e ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.dll +3f2a0c16cb7df8ade6949a40c93614dc98a0518459dd1b2f27cd8a31ce6a7c74 ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.Contracts.pdb +208b78b232bbdb617ef5c110c235bd3631295f131fd42815f6f8440470694442 ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.dll +01eb792104ecad7e87686a798b59cf0fa6bc4e4e136d54b43cfe665575516943 ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.pdb +09228d8cd1ab88adffcac4ac504fade6bb3d1df938fc06eb7e008fcef08f5f60 ZB.MOM.WW.OtOpcUa.Driver.AbLegacy.xml +92c5724a1906764dc870646e4466f5935ab269fa62ad65ef75f440edf55cbb5f ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.dll +42f161d9941f5d0d4328d2ba333b560875c536ae9c4e8d63ffe487843627c5e9 ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.pdb +2452766cac3fa00a309ec057dddb1e214d22c22590f234271f44782e65260c37 ZB.MOM.WW.OtOpcUa.Driver.Calculation.Contracts.xml +bc425dba3785159f580f066c8e60954f05c570099539890e52a664efb24ae494 ZB.MOM.WW.OtOpcUa.Driver.Calculation.dll +d828467b08ee51fafa5654c3f3865c24dbfe8a92bf83e0a1bf5718330a1e4487 ZB.MOM.WW.OtOpcUa.Driver.Calculation.pdb +15af650cae7be32c5733488095379d8ce6b70cedd8ba9f138e47697e9a9e24b8 ZB.MOM.WW.OtOpcUa.Driver.Calculation.xml +1b1dc063690bcc414ab94b3627bf54bcd46340c4c2c9abf2a6a2fdcf92045a32 ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.dll +624defc38b14c408ad5347dcae13cc03c175d425978ed9cc24535a8984e01307 ZB.MOM.WW.OtOpcUa.Driver.FOCAS.Contracts.pdb +7490dbdaf5e9d617adfbe66a2d2030bb009c75f4efc84dd89a8877b8575f15b3 ZB.MOM.WW.OtOpcUa.Driver.FOCAS.dll +851e354711fdc4dc752febdfd0cdbdb299ece12f80b3e6923db78677a7c93a89 ZB.MOM.WW.OtOpcUa.Driver.FOCAS.pdb +903b317e9358ed9343539eb5e0d79b03e754d57933407aae751ddab701dfc90b ZB.MOM.WW.OtOpcUa.Driver.FOCAS.xml +a397d2d1e9bcb0335bb4318c8706e4c4278890b9eafa384b59cfccabf4e23578 ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.dll +8c2b4ddaca1e5f3c255713abfa843deb8268b056ea7f34eb929ea1faa54eca8f ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Browser.pdb +689f437db0d96c130edacbe70fb439f0152b3500b455a2a0ce8b2f6299f8a657 ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.dll +5625f3d32b66ff002d9e1e1bcf4be80f4ca5fff4de31ee72f1bd77986c87e8a1 ZB.MOM.WW.OtOpcUa.Driver.Galaxy.Contracts.pdb +344620a4450ff617c0a09f728dcc1cb3784f9a58342fba8724d7a9672a16b60e ZB.MOM.WW.OtOpcUa.Driver.Galaxy.dll +305a6865bd9ca24eac940f959fde1c040aa0993f38b91933c14293c443b08b08 ZB.MOM.WW.OtOpcUa.Driver.Galaxy.pdb +ce1f929fd4171f8729f9501759424ea844b22e46cd2cf5eb79a35bf2f9af944b ZB.MOM.WW.OtOpcUa.Driver.Galaxy.xml +56512d8096cd90a8930c1bc913b860f5658b8d33fe8d5cd9114431365a30e812 ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.Contracts.dll +eff364fc285bfca47e2a315148294d6217710a39c53b19a567354ce82003fe05 ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.Contracts.pdb +0770c7ffa6d405f2f2f4edc4125b09bb763efd896c53eed91f6b9d1bc52c8c4b ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.Contracts.xml +0136920e6b83f7c1c5e8baa20613b84f125022cb9bfc040a598481d3bb9f3222 ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.dll +05371eab8d65e0de2a43495a6a39b072b9986c08e93510539e03e40ccad5aaaf ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.pdb +bdc86dada1c96e5ebd9ae0f94f6eb5a75b132f961933051bcb76b15e48ca1f48 ZB.MOM.WW.OtOpcUa.Driver.Heidenhain.xml +ed9f1a8d31bde79729f28b2c21a8a8e349b3b802b506b08404fb8653cf5af567 ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.dll +e27a97b24a9816f15778ba1fb08442f7976fb79fb5f1885bdd79009002fd09b2 ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.pdb +ec42b395aaa08411c38d9496956f3122d81d1471dc21198ce378a3e58e960345 ZB.MOM.WW.OtOpcUa.Driver.Historian.Gateway.xml +fb7fa89809e73ccb3022ab27d3e2a3438e2856e0f8cb7c99bed41b81947e5c04 ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.dll +09fd9e4b573ef676a7b771bd377ff7a924708ac4543bb543731dae342bed8edf ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.pdb +16027c65276da58b0e4f6ade78edcb542f38757d478d8992805a6b78ce0a7091 ZB.MOM.WW.OtOpcUa.Driver.Historian.QuestDb.xml +3b286dcf1b324987bcdc2b600284a4c67dfbeb72143c7a0601e85618c8fc2d2e ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.dll +2f17e22b4d0d680aa8b15366f3f33b479051649a7a05ebb16d545c975e4790cb ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.pdb +b9dc96b8c83f5bb699e7cc376262a19817f0aa49f92cbbb0e8c5043ab777644f ZB.MOM.WW.OtOpcUa.Driver.Historian.Sql.Common.xml +d22e42fc261c2409b6b86f83a1e323cd91ace3e82c29390e7e1a95fe387e015f ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.dll +3c8bf21f19b3d9cf652750207bfa47ecc7489311b8b7317d1aadb97659197290 ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.pdb +38c9c51aaff51677438ced67931e8ca7e61e44803fd46e887c99f64135ca3474 ZB.MOM.WW.OtOpcUa.Driver.Historian.SqlServer.xml +0febf45ca0b4b53312961eade27eb1ce1a759ee275a93cddc8c62b710dbf1ce3 ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.dll +5eaa615a53df6ac51ea73e0db26ff9d2bf6b9d61a7e771f119af80594c17955f ZB.MOM.WW.OtOpcUa.Driver.MTConnect.Contracts.pdb +5354825d6b78930bdb8fa701e0dd3b0fc8824be4381d9ff4a3837361b484819d ZB.MOM.WW.OtOpcUa.Driver.MTConnect.dll +0a8da044cd2adbae73bca1764bac1a71d75b5c8b9d47f0d272bdab9904c1bd09 ZB.MOM.WW.OtOpcUa.Driver.MTConnect.pdb +2bd91ee0cdc9e6c5e264ab3d9ddcbc7f6ae682c0819ef3709a826320dda0130f ZB.MOM.WW.OtOpcUa.Driver.MTConnect.xml +4d35fbe229d96ec22918119db0a2366b63fffd9836a445520be97a6156e3a7fd ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.dll +d6b4f92572465251f5d9805b6b24beb128a4b3f90d4283a23542c00955addbdc ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.pdb +accd72b04152c7564f0b78cb21bc2502f6896b9fab47fd61a6856fe5c3db327e ZB.MOM.WW.OtOpcUa.Driver.Modbus.Addressing.xml +e6f698550916409b999353df5f668bf0b8b22f0f0e820bab74bd7e00c4f302f6 ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.dll +90e55d8c140ba04825fba9d1a337ecefaba7754e3dbbb92757a9b6b00f2a2a5b ZB.MOM.WW.OtOpcUa.Driver.Modbus.Contracts.pdb +644a52fd983cf859da4cd9943a4758f6c6314e8cadca27396dcca981a1165d39 ZB.MOM.WW.OtOpcUa.Driver.Modbus.dll +8c18c1d759f7e3555b37fadc233695dd21fa9fef331bd613cf7339c033c1552b ZB.MOM.WW.OtOpcUa.Driver.Modbus.pdb +a79e16097cfc1b545a17c1e8e29e1de426d6659a4b99f4a321d42965335b4827 ZB.MOM.WW.OtOpcUa.Driver.Modbus.xml +1c80c725cfb3faea4b941b1872bceda1329d69b113657c0a5b3d3366f04b21e7 ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.dll +60c7e7c8c251dccadb4364428308f5c4f8b0557091bebb0a6decb46366ae95fb ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Browser.pdb +34ff22bf9afa08713dc07a0582102e794343f7849fcfaaf559c8852120c4d8f0 ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.dll +17bd7abb9a68122faba2acf1ba3cfc9137de01be655fe7911a116a152b8aae7c ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Contracts.pdb +5a07cf3d9ba237689ab6afe77c17559dcbb09261a1e7f0a9e02b33f9f86e284d ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.dll +7fc08b61693d42782405fd207d70f805a1a88ddb5f9dd895710dec7d13e301ab ZB.MOM.WW.OtOpcUa.Driver.Mqtt.Transport.pdb +0aafdf6dbccf06ceddbe66b309db11de0579c371884758f9d7243979d2e15596 ZB.MOM.WW.OtOpcUa.Driver.Mqtt.dll +d4610e0d4504868983d1bc33d9be98107b3674bb0e3e993d0e71c8e369824a21 ZB.MOM.WW.OtOpcUa.Driver.Mqtt.pdb +d13d7f41df9e48aa19c97826f3e541ee9fcb4eac88a5eb7a78ce608eb4993e48 ZB.MOM.WW.OtOpcUa.Driver.Mqtt.xml +0ec2264acca8c52491d526e3636ba98e373b4e20a347bca8e9432241db5ee65b ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.dll +a34bfae85f114220fe29e10ed10f993f7ca69e30a1ce9e7890278d5747e90a5b ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Browser.pdb +3751ceedd1074e8713234bb588521b69dfcee1f1bccf634e92e80481399af618 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.dll +6f731b678440dd4c40fe6b2620fee5fd41ecb0f43e40f4180d68178f5130e29e ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Contracts.pdb +8d90ca258434e973527403706495e75e89555e0e85b7c283812933def103bd16 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.dll +c8e92e7f307a951529e4fb80a580f132e9f19dfb6945533784a9b26126261f40 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Session.pdb +ca678f904f242d7e17258b04deeeb094a1cfa1453c8be16fddfda916a0c4d191 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.dll +486c38829d2e3553d75fa731880d7788e1ab68908cc2f545662e6fb2fae94757 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.pdb +01282671641ee4b257ba1f56c6ff74772df021c647fb75882f8105f3f02fc9a5 ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.xml +6f7fb80b35ea02c69d8758a695ec549c7d4a54815df4a96ade66e6287929e01d ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.dll +21a065c8b939356fcfe8b949666d25b4ec9c8bb7034a77d8ac85ee370f591982 ZB.MOM.WW.OtOpcUa.Driver.S7.Contracts.pdb +18321f0f37b19c46571d71ddd29d9cf5353173d9d44903ae4c5ffa68de9197a8 ZB.MOM.WW.OtOpcUa.Driver.S7.dll +07c90c2355db89e0f4e08d923b220e4cac8434cd888d2dfd71bf33a5b1155c69 ZB.MOM.WW.OtOpcUa.Driver.S7.pdb +d61d42a0c978ae00ac5073f640ef3184aea886c7917ca859ef233de4d4970bef ZB.MOM.WW.OtOpcUa.Driver.S7.xml +6a8bfa105dc5c361a3b121263f6d5d90cde7493cf640c98b141042b17b0e04e0 ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.dll +129cf398d188ba3b0db49f8faf1c30a5a313386a61ed62aa7e9e6827d2f1a696 ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.pdb +bbfe7f6d316b602d4b40c46ca050652377819a9f0165706d1fd553d79289139b ZB.MOM.WW.OtOpcUa.Driver.Sql.Browser.xml +894f1b1476ac6f7b1c76455c65a7f3e1e20da0b5b2c3cf581dbc19c2f3f43970 ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.dll +0384f1cf98d422c574ed952d3f62856b00c694e72acae96a93854921b45a9166 ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.pdb +f038c7f0cc8d13363ace7df1a807b3c4ad0fb89a5cd225e6fd6ab29bd9fb6531 ZB.MOM.WW.OtOpcUa.Driver.Sql.Contracts.xml +25b022defe7aa37b882c4e112cdd416c3b541ba75dd22a1a56f87aa2ce557d67 ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.dll +35f77892206809ffc9f4badc99b273dad76aea6c720da6884353f134ccd7ca32 ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.pdb +a5c66fa18282501de55be8a0787b5f7797a0d3f3630934fe05297393f3dd298f ZB.MOM.WW.OtOpcUa.Driver.Sql.Dialect.xml +3da9a661deb375a78c7fd289f247315de68ae8c902b0a1a26efe2ce41742766a ZB.MOM.WW.OtOpcUa.Driver.Sql.dll +ba69008ab55811c0360f2c0860551e48dcfb4dae0e561a3e37e64350464a428c ZB.MOM.WW.OtOpcUa.Driver.Sql.pdb +70efab3049ef06f407d52cce405347c4fc901f8097db677ac123e6bd09290dd6 ZB.MOM.WW.OtOpcUa.Driver.Sql.xml +cf36457e2638791ba89562c5276368e9a8af9771e317d68ca2c2cc691aced11f ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.dll +9413f257b1861656270af239d199402ae12ceafe6e89b4ffad35ffbc8baf4096 ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Contracts.pdb +ca6bcf826b5307ad3e77ff22e03bd5ae8804b0ae44572cc28353d34bf9f2a181 ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.dll +cab52f1c3337ab727ed6d4a194645810d09d8dfbc0324f750067e83e3b220896 ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.pdb +51b857c92d05d13a081bc2dc882a2962da27d8039e0925e7f7252a12d0cf26f8 ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.xml +e6bae3146bc4ade87ce09f263b9b63a4c261a3993d0ce6f29bd3ffbb59730953 ZB.MOM.WW.OtOpcUa.OpcUaServer.dll +4a609847507097ba9508436834be5995b03a9c94e1f2a1c5fa2a6fc90956730b ZB.MOM.WW.OtOpcUa.OpcUaServer.pdb +d4b4a9dbf2108d6b115c182a1bf22a5cdecd82accbfd6d2ec2ea306fa8277bde ZB.MOM.WW.OtOpcUa.Runtime.dll +3eca8ca790379adfecb1942122bc001710266b1d7dc94aa43fa709c60586b8e7 ZB.MOM.WW.OtOpcUa.Runtime.pdb +a278bd63f6df25698a3df0ba7e772b21e3b72661a1b5d972385d73a0336b7856 ZB.MOM.WW.OtOpcUa.Security.dll +eb8371d3c8088fe4f7c99adfdc4df87c084ac9f7efbb731c3c78861327a32ddf ZB.MOM.WW.OtOpcUa.Security.pdb +3a39c92e9a96a305bd229e99d2f59f2c273f8d08c03e431d47e24bd8b8b0ef49 ZB.MOM.WW.Secrets.Abstractions.dll +d6a3780f3487f5c8432fe12c057defb709d1dc7678c59307acd19b4cb0d6bdb7 ZB.MOM.WW.Secrets.Replicator.AkkaDotNet.dll +782f903b42bce46fb3de827e24d1edcbe41187976b6918c740383de158e35064 ZB.MOM.WW.Secrets.Ui.dll +0565fd86abead89be7b4520dddf92cabd5d0994f3620069aa496b8dfa41c9f39 ZB.MOM.WW.Secrets.dll +bd33ce7657de5d2966a7768a014f8282ca434a208b05defa2d27bf24c6f124c5 ZB.MOM.WW.Telemetry.Serilog.dll +834772ecc662ea7c49a5b512a26f2447db55a072ef1fad16ca768fbee0cfe853 ZB.MOM.WW.Telemetry.dll +12bf7d7ec7a618acdf9f5bff9a7c67091ce715698d3befb9aa610cc5c8b1b221 ZB.MOM.WW.Theme.dll +169a54d22027e13823af0d41c1314a6d3e44852041c8b35aa80478a88399fe1b appsettings.Development.json +eca047204cf6a9b4d89628d7ee2048bc68d46db55dcb4ae9bcf24dbe9e44cd46 appsettings.admin-driver.json +bb08f16d701697fcd70695b75d81a4b09bce57daaa95d6fd81ff469258ad3530 appsettings.admin.json +a7dc1ab1db2e93f1a6e78b7b1b425720c3c610cb406e6266f0dbe2ebe01badaf appsettings.driver.json +89f72acaded7f2d3ca434f2d922fe4daccdc03aa342f3973d35a160be9221b2a appsettings.json +6d67d9b52a02cdce5b6ee3f6e9e022891e474ee554b168943ee9c14512b1feaf aspnetcorev2_inprocess.dll +4b848b0ed6ad94a455a85e93cd0c10faef62f349c7ce6f39415ae55af72655d0 clretwrc.dll +ebfb09f29cfdc3cd269a4a5bccc0bc6e4e7afce9a7d263e43cb52bdec98e9e43 clrgc.dll +936c6122bb95df8bb6c7552e93ac01e426bfa5a5081dd7fc774703e05edb2d04 clrgcexp.dll +e33038c23f32074683e170b0ea74dae6ee74a05bb5e8ef6c9fd4cc43771b34cf clrjit.dll +1bc65b8d45474b19adf3ca85ce881087aff599ffc72b2c1a323e878227757b65 coreclr.dll +da50d230f70332385b86c44f9dc3f571b60340f8b603bc0e2f201b5a19240acd createdump.exe +936352b9810cfdf43d9b5bc5c099af32e399543bbb1b23a08b08fedd291ebf01 cs/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +1b7a95334e0457ed334646cb62e1287b88e908e50a5ccdce60891613fff7295c cs/Microsoft.CodeAnalysis.CSharp.resources.dll +c31516f7d942af11d52d2f01e13ca4ce20c8c9c09e2d8b433920757aec262a5d cs/Microsoft.CodeAnalysis.Scripting.resources.dll +b6f9770c7c83160b27d96e41486da99ed43deb71bbfb8d15bd70f25dc452c1ab cs/Microsoft.CodeAnalysis.resources.dll +6e9b997f45393346cf2f96da99f7fa868f2286964a49ce66a59988defdaf84b6 cs/Microsoft.Data.SqlClient.resources.dll +ab5a8419880fe8d756dee1816974cb1358dceed093a4719fa145ed5650c73b66 de/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +74ee2d88897be211e89ad4cd11a145a973bd4af0e74877b5a64f8d227e0ba409 de/Microsoft.CodeAnalysis.CSharp.resources.dll +7e5fdadb82ebc0bbb05d4b469b1f0ca78c1ced9fd66e5d5163bb9deee1abbadb de/Microsoft.CodeAnalysis.Scripting.resources.dll +cd62a1bfe99811c971bec1328a548dbc5f24e3bc9cd27f9715373c1e52abf32f de/Microsoft.CodeAnalysis.resources.dll +30e111759eb091735455f8a7e3cb2a5aff16287149cf3d4e7a67624f00320fc3 de/Microsoft.Data.SqlClient.resources.dll +b7385d722c83fb52142a00477a726723745916d22a555711ee89834c1111fb2e e_sqlite3.dll +724478523cff7e0d3093c6cbf4cc360b1dc235d91f2c281fdd50f207b5afc518 es/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +719bc0f799e12704498649267e473166f91015b629f4116474091f8ee9253e4d es/Microsoft.CodeAnalysis.CSharp.resources.dll +4fd738f23da9f53c2ac1d7daa716eabe72f2711f5e57e0b556a46ee996d5fb2c es/Microsoft.CodeAnalysis.Scripting.resources.dll +4c741b47fa2becf2f1283e96ec6f76d958f1defc2868d93c2c011cafcbc9f9f4 es/Microsoft.CodeAnalysis.resources.dll +6bb867e62e3aef301cecc99311603339301a086bdcfc8683c2c21f9f99850b34 es/Microsoft.Data.SqlClient.resources.dll +4bff2d170b55186bd650598f51c82fc1a98a5bacf4b69cd5e5b6b0ff3b77f5b6 fr/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +463e22ba0fdfee0025d6fb00314a0a7cf8a47d6b6689d88e0429686025a8f53c fr/Microsoft.CodeAnalysis.CSharp.resources.dll +07286c85ee919ed0081499c2c7fc4c83eb747ecdee259ff643bb07eca9c55de5 fr/Microsoft.CodeAnalysis.Scripting.resources.dll +80f5a07838b046388fda788223279c1c6638eccf9610fe80a598bb17f3b20f22 fr/Microsoft.CodeAnalysis.resources.dll +2eac255e2a16495d0bb89aeafa5aa668f74e12358e76eb1756de271b8b91e1de fr/Microsoft.Data.SqlClient.resources.dll +5b9358572daa76176f97f1bb80fe764b24ee1bc2cce0579230e7f9a28e3fbbed hostfxr.dll +84275dc570382246b4b36ebb3094c2b38190c2fd80998d1da20b95dfcae1c546 hostpolicy.dll +e076dd86fb0bbe3c4785797473a51d3f33ffb85bddade11c3295eb58203b5036 it/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +a853f3e433c9892150c47ad5bbedd46d3acb755bbc20ed58796b9e3e75aa9250 it/Microsoft.CodeAnalysis.CSharp.resources.dll +b5ecc81cf071afc0b816ffa73510c0cb022b67f00d397341dc243894936026a9 it/Microsoft.CodeAnalysis.Scripting.resources.dll +321a24f5ac605314380585f4991db0d99bcac59ec976be896a589fe842fef7a0 it/Microsoft.CodeAnalysis.resources.dll +5a50867ea6c62b3be1fe4429360fe8018f3002b95c4c7b2d306daf19b4a50053 it/Microsoft.Data.SqlClient.resources.dll +223cc533aabaa9641bb3e90e24918502475a639f703951bec6565de5709968cb ja/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +4d2baad888d7da2f20d528d27f6b56286961a6caa294a3d3927f834a3459f71d ja/Microsoft.CodeAnalysis.CSharp.resources.dll +c5b03bbfc3a237e68c81abeaf0177203b22160d0823de87f833243b5d772457b ja/Microsoft.CodeAnalysis.Scripting.resources.dll +f66432a517a834ca169317c170d32a610094c3ebc0c2b1f59d0087b33e2d36ad ja/Microsoft.CodeAnalysis.resources.dll +75539952a99301eba174bcaeeaded6da4d758c6f12565bed4208dc50b0344abe ja/Microsoft.Data.SqlClient.resources.dll +c13c8e207f48ac04b5ab76192d61f049490d7d3e50b2550111a14556199b2c6a ko/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +6a2e477c2a8604157f2c9f8e3756a98ab07995c0e6fcfe22f2e7bf6679f30389 ko/Microsoft.CodeAnalysis.CSharp.resources.dll +76c3fabf0b2c5a6eefa283361e836150b0989aaa0534b4ac9a36e5a5e6e899ad ko/Microsoft.CodeAnalysis.Scripting.resources.dll +1033d3d5d10557f7070430be5643dc89620d84cbeac2112cfb8c4a1d1580845f ko/Microsoft.CodeAnalysis.resources.dll +a5eac865982205ce0d1b94ae4cae4ec003b514829542140c91e67cf86312d5fc ko/Microsoft.Data.SqlClient.resources.dll +dec38f56006ae9e2119e9f61f9ff0e1aa9c08503ba4f42943c2d7632f60cbad5 libplctag.NativeImport.dll +1545b5813148d7ade7662282683e15d2761e0e34cb853bafa3b11a4d47795aa4 libplctag.dll +a5d4e3bcbddbbd549d3bb4e2b882970d2df9a8b9763d45cb9905e6fe169ff9b3 lmdb.dll +c941b834214ab2797f9c5a2f08f6a79d090efd7e06beb3a65658c258649fc306 lmdbautoresize.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 mscordaccore.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 mscordaccore_amd64_amd64_10.0.1426.52326.dll +31081748cdac21d8734422cb3188070c4f49cb9fd85051a7605bbb7337a7331f mscordbi.dll +5ff7b9c14324371cab67e190165015103701045ebc36edcb8a829e5505c2c765 mscorlib.dll +9eb4ec98c78e698e0c25e9088a5670eaad1e12ab4df066eb3803c495dc0031ce mscorrc.dll +7b32a336b638570bff7b2f4782ebdc05b8c70fac76fdb412f3e8a3c181c32a61 msquic.dll +2844417955d5b11f8434fcc969f52bc09104f438ae2f4d5595c36c355d06e270 netstandard.dll +03f45c69c264bdda12e7a9fcabe6a17e5b6a00e90f760268dcde43b7442c0a7b pl/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +39b5e1471817790a31ec4038639188f7b89fd6713ea19c88472bdcf4fa56f795 pl/Microsoft.CodeAnalysis.CSharp.resources.dll +259283901aeb5803ff90881e968ca32d4070c78e570a0ed3aca36f49413b2ed1 pl/Microsoft.CodeAnalysis.Scripting.resources.dll +f8779e45b1f699fe722898b1865377bedaf5a433c1aab6298af5b3edf067e88f pl/Microsoft.CodeAnalysis.resources.dll +ca9d25b7405908146f988c7fad48ded63e7f02df0e43bd1406803010428338be pl/Microsoft.Data.SqlClient.resources.dll +a7762a712cadcc489a17bdc431e6fce109c37dcd2f8e66742c85915333beacbb pt-BR/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +0188246fa239eadad25885093f21c20df4a775f794fc34468430729974a8c1ec pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +8850967fa3c77846c4ba03456f441c97b63b8370a9a3dedc2998c42e351e0f57 pt-BR/Microsoft.CodeAnalysis.Scripting.resources.dll +8ffdb0eff7c2de635a38f0093da5e95f52ca905ec2080cab4efac42585dd0143 pt-BR/Microsoft.CodeAnalysis.resources.dll +2a295a383e9076b24f47c1759e1c43176dfd876bc6444a661dee21170cde6b52 pt-BR/Microsoft.Data.SqlClient.resources.dll +a9f6c8a31dc5b4415ab72bdcf85b5966cb417fbadfd2016eced02244a5b6786a ru/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +d0b7b57bb90a4aed649f10c30fcdae5c9efb8280447287a76a3d64eb0db13e41 ru/Microsoft.CodeAnalysis.CSharp.resources.dll +bb70b4978fbbd45824c70a522c868df3f9417f3bd46f3aa69939ee30fb808845 ru/Microsoft.CodeAnalysis.Scripting.resources.dll +5153d18368224e120d2415262c49302100bb76ef7aff8aa686300d4225766c67 ru/Microsoft.CodeAnalysis.resources.dll +f7d51f47b1eba12021161ee39a7d08d24df1dcd52c131d1d94ee2c7e432f4cb4 ru/Microsoft.Data.SqlClient.resources.dll +c2769d0bc587db846b99fefcd778a8ffbb7fbcb4a03d2fcd8ce9573c7ef7042a script-worker/Google.Protobuf.dll +d8ea1fbbaafdc9734420131c5d1f4624826e411bad3e51d3eb4fb95ab154f66f script-worker/Microsoft.CSharp.dll +d0f4798de9cb78c13463a0f3df747814c177ec15e03e1c03aee17136798a2cfe script-worker/Microsoft.CodeAnalysis.CSharp.Scripting.dll +cfb5f2785c30485eda803d58fb8330d737cb07d469cd3d7bc1113d58e8d8e4bb script-worker/Microsoft.CodeAnalysis.CSharp.dll +7c3973a0997a1901c4f5978ef901e3ae96ddb780dead70a42f65f2e3f6f23e8f script-worker/Microsoft.CodeAnalysis.Scripting.dll +0a7fb1d94e0e7f46798b138caa67e5d5fb8fb98fd31b5294c917def057ab3d80 script-worker/Microsoft.CodeAnalysis.dll +70e4b89978ce57ef87b28f4921f3140c383b04aa96e7f3bdb3c4ebb898fd8a72 script-worker/Microsoft.DiaSymReader.Native.amd64.dll +da04edc338d5aa0f38a1f5fa5ff3ee7e36affe9c961daf3ea724a428bd746bc6 script-worker/Microsoft.Extensions.DependencyInjection.Abstractions.dll +7c242f8ca612fa1acc61f78efd5f8c89e01bd0bd47dc4ecc65e0e6e24f1a1668 script-worker/Microsoft.Extensions.Logging.Abstractions.dll +116ba4be0c7b75ed3675c315ddd49c1a43d871ed42517bb88f1270dba3f52759 script-worker/Microsoft.Extensions.ObjectPool.dll +578203d4915aa43283a3d6fa1083f4b80f333ef544e39ff0fcfdada1b7499a7d script-worker/Microsoft.VisualBasic.Core.dll +95aa41f885965447a62b59f1b3ce1677300c51c009048c8c677b961e98e99a72 script-worker/Microsoft.VisualBasic.dll +637adb956e9e80549239f1707db3885683504efbfc2ed8ea93a3d187ef53789c script-worker/Microsoft.Win32.Primitives.dll +143a613fc7c87e09c02cac0cc1469f850120bed98c5a1602ad84fc42b6c1ae63 script-worker/Microsoft.Win32.Registry.dll +142cce4ed8ac9da22d69c38a6f22738abfb22090dc9313e8b58e6f91978e89af script-worker/Microsoft.Win32.SystemEvents.dll +72cf291d4bab0edd08a9b07c6173e1e7ad1abb7ab727fd7044bf6305d7515661 script-worker/Newtonsoft.Json.dll +e6b551a75ff7fff20dd0024670d5c42dfb74afa16d54aa0201106dea400a9505 script-worker/Serilog.dll +b03e016fa01d7cc9723044c7020940779e4af59e29bdf47f72bc6ed9d9b1d257 script-worker/System.AppContext.dll +9bd4590fa18b9a6509efb5147158a6abbe4799e82e0efa9fa240102b6084872a script-worker/System.Buffers.dll +7f2ac0ec3bb9425017006cc750dc94a3c37ed175ba2f4eaa3f8f8e5cf35472e0 script-worker/System.Collections.Concurrent.dll +ce2385891f525991c59d99a86cfaf8d5a81c56f24b01a433f42eb85071832121 script-worker/System.Collections.Immutable.dll +82ab716ab740669598d8cda36a92690bcc4b01ebba8b21c0c4f0a7a8ee1d9248 script-worker/System.Collections.NonGeneric.dll +d9ed158ef29df6146151d13260ddbb2310da7150eb98c2637ce91d057f7786cb script-worker/System.Collections.Specialized.dll +78d429a901a73a09cda6037befaa56b79bfa557000b2a69ba1c1210253c0b21d script-worker/System.Collections.dll +f2c3fda351505065effbb42e175e50b4c9bcb4c4f560ebacc868d50d29252eab script-worker/System.ComponentModel.Annotations.dll +f7675a194e2f444670b94d3d3866dd3dd16b48b332cc5811268ff903e6c17a65 script-worker/System.ComponentModel.DataAnnotations.dll +d060e7f58feb609db4f47e2a6da25c4a9b406b97589004d4022d31d673aacc52 script-worker/System.ComponentModel.EventBasedAsync.dll +953db884b5edfc396ed4036413240e538cdbb858c06354d976d7b2e6ccce7167 script-worker/System.ComponentModel.Primitives.dll +8faabcf0ea88a11425d247b19d9cc8a64a78a7c07ff977854cf4a9166e0415b7 script-worker/System.ComponentModel.TypeConverter.dll +72b3608363e47f2cf3cf3fc9fe2fcefb760e5292ebb9d650fa4ced3896dab5f9 script-worker/System.ComponentModel.dll +d274bdd71f75f5005fcaec028921f71d89cb6d622022d74d2e07897a3a1d141a script-worker/System.Configuration.ConfigurationManager.dll +c53f9278c6889d8562d616106413bf50198f452316b4c5002100c568d541428c script-worker/System.Configuration.dll +8be68e4cb2f0b64b5f37f7a7aa82db2ae1648115a9b7b9381a3cfac7cdb4aeb5 script-worker/System.Console.dll +f1dcf1577c6a675f1c85ee9f13d103495ce123ed232001646f4132d76c1480cb script-worker/System.Core.dll +e6be5f74d117b7300523041ec239d2c7b64fc495ef954f48f81ca71507e510c6 script-worker/System.Data.Common.dll +65bd4ccac3f6f062a68d2ff797bb3908b7f21f908c95a1e85729b8c5bbcb3b87 script-worker/System.Data.DataSetExtensions.dll +dc01c232769d86816af9d67e492902487bfc87f787f811ca098f42f4988ad789 script-worker/System.Data.dll +baeabf6461eb78165280fe2a0fca951146de0d8f672ec20a159aa1f431bb409a script-worker/System.Diagnostics.Contracts.dll +ba04477089ee6fc9ae8c2a8e711905fe1d7a113c785cb168d28eccaed435400b script-worker/System.Diagnostics.Debug.dll +c84547ea80b944c4683901e03c2e0c00e462a7b12a3657f5f3e1474a5d52edaf script-worker/System.Diagnostics.DiagnosticSource.dll +b86967674838e9e7465e171d334f6b970720ebcf005326e45c1c08e5720a0054 script-worker/System.Diagnostics.FileVersionInfo.dll +1acaee1d612a45f2f287675b5b84defed1b34a90cc659641f97043f45076fbe7 script-worker/System.Diagnostics.Process.dll +c464ff65bb7a1ef7e70b0c610aea951e8f71045cfde50602832969aa02253b6e script-worker/System.Diagnostics.StackTrace.dll +a1656873dae8b3f2a56714f5a9bcf179e8064a992943cd0b275e83310fd4edff script-worker/System.Diagnostics.TextWriterTraceListener.dll +dade40a11c2594fc03c84d119050f8b4281077bbc28298e3c2f6d96673cb0667 script-worker/System.Diagnostics.Tools.dll +248c392f7df6bd5de9be9411dfbbd61fd6ae9ea6f896eb8a9dd6445cb54af2f2 script-worker/System.Diagnostics.TraceSource.dll +b8274d672ee21b7ab2b579aec0c55795cb9fb3e1f15e9b3c2ee07d90260a3fa2 script-worker/System.Diagnostics.Tracing.dll +4d3001697df50cca54f32ed2dbbd1f3f415b48d5d756b1bf9500a43ae9b68da0 script-worker/System.Drawing.Common.dll +5f04571de46d5defec5e946b618b7b1b10b9c613492a8089ba926d3dad0c6916 script-worker/System.Drawing.Primitives.dll +86fe6479c86f0f99358adcb89ecba5d3fb91a30d333545a17c00ef67d86a29f1 script-worker/System.Drawing.dll +3d645a280ed6d073664f229842847d8af2dc2a7126ccf27c5eeba2c55c08286d script-worker/System.Dynamic.Runtime.dll +614c4e1729c2011b1e40424d7b00b3dd2b76ca7abb438c62d93048c97d9ad44a script-worker/System.Formats.Asn1.dll +d8552ece59785ee1790ed8d2bdad03c0059c26a461f19c76d215c24aff8af190 script-worker/System.Formats.Tar.dll +cb2a60039ed7a7a797d133ecee1755185305632b8c78d62dcaf0d2ccb4e15ed6 script-worker/System.Globalization.Calendars.dll +7d27ac98541e7e6e72dab31aed4055fc9435b777bfce0f50722440601efd77bc script-worker/System.Globalization.Extensions.dll +e374eb513cb207833143ac4967155589087e4fb71a8ae9108ee1d64596b67484 script-worker/System.Globalization.dll +b3525059b5751482765b660d86d90de7e9728707c65d9cc5a63f1152ec43a952 script-worker/System.IO.Compression.Brotli.dll +3fab44511b3e88c31430c987223f46c71dda6f890a2d6ecb7b29031ccc4b6b5e script-worker/System.IO.Compression.FileSystem.dll +ce43bb776a6df4abe190d0e77096046475709f8e8b0c823e10cb7b39099c32a4 script-worker/System.IO.Compression.Native.dll +02096ce99b1fef365d4ba9c03edf0e18f7981dac6943ab56676ad66d0bb2c9ff script-worker/System.IO.Compression.ZipFile.dll +5f7c0695725d3485c86d0bf445c99be1fd320f17b11048a905041ff187dd4cbc script-worker/System.IO.Compression.dll +b14b8ee22bd83e07c6a004179b70aa7b2958791aef5e834c5de72c49308419fd script-worker/System.IO.FileSystem.AccessControl.dll +1dc8cf48e1bf26700064f54e510fab4ad0f5482ad113261a71807f9c194180dd script-worker/System.IO.FileSystem.DriveInfo.dll +a72218414270188a3d11fd291ff63c407f65f0a4ff8ebaa8351990649fdaa9c5 script-worker/System.IO.FileSystem.Primitives.dll +c60472fbd6ff9bb4a909605ab9fd08462eeb1cb058cec3deb49a21f84e4ab602 script-worker/System.IO.FileSystem.Watcher.dll +1fdccf62b58857da2d75f26f0fa31ce342e035e08b61f08a439088834c25a650 script-worker/System.IO.FileSystem.dll +be0350b4aa7e08c5a88a0d887aeee22e11144dc73f10805e36b2bb21440a6298 script-worker/System.IO.IsolatedStorage.dll +1c60d7b873037f161663cc1f98ccadad1493195952b3f8dd318468ac451ac4ae script-worker/System.IO.MemoryMappedFiles.dll +0306263c46f0fe7ebe87f4427d3365a23e92faed787b81c54337349688662629 script-worker/System.IO.Pipelines.dll +e7af8e95bc18598a4cf42daae14d61518bc9944ed68c11a0742765419f04f2c8 script-worker/System.IO.Pipes.AccessControl.dll +e631dad2c1c1657f40b512d15ed4a636d20341e8a0c6df34f2cd7d9b20848836 script-worker/System.IO.Pipes.dll +ee80874913ba2b3dc55f05ed18043ef40a42cec0c2095a68a2825ec66e069c25 script-worker/System.IO.UnmanagedMemoryStream.dll +7696915987cd96348e15e6b230394a9042e278baf26d07d2414b99e8a66ce969 script-worker/System.IO.dll +2d74c61b46462f83d17c46fbda7087977d293bd0f6808742910d0f6a29d5f5e8 script-worker/System.Linq.AsyncEnumerable.dll +eb9139d158b544c11b65cd32c6bfbbc2a11bfe5e9ec61ecc94999843afd5cd2c script-worker/System.Linq.Expressions.dll +162297aa003a7a0951b3333418584f2de68d9a31146e0c4ebbf3a275ef250ee4 script-worker/System.Linq.Parallel.dll +03fd086266f5ed63a077df4fdb5c69ce08799484aed94485965604148fc44461 script-worker/System.Linq.Queryable.dll +1c6886fb239a6af59da0dc1561d9f010e2e983a1e826d6e8f8a61f7ea42a3af1 script-worker/System.Linq.dll +5bbec55d9b01c664055180840b651b1b1f01c15f7f45ee84192b95a09f2c355b script-worker/System.Memory.dll +651a91c2658632929ba7f50d415b2db6151fd96969be0b47e4f9672d648ec86f script-worker/System.Net.Http.Json.dll +fc7ad004bdaca8763dcb23ab3a5fb01c9aed9735f678563f4f03254c9c956f8f script-worker/System.Net.Http.dll +5e514d43d23325ceaeeabc00906f6f782424e8b2b01fc050ede60559a8202851 script-worker/System.Net.HttpListener.dll +b65a90cdfdc51ee4a5c2cd4e0764ec42b46c8e098aaa6d4f57e8e8c3fb3560aa script-worker/System.Net.Mail.dll +cc5b82c8101e3af2ab05dea804d333109f954f32ec49a9e4e71e3679ef4d7d58 script-worker/System.Net.NameResolution.dll +3b97a77bab7f4a5215b12b7d0f16d47d6a617bcafa59d6e4b9efd3b695bbe0f7 script-worker/System.Net.NetworkInformation.dll +2b91becc5ea71a9b91f544df76ad0c5a29a87798484b37b9c2f05a8a598f1ae3 script-worker/System.Net.Ping.dll +01d8bef670ac4265708686d37076d8d21daf3152cd0e7b2aa264302c369f70be script-worker/System.Net.Primitives.dll +ae641f56bcad5c06551f90b855d7a61c9bd401d0c0a9985ccd662da860c3d5bb script-worker/System.Net.Quic.dll +5e462536c5b743dbef0522174a576ecb7be0dd52c5074e64b7ca73bc7dc570d0 script-worker/System.Net.Requests.dll +c03a6cba2d1e841f78293188b8356e0890a03ad9860eb5f602e69ac8ddd253c4 script-worker/System.Net.Security.dll +d39e3896fa6e4b42dcb6aabace1e9d2f8c15c6ecfe10868668dd9de119aa675b script-worker/System.Net.ServerSentEvents.dll +dc7433871738ffb8ce7f7963cee7fadc2103ab4b61e461a70e60d848625ae297 script-worker/System.Net.ServicePoint.dll +7e8787c401641f3d749847c552ad8c8c600896e1aaead24c93440039801dc98f script-worker/System.Net.Sockets.dll +8cd16344c501ab69ee11eb1108efb37d4c789de9bf421bb3e8703800ca1a8b1d script-worker/System.Net.WebClient.dll +f5973c353b9204e5c1cceec843707c7be368293428d52f62bc746400346103b3 script-worker/System.Net.WebHeaderCollection.dll +9bb235262aa0f2530fe8cadf095432438746dc3bf5d1090caa7d0eb4ee2dca7f script-worker/System.Net.WebProxy.dll +9ae53fe2d695d041d834fe741c52a60d77031667dde8078281cf56904aa65fb3 script-worker/System.Net.WebSockets.Client.dll +dc3632ff6a2f4118904eb64edc433c0d79c497b3ad2c01e1287cc86da14de612 script-worker/System.Net.WebSockets.dll +1bb00c4e169c0a20ad8763f4105204c221b97e037464b5bacb6ec4b9d40e0ad7 script-worker/System.Net.dll +2025fbc96c75d61d82cee26ccacb100d773a4e393630e2697a5c7bc6c4ee5a8e script-worker/System.Numerics.Vectors.dll +c39d8710b4aba77631159b90e04abd81b58ff3cc9fc8433621b76683cd6aec9a script-worker/System.Numerics.dll +16f21d6da2db3ce7a1c0b904bc2f3658685156a2155e5aaba8a3d45f4bc06c74 script-worker/System.ObjectModel.dll +69d56e12535d3a8f2f8f89ac8f97577e6dc788d26f2e7b69be8fb5f6ff17ff28 script-worker/System.Private.CoreLib.dll +4e329edac8f17617d2d46d2d472e21c48614276a9879f3f7b4be2cb2841ed3f6 script-worker/System.Private.DataContractSerialization.dll +eb07de9b8f80dbc1c2cad80598e184a8369f6cbd9d105d50bcc6cd3428e61ce8 script-worker/System.Private.Uri.dll +3c2edaf8c5fafb005e25631b8ed48a64050bd126a8a5cba2f84b6869d6a6df47 script-worker/System.Private.Xml.Linq.dll +3467185933c682c10a67eb6b4eb78df5a1debc63d4def7708d23db9fb79780fc script-worker/System.Private.Xml.dll +93b0f758fac7aef8eb3256174fe621ac9de7db98e044e22d4b6cdbf7b462c5a7 script-worker/System.Reflection.DispatchProxy.dll +3f8d14d45f250218d9c66f158b7a218ac73d1f2df75dbcf71a09f12f1711bf5f script-worker/System.Reflection.Emit.ILGeneration.dll +f43856d942af20cd256a7358afad7fdb50df4e9e307e29beb34dff8dbd094b6c script-worker/System.Reflection.Emit.Lightweight.dll +f0c3777ec9c76eeb3198de980054247fda2d184e8dd3d3693bc433613a6df364 script-worker/System.Reflection.Emit.dll +8ccbd7bd124cbfaa1cfd9315d922dd693ad7ade5d0436d246b188e02b40919df script-worker/System.Reflection.Extensions.dll +5af6e802d91f1e404a95c55e23310185e7de09adac62ffd6fd56b98a6b31b15d script-worker/System.Reflection.Metadata.dll +9cc0088b3e2d6a0771063dafd2c924538dff5087c20610f7826a088a38c27ae0 script-worker/System.Reflection.Primitives.dll +479a0a76d0360120f262ca9d501637916382a5d162f10c29d37b01888f5fd00d script-worker/System.Reflection.TypeExtensions.dll +d3d7fa31b89606d7a5c10a26ced05a29d32ab2fb87a54f10c82cd74e8e19725d script-worker/System.Reflection.dll +181cf4b3b528f7e2a3316fb792339320a1c40c96c7b45b726ff16257097276e3 script-worker/System.Resources.Reader.dll +06fbffe507abc62101f0466d1570cecb074ec6a432a1ba058d4b9360ea13764f script-worker/System.Resources.ResourceManager.dll +1dd70e4933c113a2a9963f79068a1e0fe52bcbb5dfaf54255dd41af5b4e05d35 script-worker/System.Resources.Writer.dll +bb342e1fbacfe7589b71936fb000c36b54ddc96d578bc0888623e19549c1e6f3 script-worker/System.Runtime.CompilerServices.Unsafe.dll +657abf22f77265e6e111fa0c6f55fa176373dd447fcc0f0c4145da91fcdda047 script-worker/System.Runtime.CompilerServices.VisualC.dll +f7e44a3f016421af7130ccdd913c57419d3cd2a0f48e34bdd1295797f2535cf8 script-worker/System.Runtime.Extensions.dll +b21415740db52c068dddeb4dc61e95a41ec23b1a4c1b1623ff6b65399c7c0fdd script-worker/System.Runtime.Handles.dll +1c91d7b7dd6da38c6426a4be35b3458ef3d127ea84533941528694e9db1a145c script-worker/System.Runtime.InteropServices.JavaScript.dll +f0b683af8a5db0f4cbaa2119f66ba93a01ee0db8ba1079acd01f01d247c111a6 script-worker/System.Runtime.InteropServices.RuntimeInformation.dll +bde2bb33524a73e2964cd47ddf753150d685b31ebb1c4779e66ca426b2b419bf script-worker/System.Runtime.InteropServices.dll +61cedf60e24e672bbde2869ceaee84342d22823315aae7fb7b768e9a6e6893a2 script-worker/System.Runtime.Intrinsics.dll +b55e68bf26539914d8eb80718dc5b183f36d53c7fa20103f52c06796d33aa0c6 script-worker/System.Runtime.Loader.dll +46b0e0c9b0198446a5d4ae8579433a038d7f1199e0378ee6213a0390bdd9a99c script-worker/System.Runtime.Numerics.dll +18e20e41f0d87206ff1fbede425b7737be7c554c1704af3c684e83bbdec63157 script-worker/System.Runtime.Serialization.Formatters.dll +87249d372d73fc7fcdc057be0efba1c36fe7318af832463dcfbf55fd067bfa97 script-worker/System.Runtime.Serialization.Json.dll +5981ef301f6a849ae73bfa0eeb4956992fc15b00f705c35f208eaf6793a37ab3 script-worker/System.Runtime.Serialization.Primitives.dll +ab0c54734d37e5aac3f726fe7806ff8de5c5bce757f7993135540154a72ade79 script-worker/System.Runtime.Serialization.Xml.dll +39da6e91e025583c2d51a5180614cf278bdf7f6d850c4c011422869efca625ce script-worker/System.Runtime.Serialization.dll +d6b4189c8e9afce3629b27c902c198a54ad3a355ec8409d3880b3b68fb1cf445 script-worker/System.Runtime.dll +c83dce7b6b0737d14771c9ad38a8726787a91472be503d8f911bfe91668efadb script-worker/System.Security.AccessControl.dll +77c7616c8f073677f8a057ef032b21d8f6dfeb19179b936bd54bab268e71cbf5 script-worker/System.Security.Claims.dll +0e5de3978293221c0e36bf52786abea8f7b74ebf06de58c9717db4507e59ac10 script-worker/System.Security.Cryptography.Algorithms.dll +9198b7e57489278215a2489d66d9d52c7a9d65ae7abe399cc9d27d1b23debbf6 script-worker/System.Security.Cryptography.Cng.dll +2774b21002a29479de3523f8781d1411e4990575b50f1316d6a9cd490980c2db script-worker/System.Security.Cryptography.Csp.dll +070abb893bb963b2a846ad8b8c1354563c7b362d1c492eec53538fc28a871001 script-worker/System.Security.Cryptography.Encoding.dll +e2a8cba098ec00d19d043750e8a19374cc65d1a498b9eb15dbffe0eecc579b32 script-worker/System.Security.Cryptography.OpenSsl.dll +89e9947ee1e7839eeac2c9c0b37a2b0c0433ff338dadec6380fac1eae375ffd3 script-worker/System.Security.Cryptography.Primitives.dll +104cdc6d20406a144abd373ed297ef803217c15012a0f22cacf6c676421d53ee script-worker/System.Security.Cryptography.ProtectedData.dll +398e55927b3cfd070bc8d204740e50d012cb78f7a2dcb968a33869b4aa54e067 script-worker/System.Security.Cryptography.X509Certificates.dll +b043b1ed136164fd69606a9e7f26f1fc05d0c7cb888c0c00e3b58544623cc7e5 script-worker/System.Security.Cryptography.dll +62068c0f6bffb0eb4ec1c6a45a16784caee7565f6c5404d8342089f4ff4b3712 script-worker/System.Security.Permissions.dll +25f1d31f27d8e9a97fa203160dbf9a8a7be8188328ac74516002d0ac071961d9 script-worker/System.Security.Principal.Windows.dll +d1cdbae10415e4f384ecdf34cd6e427f7c1d67bb6549b7e15193006428734bb4 script-worker/System.Security.Principal.dll +3347281129d6cfc4a5c912dbb9f803878c99cc60d125ca5f2adbc4718ccf348a script-worker/System.Security.SecureString.dll +e81926edd150a900fa0d6832aa813b2c3dfb156e7116a7cca2d96640ff24e438 script-worker/System.Security.dll +9537a9d13c43511fb95b6d30dda7817851b23e864503fa336626522499b51d24 script-worker/System.ServiceModel.Web.dll +13fb65e12deec9ac60a8342dec6caeff8d35b56dc142cdabfab2745620d46fd0 script-worker/System.ServiceProcess.dll +e3f7a38a01cd863716d83ae322a007a2d052044cd8bfc2b5b1c268ac05c9d931 script-worker/System.Text.Encoding.CodePages.dll +fbbc0dde38272605b8b95271cca7202ca04d5fa115acbcee936e1bed611fd23c script-worker/System.Text.Encoding.Extensions.dll +f1531dcab1fe59529829a1a241953a5e55ef8340c8cf1a21c053eeb7c48e2a84 script-worker/System.Text.Encoding.dll +319eb068c30ae985653a31911086141f5ba26b99e0ce7ff083f455ad42d4c584 script-worker/System.Text.Encodings.Web.dll +ff440fd7d4ae3d5a6d080c1ebaaae7d5f4145ea162ab12bf8931e92b4311f469 script-worker/System.Text.Json.dll +244be34f8333ff60b1fa87f54feea7e8338e2ff96fdb148a4d4bf12b7c981c86 script-worker/System.Text.RegularExpressions.dll +6f4b852763d9bdf83013893f294cd021a0efd84243374e52e148d8b665ebc8ec script-worker/System.Threading.AccessControl.dll +26f3f523ae3a685b462c1b192ac752cfa8da5db5ba4e2714b2e64635e717a4d6 script-worker/System.Threading.Channels.dll +9442e2b745620403121ff4868fd430a2178029c22ae6a8dcac77d957ada4be42 script-worker/System.Threading.Overlapped.dll +bbf7de8812c20b8e61f9833d72814dd858c4781fa35500b2374c7e5f19d3a246 script-worker/System.Threading.Tasks.Dataflow.dll +b35a1faeecc0fb706b06f470a13fb3b1d2addfef1cd5a81fb1bdbd75ad6c8fdd script-worker/System.Threading.Tasks.Extensions.dll +2853f090ef0c1bd47f91800ef71b0b44084b1f703b3b699919466e065ba2fee2 script-worker/System.Threading.Tasks.Parallel.dll +a908649b99249e9533d674ed8838f2cace1f6a4071d848bf9edf7b96dc4ebc5f script-worker/System.Threading.Tasks.dll +5e1c4834abd41d88f79872557c69d20502e2d220bde333870e31d1a1eb4eacd2 script-worker/System.Threading.Thread.dll +2135197f9cbc09004ca02055bf54b5e3d0e2d7a9d61c477e4ef129321eb0b4c2 script-worker/System.Threading.ThreadPool.dll +a7763eba808803faab8e904fd5b467d9c7dd5c18ddd9a584d7c686f08d27e10e script-worker/System.Threading.Timer.dll +6c2137fb877e647a6c0f8909db8ca7af1e6fe95f19c6e531f6a74539fabcc6ad script-worker/System.Threading.dll +213df40904a1b088fce848eb34bbc91785cee298632e06670518d306536af23b script-worker/System.Transactions.Local.dll +bfffd1196acf43fc9c88ebb561bb3a964ede3d8269bba09cf3258ead1ab4fcc4 script-worker/System.Transactions.dll +03a5049c71a54d9e8c2f2b9180529804d3e956ad6432a0668946115b29d3a830 script-worker/System.ValueTuple.dll +1097a135ce82145a8f7dbacc0b8a4d8951e067652814ff6d9fff0927b21706ce script-worker/System.Web.HttpUtility.dll +5fc03752ad1c79c05bdf71cfc841f7c16cfcc4366365d8f7f31e22cff3cadd7f script-worker/System.Web.dll +e72863f75a5adb5697158f16b00369ad3a95710235647626675a5c070f10ecd9 script-worker/System.Windows.Extensions.dll +b2a12218c022eba72d8acbc36c012211f965bb49c2fe92c0aaf0964ee785c800 script-worker/System.Windows.dll +f66daa73628bd932749377aa5094ebad056a63748223ed0dedb4b7dcd49e22b9 script-worker/System.Xml.Linq.dll +496dc55783342234033fe7162f618938691f25dd818633cdd386dba6e4e1c271 script-worker/System.Xml.ReaderWriter.dll +4a38c5a78410d11d32df42565312306eefc1bee5c73a6c5c8c661b0cf1ac0717 script-worker/System.Xml.Serialization.dll +fd3c02115f7ad89770a70f18f83c8e4cdf8c78bb4f88046923f3285fa853c7f4 script-worker/System.Xml.XDocument.dll +d68c378b07f099610b2eda021a232499cac2d6b96fce72b20a4f0b07efc85513 script-worker/System.Xml.XPath.XDocument.dll +03c3c78e671c3abf1d10c830eb67b8761bec7b6dcc0ae74462736df3616434dd script-worker/System.Xml.XPath.dll +fc671e921ca4cae98c3b1cd0ad0fdf1e75f115917c9fa0826f194efbd149c1ba script-worker/System.Xml.XmlDocument.dll +8e9bd064b432d8617038f2100b8268b8f46e4c22a6c09395ad0519e657c8801b script-worker/System.Xml.XmlSerializer.dll +8b35480d266706f1c8db8e70216a72ba26d3fb25725f8a1131731e4d380410ef script-worker/System.Xml.dll +ea77299c8ae8751e2868343efc838167b2612c58863690b83692de4d66a34578 script-worker/System.dll +a88115b54a4782631612f995f857624994143e783aca58dfe2fe0800417a49e6 script-worker/WindowsBase.dll +8dfda63f20ac0a34c43716f593bcad60755daf71ae4aefbf7ab1f34a0951de11 script-worker/ZB.MOM.WW.Audit.dll +32ac8218c64f6125975e636c611f88c5fd10fc8d9c286e30aefb2cf6ac71a926 script-worker/ZB.MOM.WW.OtOpcUa.Commons.dll +44cb1fffb661db708145d129661a72e84dac12c2a992d65deeb0b07ffb735999 script-worker/ZB.MOM.WW.OtOpcUa.Commons.pdb +add3223035f88f02be534d0db5c80ca9ff4119fd588127c73c04143d34a423d8 script-worker/ZB.MOM.WW.OtOpcUa.Core.Abstractions.dll +200384c70512c5c1f1964ae72cf432f1d79e9501b369842d5da17b2dd58d4a2b script-worker/ZB.MOM.WW.OtOpcUa.Core.Abstractions.pdb +62d00c09711771abd3e87b1375b1fd0362d0f687ba5f0edc3ecfce15e628836b script-worker/ZB.MOM.WW.OtOpcUa.Core.Abstractions.xml +e44c129a629c0ddb9d63b466030215a7408a56ecefdf73c3547841bc936022f3 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.dll +7685b27069ff322e30a6280c9634b5e6eafd30172d27504063fdd138379d495d script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.pdb +1daf5bbd3dfdbc85b4b5d6102592549e460ce5054716c004f207e4856bc38e80 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Abstractions.xml +3aa0e451a236d0a38446cff4b2a3a65e22507999eee5f1a5914b065fe5345d9d script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.dll +52a76f4cfbfcdb6a418db21aa561cb3e91db01b3c566204da158cf4fb7a40ff1 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.pdb +e240934357a4040b5f18f5c2b129e7024ab4153e23d1476127278974d8d19654 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.Protocol.xml +7410991bc69a9bbd394a980eddc7a0885b4914659f2ed2269cec25d55b9c59b3 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.dll +ebd8442c7927033a43af467dcdce7092634b17ca17c84f1c133127f9db61b0e3 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.pdb +4adbd2527b337d8477658bdd431d9ae81bb7085df53f3349c0ecb777eb000ce6 script-worker/ZB.MOM.WW.OtOpcUa.Core.Scripting.xml +27776a8240d1e7ab3184b8f65093cc69960476be6725344a346f9759781de27a script-worker/ZB.MOM.WW.OtOpcUa.ScriptWorker.deps.json +1716ce721bc64a5553d3be39df209bb2f9687d3c382a36ccdedf36f1deace353 script-worker/ZB.MOM.WW.OtOpcUa.ScriptWorker.dll +c2a2a56d3d91916daba72bd4d69e3ded5cad309121ae9ca00d4e8a3fe9aaae12 script-worker/ZB.MOM.WW.OtOpcUa.ScriptWorker.exe +dcab6ac605c516f3f0db4bdaf2f645354859837f11c274ec56db3e0ec2e623b9 script-worker/ZB.MOM.WW.OtOpcUa.ScriptWorker.pdb +7301a4e94efb3e2b50ae72cc08d353511b2df0e9306793db847510731b3a0dc1 script-worker/ZB.MOM.WW.OtOpcUa.ScriptWorker.runtimeconfig.json +4b848b0ed6ad94a455a85e93cd0c10faef62f349c7ce6f39415ae55af72655d0 script-worker/clretwrc.dll +ebfb09f29cfdc3cd269a4a5bccc0bc6e4e7afce9a7d263e43cb52bdec98e9e43 script-worker/clrgc.dll +936c6122bb95df8bb6c7552e93ac01e426bfa5a5081dd7fc774703e05edb2d04 script-worker/clrgcexp.dll +e33038c23f32074683e170b0ea74dae6ee74a05bb5e8ef6c9fd4cc43771b34cf script-worker/clrjit.dll +1bc65b8d45474b19adf3ca85ce881087aff599ffc72b2c1a323e878227757b65 script-worker/coreclr.dll +da50d230f70332385b86c44f9dc3f571b60340f8b603bc0e2f201b5a19240acd script-worker/createdump.exe +936352b9810cfdf43d9b5bc5c099af32e399543bbb1b23a08b08fedd291ebf01 script-worker/cs/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +8a4981588d9918e67b6524219c3d4e94c7a98c943b877add612a195c30c45f6a script-worker/cs/Microsoft.CodeAnalysis.CSharp.resources.dll +c31516f7d942af11d52d2f01e13ca4ce20c8c9c09e2d8b433920757aec262a5d script-worker/cs/Microsoft.CodeAnalysis.Scripting.resources.dll +aa029203bbbd501902fe7bd72b4073891676de5fc599ee3e6ee97c5eba4237fd script-worker/cs/Microsoft.CodeAnalysis.resources.dll +ab5a8419880fe8d756dee1816974cb1358dceed093a4719fa145ed5650c73b66 script-worker/de/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +0da5bd754a34b50703312fa988d12429f78c8702919b1867757173993f333dbc script-worker/de/Microsoft.CodeAnalysis.CSharp.resources.dll +7e5fdadb82ebc0bbb05d4b469b1f0ca78c1ced9fd66e5d5163bb9deee1abbadb script-worker/de/Microsoft.CodeAnalysis.Scripting.resources.dll +970bf03bc4195a48aa378023fddb825789587103f27c26a72e7a600509649aa5 script-worker/de/Microsoft.CodeAnalysis.resources.dll +724478523cff7e0d3093c6cbf4cc360b1dc235d91f2c281fdd50f207b5afc518 script-worker/es/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +090e0fabb14bfeab386f71129906b4f687a1d76485776dc09b37ceefe510ca16 script-worker/es/Microsoft.CodeAnalysis.CSharp.resources.dll +4fd738f23da9f53c2ac1d7daa716eabe72f2711f5e57e0b556a46ee996d5fb2c script-worker/es/Microsoft.CodeAnalysis.Scripting.resources.dll +1384821617fc8318da873213614a80b54f306bb3c644896475e1ea6e2c5ea223 script-worker/es/Microsoft.CodeAnalysis.resources.dll +4bff2d170b55186bd650598f51c82fc1a98a5bacf4b69cd5e5b6b0ff3b77f5b6 script-worker/fr/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +a3bbe3f44ded49812b428ef7c9aeff1e65b4230b4496df69b4add657d38428c2 script-worker/fr/Microsoft.CodeAnalysis.CSharp.resources.dll +07286c85ee919ed0081499c2c7fc4c83eb747ecdee259ff643bb07eca9c55de5 script-worker/fr/Microsoft.CodeAnalysis.Scripting.resources.dll +6b8bd650dc05af2fdc06b7ff0a2ea05f4913d9c80a7f5d3db905af92c202f245 script-worker/fr/Microsoft.CodeAnalysis.resources.dll +5b9358572daa76176f97f1bb80fe764b24ee1bc2cce0579230e7f9a28e3fbbed script-worker/hostfxr.dll +84275dc570382246b4b36ebb3094c2b38190c2fd80998d1da20b95dfcae1c546 script-worker/hostpolicy.dll +e076dd86fb0bbe3c4785797473a51d3f33ffb85bddade11c3295eb58203b5036 script-worker/it/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +0798746130f8d7ba0ba31fbcb33b4af67c2dd050290793a5ab9f1dbf059407db script-worker/it/Microsoft.CodeAnalysis.CSharp.resources.dll +b5ecc81cf071afc0b816ffa73510c0cb022b67f00d397341dc243894936026a9 script-worker/it/Microsoft.CodeAnalysis.Scripting.resources.dll +b7849b3d34014cac6bedf60beb7c9165f344e408b8cd33a651c6375fe5856ddb script-worker/it/Microsoft.CodeAnalysis.resources.dll +223cc533aabaa9641bb3e90e24918502475a639f703951bec6565de5709968cb script-worker/ja/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +8ebdefc1fe425ce9673afc523cf892258924df967809d2260d18e2389c3047ba script-worker/ja/Microsoft.CodeAnalysis.CSharp.resources.dll +c5b03bbfc3a237e68c81abeaf0177203b22160d0823de87f833243b5d772457b script-worker/ja/Microsoft.CodeAnalysis.Scripting.resources.dll +f34557d91dd176c2046dda80c7d666cedd34d946ebabc7a41ed6e1f2dad76995 script-worker/ja/Microsoft.CodeAnalysis.resources.dll +c13c8e207f48ac04b5ab76192d61f049490d7d3e50b2550111a14556199b2c6a script-worker/ko/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +584b85fb5614045da48a0192ae0e3809ac01b58c65170162e4410ab9c46cb8d7 script-worker/ko/Microsoft.CodeAnalysis.CSharp.resources.dll +76c3fabf0b2c5a6eefa283361e836150b0989aaa0534b4ac9a36e5a5e6e899ad script-worker/ko/Microsoft.CodeAnalysis.Scripting.resources.dll +792504707fb71f02aff2d12e4ad21fe34b599eb8b56fd2d9e5a14b3d4b0311d7 script-worker/ko/Microsoft.CodeAnalysis.resources.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 script-worker/mscordaccore.dll +4a9b277d882a52f19b89047748e6ab1043c1582f834b20423c8c7f16a76b6ea3 script-worker/mscordaccore_amd64_amd64_10.0.1426.52326.dll +31081748cdac21d8734422cb3188070c4f49cb9fd85051a7605bbb7337a7331f script-worker/mscordbi.dll +5ff7b9c14324371cab67e190165015103701045ebc36edcb8a829e5505c2c765 script-worker/mscorlib.dll +9eb4ec98c78e698e0c25e9088a5670eaad1e12ab4df066eb3803c495dc0031ce script-worker/mscorrc.dll +7b32a336b638570bff7b2f4782ebdc05b8c70fac76fdb412f3e8a3c181c32a61 script-worker/msquic.dll +2844417955d5b11f8434fcc969f52bc09104f438ae2f4d5595c36c355d06e270 script-worker/netstandard.dll +03f45c69c264bdda12e7a9fcabe6a17e5b6a00e90f760268dcde43b7442c0a7b script-worker/pl/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +b6ba17056f46a371e8b208eb6f0c11fe1eeb247b9a74f0d61e6d65527d9e3a38 script-worker/pl/Microsoft.CodeAnalysis.CSharp.resources.dll +259283901aeb5803ff90881e968ca32d4070c78e570a0ed3aca36f49413b2ed1 script-worker/pl/Microsoft.CodeAnalysis.Scripting.resources.dll +9a3b8471dad02c0a4afdc281b36e1c5743bcf38c8707fb4a5a328b9332e515a2 script-worker/pl/Microsoft.CodeAnalysis.resources.dll +a7762a712cadcc489a17bdc431e6fce109c37dcd2f8e66742c85915333beacbb script-worker/pt-BR/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +248faced9a2e759f1e43f9bd2758dd3afe728279194633b417d02d865054069b script-worker/pt-BR/Microsoft.CodeAnalysis.CSharp.resources.dll +8850967fa3c77846c4ba03456f441c97b63b8370a9a3dedc2998c42e351e0f57 script-worker/pt-BR/Microsoft.CodeAnalysis.Scripting.resources.dll +64d51e84643cb6b1dffa8640cebd718493a58545cef295082aa4bcdd43c4dead script-worker/pt-BR/Microsoft.CodeAnalysis.resources.dll +a9f6c8a31dc5b4415ab72bdcf85b5966cb417fbadfd2016eced02244a5b6786a script-worker/ru/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +ee16ffb5ef0a2d63ed86ccc8edfd31a3df5798e7f8673298ed71a9fd7a07339d script-worker/ru/Microsoft.CodeAnalysis.CSharp.resources.dll +bb70b4978fbbd45824c70a522c868df3f9417f3bd46f3aa69939ee30fb808845 script-worker/ru/Microsoft.CodeAnalysis.Scripting.resources.dll +970245f28ee8d653babe0db8f4e13df45dd6e36a754219cf863cb67ee95b9a5d script-worker/ru/Microsoft.CodeAnalysis.resources.dll +49472c8fbecc7b2ec57206d4999178e36dc6139211a67477b5e7e79514b64d8d script-worker/tr/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +5159173800f97d767f95eff070fa1a44b20389f81680825333d792da5e1d62fa script-worker/tr/Microsoft.CodeAnalysis.CSharp.resources.dll +6bed49878f14edb6c7cff9b35ebf18dd4556500f8329115a31fc86fed6b89209 script-worker/tr/Microsoft.CodeAnalysis.Scripting.resources.dll +c71e350d84791c15caa4897493d63296fcf1c061f1180dcf2d2cfa62e8e8f152 script-worker/tr/Microsoft.CodeAnalysis.resources.dll +b5896db7bdcef22f5675babe0348529d138725d9f228afc08dcd252aa9924411 script-worker/zh-Hans/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +5bb17f29f827ec0e01526e60aeada465229db2c6957ba2799a171142bd970b33 script-worker/zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +d049b4dcfe1c22aa9dea4b538e31ce9fc3277e23b0fce7fe79a3fec8aad581bd script-worker/zh-Hans/Microsoft.CodeAnalysis.Scripting.resources.dll +37d9e69257a1d58e8b1b0f3db40c45cd1e48d109b9bfcd6c496c8189d1dee38e script-worker/zh-Hans/Microsoft.CodeAnalysis.resources.dll +178f07468dc0e3acdce6b62a46ae7bedd2f77bfdf8a2e335666281425214f5fd script-worker/zh-Hant/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +1c628beac6bd5de647783ae50df6679c8dd16c8baa977f08b0351351e31f9a14 script-worker/zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +4a39ef7b9992d01551bb961652f0bc663335bdac513d4c038f56f59995acfa93 script-worker/zh-Hant/Microsoft.CodeAnalysis.Scripting.resources.dll +339868d7df872f7acf9364775d7face59b361ace535480481745e7357c97481b script-worker/zh-Hant/Microsoft.CodeAnalysis.resources.dll +49472c8fbecc7b2ec57206d4999178e36dc6139211a67477b5e7e79514b64d8d tr/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +09ff456d47d79b6f1a7ee5512662a490afdaa05c60eb8190a7dcd76ae050dc0e tr/Microsoft.CodeAnalysis.CSharp.resources.dll +6bed49878f14edb6c7cff9b35ebf18dd4556500f8329115a31fc86fed6b89209 tr/Microsoft.CodeAnalysis.Scripting.resources.dll +5fde98451be8b9d11efa9aa0783c64dcfba6c552f405d03b82a575ceff631027 tr/Microsoft.CodeAnalysis.resources.dll +fc8df599a964558fc9587aeaa6c956e1d375944283907193660fa3e96ee38980 tr/Microsoft.Data.SqlClient.resources.dll +0c7f5cce745804edf7cc0c6a78102e494f8c6a896493705eb495c6f51d951772 web.config +a2bd309e5e034bbb5f26753a7cab9948ecda4d7dec3109d74ff493db27085a79 wwwroot/OtOpcUa.Host.styles.css +8e182b1806fa957ca9728a53d767799af521ddfe27aaf9855dcff7e2a4cece52 wwwroot/OtOpcUa.Host.styles.css.br +90cc289711279ebe8bdaac1f10f7be4449fc48e04529d5b9c4f3eb9e572442f0 wwwroot/OtOpcUa.Host.styles.css.gz +9e1f58fc08fecd133c3f67d2fdd4b6f02edb9d8f04a27a10a73229055ea48117 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/ZB.MOM.WW.OtOpcUa.AdminUI.y7sr809z9p.bundle.scp.css +8e545a80499c7a3c29ddae210c0f7727de717c10d48c04e61be40ae7b4596628 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/ZB.MOM.WW.OtOpcUa.AdminUI.y7sr809z9p.bundle.scp.css.br +f264390eeb48429224f23363e1e36abb90d8e716475a676f96d789b066d6a401 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/ZB.MOM.WW.OtOpcUa.AdminUI.y7sr809z9p.bundle.scp.css.gz +e9b66d932ed0be964e15e5728391285341683c942ba641937c62f3d297d9ca00 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/css/site.css +8f843cdc96d36c0eecbadf7299d2c10eb2d329d39287dc6b58af4bdd9ff28bbf wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/css/site.css.br +f8a3b14b4bcf82fb46cf0aa28fa312f2a2bcc118e6fe6b4239aa63c7a934152b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/css/site.css.gz +53bffbaf49227844441ce85056dc728e26f0a2136bad5791501817becd1fca68 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/js/monaco-init.js +bf030ae4c42ce1c236de1ccc2bfb04400f576e55882ba30758c7fd1447c7bc33 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/js/monaco-init.js.br +d277343610a5603422ad5563433baf015f08676a9fbb1abe489329dea14de41a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/js/monaco-init.js.gz +d2c978b00fd7de1dfd8d9fd24ce74edb853e8c5e67a7731efde8860d6ee61d8f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/README.md +ac402d4e17dfabb1239f6501731b4bdc7e25a86dd7ddd5679bbc4f8f72414498 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/README.md.br +2317adc06314d051b56d94d2f1ddcd5c5247ddf4bdcb9d64477ea38d2278f20e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/README.md.gz +3c8f27e6009ccfd710a905e6dcf12d0ee3c6f2ac7da05b0572d3e0d12e736fc8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css +8945fd3c422b8864efa1857d761617881ec9ee2c1d11ecc725985dc899a69c35 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css.br +ef8ad2cb49d706bb577b17ca14d31600ef0d4928df8b1fe39dd8735614862732 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css.gz +f12338536350a422c64d02d6e43ff1dea493c3156ad823fe19761cdd5d56c05b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css.map +b56941715af71dc2ed4b8c6c71b88754031cd6294ad4bcd6dfdc42d7f94c5d8f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css.map.br +2d1ef353ba3845e8f42463dbfb347651d96457fca75dc33400c9c90552c4e719 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/css/bootstrap.min.css.map.gz +0833b2e9c3a26c258476c46266e6877fc75218625162e0460be9a3a098a61c6c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js +ff2564ce265a556a26956a26f0dba2b14f89762d5e32811cb12e2960270bab70 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js.br +d6e7d20297702805833449578ddf79d0a226eed6328e4d3ad915df1469d03057 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js.gz +5e3e0763164143baaa1ca0706b6100ba0452f911d6ce9713b48e3dbe07b35125 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js.map +92d0794a648d04a8027793b696a398c97f67d54b5c8242648223c29e8cfffb34 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js.map.br +73065ea416c5557aadeb739b99fe5321883178b38973248353483195dad6d01a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/bootstrap/js/bootstrap.bundle.min.js.map.gz +f413b79b9dea49bcd875fdcf6977447aa34372bded8ec4d6a11bdeef1f0d4759 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/_commonjsHelpers-CT9FvmAN.js +e6ca350dd6b8ed18ac58f7ee057dd797990deb15279e86adf1bf68ee37f082ca wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/_commonjsHelpers-CT9FvmAN.js.br +e1f19c4801f6243647c06460915f4c9acc68772a92f5a327aa20f244d211312e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/_commonjsHelpers-CT9FvmAN.js.gz +80e43a53268d6a4c632ff9985bee1e7d0c6910cceadde464aa234bf36d0a6737 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/abap-D-t0cyap.js +0d37c92afabbbd530c1ae1badd0e803cdbb01b1a036f5482fb4edd78869757d3 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/abap-D-t0cyap.js.br +dca8efae71bf94809d1b43bd3da34628c356883dfca5c8fce0c5f1ce8ae7db0d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/abap-D-t0cyap.js.gz +f65a5a9a27d2b6c2a2ec55a670486073ca76203fc63d5a3ef91a889fe3c6bda8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/apex-CcIm7xu6.js +8e7a2cfca855c8d8e08d181986dee7e4e1f844b457c92320fe0927b56d2bec01 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/apex-CcIm7xu6.js.br +48701bc353ad62cd3d2bf626d46db63f3c9d83bf0b141bfb766b3edaab5cc4bf wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/apex-CcIm7xu6.js.gz +c0536e22820ddf18d2dacb1e11c6e78c25ae8854352fc991a39e2270013012d0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/css.worker-HnVq6Ewq.js +c0e0674ce7e60b494b060063e93ec9f5df44ec9d0b84b5558099d4a0b1006f2e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/css.worker-HnVq6Ewq.js.br +7b314f04397a7ff37ad4a15acc4afba66131cbb2efa4ce69f0d5082655a3a033 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/css.worker-HnVq6Ewq.js.gz +816b0b9a5aa5626cbd29b19cf74a792829badeb8292316b88b1046dc0ecf2b4c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/editor.worker-Be8ye1pW.js +5f16e7b3a7a6665c4165b1c277e9c766e3015e8f0a34e68cff385d17f8b3c9a8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/editor.worker-Be8ye1pW.js.br +770f5c10357b3f4770419a3740103c09a166c5a18fd8107bc89b85f9e9dadfcb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/editor.worker-Be8ye1pW.js.gz +efb6741a754df829f23e3a26f5370b10fd21b364d9d1c4e84c237ad0c9e38b8b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/html.worker-B51mlPHg.js +dd58e01d1a99dd2d273c4e458e2604b665f9aab8e85a65ddd0b6877290d4334e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/html.worker-B51mlPHg.js.br +ac22562cf5169d35e59c4f59988d3a1412d9c314bc23963d27e5a474f4a7cc31 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/html.worker-B51mlPHg.js.gz +68228c40cff14f5e5d40d40e2bdca4fcac53bd69d53a0420a3f770a03c2c51d6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/json.worker-DKiEKt88.js +638a53054b353b98a23fc88f74fd2500f48077433e733aad35924c9d2b697204 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/json.worker-DKiEKt88.js.br +8c95fb7ad472686686476733e05892d8c6ea3a26a86822126b507fb3c3e2fdff wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/json.worker-DKiEKt88.js.gz +0c3d32b72815bd20267f55707956295f8c400923d9a91f25268b0dee34812e47 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/ts.worker-CMbG-7ft.js +ade1cd88cb7749be5257c22618fa5dca1b74487368464750b797fd2fce487991 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/ts.worker-CMbG-7ft.js.br +1b8f5c2f621a2ee524d0123ca22e1d248894210939a67fec0ad667f9c1428a79 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/assets/ts.worker-CMbG-7ft.js.gz +b5f9c7d25c2cc748a1c965c9562de8b934b82e64dfa5e423c7121c8759090dd2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/azcli-BA0tQDCg.js +3ca36c435009f1bab78e7d993858422c7a1a5389b6b3a5a8f5a1c7ef98e0d625 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/azcli-BA0tQDCg.js.br +82246b78e1e22baa7cd228ff74df4a899c7794885a933d8a5ab1ca098cb1a951 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/azcli-BA0tQDCg.js.gz +2708bba6aadd30d53cd558be678b96298a9c96eb5faf21486387c03905f21fa9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/basic-languages/monaco.contribution.js +8bb58d984aacbdb2539432bcf5c1f4c36dbab64bc078ecccf1b0a91f158ce892 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/basic-languages/monaco.contribution.js.br +f9de3cdf23d61efbc2f3c1b9927c9e19c176f79eba7f101d70e9c60fac26ea72 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/basic-languages/monaco.contribution.js.gz +e5bbd4d0719d157cc7dfa6b07e07da4104e52e687b97a6a0dc94e6d4cb4614b1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bat-C397hTD6.js +95c828c56b665ae6ceb7128667125764ecce9ce6182542356968fc41b8e435f1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bat-C397hTD6.js.br +a80c3053ecf95d91798842dc5d8292e92660b57ef5c6d8773ed0da0c9f9c7142 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bat-C397hTD6.js.gz +39928909c2b244bf13dd2aad877f53966ba43b5b96442a6205306c670fd73a8e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bicep-DF5aW17k.js +c47abb0f847c5ad631fe91087e4efb4ca873acb827ff63a491932518fe385636 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bicep-DF5aW17k.js.br +7bf89df2d47443b6623c62a1d04468e91839f91faef0dd8c20b73e23103c66e5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/bicep-DF5aW17k.js.gz +f8249bde4edaca22841907a087fb7c79dad81e7048ac6164937d184b23106d35 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cameligo-plsz8qhj.js +6f881b0448d3c1b8ad8ad710ad47a761dac4adc32d46992724dd57ce3568a732 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cameligo-plsz8qhj.js.br +997fe667520ceb59205dfa8d8ae10c33f4c0f8a7dfcae4f449fc106a0c6ba0af wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cameligo-plsz8qhj.js.gz +6dea514485eea7336b31343ea9eca9c18f3f3ce69e0ad52d39daf8f41beae311 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/clojure-Y2auQMzK.js +e5dce4aad3998183e2e1c37966597b3ad419c73109a1237dc70efedeb2909532 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/clojure-Y2auQMzK.js.br +b61613653e060c9e50dc1f28fd606a6d90aba7366052f26c0c80c90f7eac245c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/clojure-Y2auQMzK.js.gz +f4ce02d5c428b0f84c7ed6b50edec729a64c0744b98164a148243b2e1cbd2d6d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/coffee-Bu45yuWE.js +345776cb62667535c520565bc0b58e28f0b6cfc8ed4418c29fb255b051367f11 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/coffee-Bu45yuWE.js.br +abdb5be0ba0e1ecaaa3365bd535f44045c1f4722bd4145ada698175efff19469 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/coffee-Bu45yuWE.js.gz +691086029551bc7cfbb5ff157e01a935715a35c8330dc38c879b069a1cdc068c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cpp-CkKPQIni.js +75f41e113f76a3dcd202252ace8103d9601df24eafc1916b0d8ba8e6be857a66 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cpp-CkKPQIni.js.br +7293065e43bd77e6a4b7d447c788f3fc1e3a29bf5c3db0fd7b881fce4505cb12 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cpp-CkKPQIni.js.gz +747c32cc96a655fcf8399f8ff8d99c4a73c34d529afd197dcbda9a8ba1eb0595 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csharp-CX28MZyh.js +cb99832ecc35b3f2571b364b5f55dca8ca2c00816c4ce9dc649c94b8154abfaa wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csharp-CX28MZyh.js.br +75bd2fd572285dc25c492d2a4a66d8e876fba2416b36d81ff3cf299841b225f1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csharp-CX28MZyh.js.gz +0b477c46df69193baafc9fcecc16858244c168ff0f8de3a332a9221718e12a4e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csp-D8uWnyxW.js +dc2f1ce4f15a9dcfa1f37caede8f7e6d8e59e8172dc72fe265d584fa95f9bfb0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csp-D8uWnyxW.js.br +5e17311d790cb820e0643eedfbe697f57561cbdbf4dbe940e718600db02b6986 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/csp-D8uWnyxW.js.gz +7e23b396ebf63139c3e8a490d4d0cee72070be0cbcc16751e21e76e77725ba1d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/css-CaeNmE3S.js +8318ec89a30d3436194cefceb86601e8cd6d444484b90519891f507e394c8741 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/css-CaeNmE3S.js.br +7ebcdb6ddfa4db9836c986bc9330d0b0a70bf0f0d94e64ed38bf739045966c11 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/css-CaeNmE3S.js.gz +33c8cc090616f7f93761810ca7844d9c5a911fc8adc4d9feef7191bf438a2f4d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cssMode-CjiAH6dQ.js +76cf88690731b0c52c68d1f649e99295e74ac40fa79f17d9ab5c54b7cf2537ab wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cssMode-CjiAH6dQ.js.br +c92f11048d57fa1da8987a3c61ce4f56085d2710c844972389bd5c54e77836d7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cssMode-CjiAH6dQ.js.gz +a55883356cc2c54a560383f9a2915922875f4fe6fe4149006b5b8f9232c2ba73 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cypher-DVThT8BS.js +4662498a7715c982a991dcdc2440d763a0fb6f4002bdd57342e4c4536f877ee6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cypher-DVThT8BS.js.br +5ba463ff2a701d5deb51980334b8ffd75ce83a2fdec129b54bf7b8141962a0e8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/cypher-DVThT8BS.js.gz +5a73a1c81d0c57774058fd43afd24917db02127c3aa996b9b982c6f197aecbe0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dart-CmGfCvrO.js +8a88a8ce36c827694db6a30f464603c8208ec5ee5561b02cdb918692966f4469 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dart-CmGfCvrO.js.br +9fc6fb0ffe1143e223e0c9798836bd916cd1aae0f362cbba2541b2265d850935 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dart-CmGfCvrO.js.gz +84d90d95ef722d2d63cd5e0a495ac484cb60d663f0e64ffc033a8de8db800d17 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dockerfile-CZqqYdch.js +5e8316e7d0b37800e17e180254300a0c01e4b085616c65e8f00b001b344e3c7e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dockerfile-CZqqYdch.js.br +9270871609316df4b682e44ddd50d01df1e763e94a893632bd323806d52a4c70 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/dockerfile-CZqqYdch.js.gz +2a96dc1d1ae80dca79169ca133a1475b1479b61b74e16f5fbbcfc4a1c0564828 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ecl-30fUercY.js +74c6b1ed417c43d7ac2650ec56c584b018f9bbdc3f46291066c373d816df8250 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ecl-30fUercY.js.br +c135e295d17f1546e418c1264cf3127ed0361e715cbb4cc651a5b650e8c81f51 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ecl-30fUercY.js.gz +c10d0058fe0ee5d2c46c3b6cbb28474407be5d45ada35973f3230561f82c4de5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor.api-CalNCsUg.js +e31e407480796503e966850b54ce66b3f71891860c86618926ccfe97300c429c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor.api-CalNCsUg.js.br +b8ab2d242ee743e84f33d7f5d015c4bec53aa7c3bb9ddc3da0f65920e3f332b2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor.api-CalNCsUg.js.gz +db6c1cd607943a861b47c7660d0ef02ef64f7173194d7c4b8bce5c988156e5f8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.css +56bce944862a15f5726b8efa6fdd4f974bb4c55126d0ad2d5e196ac040d8209b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.css.br +cbb401c5d816bc5c33bd03e84d6f8add1d5adf816faaf9e50a8b9c9c6a3ca584 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.css.gz +e8cd8b34b0cc10759ad5419d6253bcb2b91b539580ab857e46f2af9096d8e348 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.js +8034c60d6a1699a8572c44f86b9fc0c506ae899f2ad18c19c29e89620886230a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.js.br +073913c84a4bd56bfb6c881e0d057882fb057919fa8664e6206650511fc55a9c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/editor/editor.main.js.gz +12d8860be37bc331789e3bedac65ac60968fb0cc0a5ccda72d3eac0992618701 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/elixir-xjPaIfzF.js +8570918addec811aee44808b6a05c1534facf1e9ea4457b749a73e19c8615dcc wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/elixir-xjPaIfzF.js.br +74a05d61de76050ef35031d8da8e9cf593390d625228b1ea281def12bfda35ef wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/elixir-xjPaIfzF.js.gz +2cc6c9f6cf019557bfeb6cb313e0d65044af5920ca0b964dc62f960d470f0e0c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/flow9-DqtmStfK.js +a4de6d9ad9ec0a75d914346666d72f88a9ccc0859ec464a8bb456e3d17d5feb9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/flow9-DqtmStfK.js.br +f3b030299cdd61ff7b514e0c5efffa1eba724eb0760860860ec98717d937ee40 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/flow9-DqtmStfK.js.gz +c76fb07f5f0dbd94eaba0a6e3f0e8598bbd91176169095884b9ddc70ed373ffa wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/freemarker2-Cz_sV6Md.js +b113714da507bba5f64e4189fd123f071b1aa282e3f21720d51041700d1fdd65 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/freemarker2-Cz_sV6Md.js.br +e7d60aad039ca17aa1cb7155ecb94448bd6dd175615ced1775eb63c1051dae99 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/freemarker2-Cz_sV6Md.js.gz +8bfbb5834411f0b16bd92c453385e33b6d93a98746358c79eafdca0e52c9e93a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/fsharp-BOMdg4U1.js +26f418f88841e48a5442ab11b7bb1fd5ca84ee2e145d24b4244a3fb825622acb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/fsharp-BOMdg4U1.js.br +8ab6930ce52f86efcaeac0754d8b75ddab5d20c571f73721ba4b6238b71e836e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/fsharp-BOMdg4U1.js.gz +af135fca33281be8c049b06271d38a786a7b814de6a7b3b1a3ade31d18019c2a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/go-D_hbi-Jt.js +a230b3aeebba23533b42d2b11c1eb23e834fa975beaf2f3ddd17c52952f322bd wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/go-D_hbi-Jt.js.br +8bdbecaa7c6f50a42ec91efc2af8038b05d552716f2e144ec85821b14bb135af wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/go-D_hbi-Jt.js.gz +c48dc8ce6771c8320c51800f398ed8908fded44bdd30bc25bf735facf3b9fa68 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/graphql-CKUU4kLG.js +30bf789242add2c16b4ffb6289c88d0f85983006b3e6d830b9d5e2831f0435d8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/graphql-CKUU4kLG.js.br +d4028392456406e701c90c721373d860af5ee402384c2cb467e9ac267d8289f7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/graphql-CKUU4kLG.js.gz +da2b249a5adce066b8a9146f9bced3b01837ecb371f28d5dac46ca069b953700 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/handlebars-OwglfO-1.js +24bcf46751663094faae3bee2e9c073fc8ec1124e858a7e2a13710156dfaa934 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/handlebars-OwglfO-1.js.br +37624ce91798982cde66505bf4585c17ceb5f3a9ff5ace183abdb765a18975d9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/handlebars-OwglfO-1.js.gz +a260db459911f838c6aa331b6efa841d5fd9360ec253541fea015a62594b4296 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/hcl-DTaboeZW.js +2132e60803cc979a7b90df98aefe59ebf565943f7dfb0ff824afcc7eb542e8fd wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/hcl-DTaboeZW.js.br +0ab03db9343e4d6bdb62330e8783e275782d8c08183d6c41358c01e154d33688 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/hcl-DTaboeZW.js.gz +f80bca7696c004015b72129827fb7c695b6e8cd453f3c8199d37059a49fb7629 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/html-Pa1xEWsY.js +e1b756701a6b77c9f1fed748ec89100cdeac3a001a7034aae52aa4fe7d4aa891 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/html-Pa1xEWsY.js.br +2e75a27a3dfe8dc8f4baa93aff39a69ec2979f823eeb1a7f8ce53616a13c569a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/html-Pa1xEWsY.js.gz +c4117bf0e6a1c16b531466d03f2092e4f4373051be022b87319d737b34ee1910 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/htmlMode-Bz67EXwp.js +75a8e1ad31d405057676c6ad4328311e76ac572220d4578de73bcfb9f3a5120f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/htmlMode-Bz67EXwp.js.br +3960f3c0d85e0b6d90ef292c355ac954fcedb42d461c9f9ac828f49aeab396bc wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/htmlMode-Bz67EXwp.js.gz +b4fbfcd2b005881b0fcbdbfd6421acfd461717db35585c66d20326e79a12f9b8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ini-CsNwO04R.js +a54f274c7e305958dc8461b8cb5cf94308b01ba91d8154b7257d6f7f8d172e17 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ini-CsNwO04R.js.br +8aa106dd938a279dc8478a53cc72c9bf4bad3e73a58784b3bac11045dbf95258 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ini-CsNwO04R.js.gz +a20ff4f207bca6f457f62f5d875da04e981d66bde50a977e8d2c0be47e91aaaf wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/java-CI4ZMsH9.js +c849db5ea559dd1a9e134ffb77e88bb17252066bda0048055fe9e4fe24b73df3 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/java-CI4ZMsH9.js.br +63ae5d359a72dd6074c4a127b3dd4f3301a94354a97888e2a13e37d16b10dd96 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/java-CI4ZMsH9.js.gz +f6015a196031b3ef8f1768a59d3833351ed0840098eb589921d541cc50a09853 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/javascript-PczUCGdz.js +7eaa6f19414b120bef1f9e0c7159c1769de1ac9e03f06c1c6d7e144b8da422a6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/javascript-PczUCGdz.js.br +cbd901279d7230f25fe68cd875f562af0d6a5a21f169cc78a32d264480bcdf38 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/javascript-PczUCGdz.js.gz +4ac90cde50ebf5dbb7a43b6d10539551060fd7ea6c9d23ecf92348c334f8dffe wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/jsonMode-DULH5oaX.js +751138ebcafe6b8211475f9823c1db9c4764dcd2b490fa3b1f5ed9f32da34e7c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/jsonMode-DULH5oaX.js.br +d7175a5ad860ae4f1ddcae021e61ad8fdd167260e2cc3a76af05dcafbf82b34b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/jsonMode-DULH5oaX.js.gz +291cf2327138ecf28f8d89045a7978ad065d2bfff59575b832c5d9bd814e9623 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/julia-BwzEvaQw.js +742592941b9bb67f612aaf472267534ac52e9d50dbf36aafa8d468caf0e262e0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/julia-BwzEvaQw.js.br +0d71874f58bd8499f61b4ab04217757585bbbafb130eeaa0868f9b5992538792 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/julia-BwzEvaQw.js.gz +e30cf3e62994e7c32847542a791504eadf029dbc092594e2e057e79fe17c0159 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/kotlin-IUYPiTV8.js +6cbe700f10088d478bdea174a86bd230bfe9eb2fd49017dda24cca210aad8bb4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/kotlin-IUYPiTV8.js.br +7ca7f83b127ec592fb8e9828537565fe90406146fbd48a84894f896ee63bee56 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/kotlin-IUYPiTV8.js.gz +f711d4fa266ea9796679d7743f620e9eb70360f466c1c4acb5964d525dab6025 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/css/monaco.contribution.js +c9c65bd66edb5559247a512b9fca4432f4e6083a97c923142c295705b909ddfa wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/css/monaco.contribution.js.br +56daea6908ab545daca05e9bf53add764c26082e29ae156d53d898f8e48c0dd9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/css/monaco.contribution.js.gz +0229bd25b8f63e5b79dc533db62bbedd895bcc41448d8e2ee3a1150ad5318062 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/html/monaco.contribution.js +4c4d3e4bd679dcdf648227e69c5ea1f21fea2b05d15f27e8cf74526e71d23d00 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/html/monaco.contribution.js.br +672bd0388daed2df86da17b1c301bbae1b6532aa1d5a6e170fc4e0e5dbd137ba wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/html/monaco.contribution.js.gz +9ff482386830d3d60d6b41d52da2892dbac07ad61fbd221b19b629e8290095f5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/json/monaco.contribution.js +a957dc930ed28e1cf34909866a069b9cad70f959f1597dd6e270399ee096d727 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/json/monaco.contribution.js.br +a42b30e0cb97b4e0bf15b12fd0969cf371d7654601b6bc28c5feb472feaa9e1e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/json/monaco.contribution.js.gz +03ff25f5b050061347b4de45287f78143de121031a822202766a56ecb5e839ef wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/typescript/monaco.contribution.js +df27b1df8abed6f465985673c747737cff9647a32d9c373f3e22464fa9e3e92f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/typescript/monaco.contribution.js.br +ceebe68d50f882f5b47c754a5690d521a9aa2c6466df52e9e1ca3fd5132f1f1a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/language/typescript/monaco.contribution.js.gz +e3c00c4fb4e99ea039ec49308d637ff3581fdd1ab695b18a8ad1f7299fe428a4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/less-C0eDYdqa.js +98ca5e7036eb2b5e30a85ff03bced5ad75a5352600b6c0229c1e18ec6d2d5247 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/less-C0eDYdqa.js.br +56b4e0204f6e276f43e3176a4eaa844e1e42a0428957aeccc964fbeff9baff55 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/less-C0eDYdqa.js.gz +fbccd913c524e992cac0d3c3e5ddc31c3c2dc67c04c704e47f298838dd08ed1d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lexon-iON-Kj97.js +c4ef4ea1723c86252e207b331c53601597ef0f6434bd99df8b3b819833f4ef69 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lexon-iON-Kj97.js.br +903be80c155b23720a51b9cfc76834fdce19e25307f74a4364e8a12e45843172 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lexon-iON-Kj97.js.gz +8322453b7dfed505fa809d70007ace5e061d980881d763dcf29e71b4a018d627 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/liquid-DqKjdPGy.js +31cc80641dfafcaa1dae9aa6356b72a6acc2ffcacecd9d3706b63e57cbbcedf1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/liquid-DqKjdPGy.js.br +4b075b8361992b40c9e6330ca7f58ce9a4ad601040300e6b7cebdf698087e2fa wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/liquid-DqKjdPGy.js.gz +35b59df80b41a8b73bf1ceb159b44f040567c2ab53f4e77a3d002d9dc39d55d1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/loader.js +f52d48790e696343094576335bcbcc44d7141017843a1cb7dc5eb829d924af9b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/loader.js.br +581331acfa7cd51748bee6d7a2e236471aea6a0c7c9ef5d4bf78358c48734945 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/loader.js.gz +e55cd5adcc0b09f738104bd7dc39f5e5865bb722dcbfafa03db7af9e4bb021ad wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lspLanguageFeatures-kM9O9rjY.js +c19008734073c02702d6494c75539b710abced46da4a8a33c6977aadc6025c40 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lspLanguageFeatures-kM9O9rjY.js.br +b1a3db67dca42bbc1f21cec322b3997ede22237810046a65bdb15d95fd449f83 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lspLanguageFeatures-kM9O9rjY.js.gz +16e36e65f32eeb630be4622b6066d42ebf03b35d2aa60f8ddd884ee8c2bc8448 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lua-DtygF91M.js +b36ba4e2ccc2ea2b0aba4f31f481950c06c14186a1e4fc07b83498a49cc74a77 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lua-DtygF91M.js.br +cf83ed28d943f750256fee8994602ddf83a94c230a29e5a693ea7a4f818d2005 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/lua-DtygF91M.js.gz +8cd14878f7f2bf8ca1293a47e368f6b351d6ebd667a072049999281db306df1a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/m3-CsR4AuFi.js +f0dd2ece438cbbd1ffd9159522482f53333860fc72214cdb3fddf6bf394a282d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/m3-CsR4AuFi.js.br +03209519c4b8b9f4cede7d98e4bca52e8a2ac253892fb04934d5c3a546d4b7d7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/m3-CsR4AuFi.js.gz +daab8a5150c09dd393aca1ab782bd6a1bf13c12b2f961a33a8420932c6be32c5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/markdown-C_rD0bIw.js +cbb19a5cca09b9b68035f3bbc947423f742b20a50039b36d47aa543fd1d494d2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/markdown-C_rD0bIw.js.br +ba78e4a62f4764f721cadbd47a68d5a37c006cdc229607c51e96e86d7f3f1f6c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/markdown-C_rD0bIw.js.gz +55c27af0e6b57bff37371e0cf5394b9e53f8235f644be909d9921ee4cf5ee8df wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mdx-DEWtB1K5.js +2a99fbb8a1dc06445ff363988bbf448d28950f9629b520480c901d8bd3540830 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mdx-DEWtB1K5.js.br +1d995fa87960a04b83006d2a691435945559b0d3797fc14c5dd95db97a9e1f5c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mdx-DEWtB1K5.js.gz +6c936f788a9b27b8464a492c0a7e62b439caff1b05bea2eb5a837b663663cf08 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mips-CiYP61RB.js +88d67baa9196d809d6adf473259a9919ba1186430453dc8ff76b55681f5622e8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mips-CiYP61RB.js.br +84ada1627522e8a3c481b181b6c5529d56967d57a2915fd74855073c9e911d98 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mips-CiYP61RB.js.gz +9854389d8ed1583fd75083a65a150c7e2aef0c79b6b62672a03b91254d3b79fa wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-D2OdxNBt.js +0c4dba382891e608d5c44d151bd59e802b7aa771ad191dc6f5ba00613fb4bc5c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-D2OdxNBt.js.br +4371dbaf65fc5ec9273da67a9bee17b813865a35e481ddda427c938644b85712 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-D2OdxNBt.js.gz +32adc5eb62986fbb20851a31e75a997d2c730ca44ee3f42c07d7e5d0cfaec049 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-DO3azKX8.js +7b12b54dee274fda036f0bb500adcde5053789582d6e79538e7079b8dbe812be wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-DO3azKX8.js.br +52e33be679ca342164026eeaf308265921c7d158078a8e67a7fb984e5f5683cc wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-DO3azKX8.js.gz +77b367e4e813d719e8ec5419d91ed257b3ae730a64a02e901830b020b7bf4737 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-EcChJV6a.js +cc5c2b75a3e5028b337ab06aae66f4f12d35fea90c83ad2b72e0496680fba97f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-EcChJV6a.js.br +c1d05939639143dc42d61356efaf1e8f841e6aa69cee762b71a77df9f1a31a40 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-EcChJV6a.js.gz +0759e165aae34b2f742da203a2c1eb66d0cc08a307a54bd76be357f40e48a201 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-qLAYrEOP.js +9f3cbdc31db25fa410abc3618b90a9f41dd8f82764a70baab8f76f100fdc3291 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-qLAYrEOP.js.br +574bf3b6aa56e980649269715b436c38c96994d08567d49ef8288cf3c2e65cbb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/monaco.contribution-qLAYrEOP.js.gz +c32791ca0a361d805fa92d92f07d316b459badacc5dd51efbc760eaf9168ae83 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/msdax-C38-sJlp.js +dd7303994ba8189a1e0f869682b591945ada4d184720f65f7ab88a12aecea02c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/msdax-C38-sJlp.js.br +b487777f717dc635923683295c11249d33e51632a75ff58f747a5dbc76f2fed6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/msdax-C38-sJlp.js.gz +d9a7c012fd5dd55810488d928eb0e4dc3e4e8c856c5d45a497d02b4ade124510 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mysql-CdtbpvbG.js +8c6254a7e9297dd877a8a0283c594e1439f7f3c7081266f4a2f0269d568c86d1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mysql-CdtbpvbG.js.br +6815c3938903253ce0c35e2f4b2193704e00ac18cc083f6c0173cc4376ad760e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/mysql-CdtbpvbG.js.gz +b67653b8b150c0193c1f7c46ca73e97226b26e793499ba853b3e1f4e7b215f65 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages-loader.js +b9e43442d5606798a74d8f081a8688b3c398dfa1bc426a4380b43d6d4493452c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages-loader.js.br +588bd1ebe0fc480d914d8e0eb102f2ca60b97025a14a175a3caf43f70dba5908 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages-loader.js.gz +1fc35ecf966f24513e29f087cfa3fa2bfd7173fac1a6133c659bf85e9e6dad18 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.cs.js.js +7804f3b52c9aeb29bb41a0b7ae49992ec94257aca8e7c953b7b314bd87af4a72 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.cs.js.js.br +fa80ff261335db86f86cd282cc70d99ad4819a52ce05d348b62a6b7cf657e375 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.cs.js.js.gz +de2b2522b313e5d0055ee352429d65f492d43a10a8c8d2298118331f6dba8ca5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.de.js.js +aa0a6efd68c1dc9efc2ebf8b91a4371178904d6c170927c9ba5c5f2e0742c5d5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.de.js.js.br +1e3705c22a73df9f74f26fc769f8b02cdefa2899b24f0e8387693c47d35472ca wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.de.js.js.gz +06bb824582228eb186fdb9161a31f043a47b94fd3ad6075ae7213419b9b1591e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.es.js.js +4d99a01372e3c707f2345b62cb46e617842426fecd4691550d6cd7ebbccf0d05 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.es.js.js.br +92cb231fb023991e47cb9ced8e92508e7d7f2739a8866d55ab71f3b045481565 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.es.js.js.gz +5fd2e79a22b4939ebfb59e8b88ba3af58a76189d71fc4acfdf718924e81af9ae wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.fr.js.js +41823838970b75aa44f32456a2cc461fa0a28a6cbb6c8a2f69135b50e536d534 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.fr.js.js.br +1cd9a1662eb5e95e03a629378236fb60efb1b473f1df5f5e36d2dec4ed7b0e34 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.fr.js.js.gz +9dbc1f40d89ba82058ba1debf27ff3375bb2463893a3561f3b6451947accf20f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.it.js.js +089b1bc2ca687f03504a21e652a208e7f450e2c9b619ddae0c7614e8ac631248 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.it.js.js.br +556ca709a3055b472c5e67f62f3fa3b6ce552451c9f2a192ca49976553da9b8e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.it.js.js.gz +8c42b703cc6b3a83b91e87f72c0571a6862fdda4691290e576b3f1dae50aad89 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ja.js.js +1a38e84502b7327098e19b7e21de72b2cb46a8c040fe012ff7576695a603dc9a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ja.js.js.br +cc9dc7814ae3a8cad82b488d5a9b23e18f735257b5b909a108e0f942afc28508 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ja.js.js.gz +6fdd397e5ab73115c0475c80af97422e744b31741faf1fcfa5589a1d853796c7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.js.js +aea2ff2af82cb1d7d753ffc824280561c620b79e4630550435d9e13b60bd41ad wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.js.js.br +e8d35c0083f6a77f2abdc179c698dcbbacdc9918d07084e85d49c7941e3f189b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.js.js.gz +ebd8d74e69f365841a00ccc1d34d84bb124aaf68be0321de790c7ad04afeabea wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ko.js.js +6f817263d8b6bfc146116e31c963701494411e574b3622bafefc19ef9c064796 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ko.js.js.br +5cdb7f3cbe262ca66e5132633c261925ab49352e07f7467196125185ec9e1c31 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ko.js.js.gz +3b3c8749a0a836d9923bee650f1ce7b21c389e136ff8533c337cf0cbd5b81a1a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pl.js.js +09c3e9bd73c8d60a05b1ae4b70de00502eec7b200987c20715ca40e78382d422 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pl.js.js.br +054e67fbd12b0a2eed3e4005568d271cfd80afbcd6a1531d2cb1fd793865bb73 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pl.js.js.gz +6fe72bc5a80207c54b9b637dc8ce17e6f63c8730aaf341c536194a1493cb9e4e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pt-br.js.js +14380070b6a29c1acc8655dedf3d4978fa925d39fd8bee172f77c8641e2324a7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pt-br.js.js.br +ee7666817d6c5013c1ca2fa7b7945de7abaf6b6896705c6333805db6f9fa9072 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.pt-br.js.js.gz +0b1fb66c1d484b782ae7b7194219e6008608d3b1e9fedf25edf9f146428f6cc5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ru.js.js +2a5449b0888ce2e8ad5eac7cb8a2b40af9970efa50acc8a4cb8214791743a60c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ru.js.js.br +5b2e1bccbc095449e4181c65ce8d33a2c63410e6fa86bc5e6141037bf200eb9a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.ru.js.js.gz +c793b7a98e32a17978897b69a8fa0936d8453c5de64fcaaec84d482e03f0a52d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.tr.js.js +66156f121e86529bfa390b66e49ef9dd3554b657c783710daaec11eaf26cfcf9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.tr.js.js.br +1edf341c4035dae839e830eea5361f7dfc119ab139c997e7e93d699b10970518 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.tr.js.js.gz +464ff76dd31b6d39ca489689381f9661d6e36e3834f3268294782f5555db13ec wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-cn.js.js +42f908b30cbbc60e8384f04d374a0bd2343ed5a2e33cb9bd9bf949609001618e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-cn.js.js.br +5ab1366bde99361c2c9a0e668daa072b6d6e4d0f90553129947b510756c53501 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-cn.js.js.gz +f744b5748e375d14e8e2a73374ec3409467d4b116ff96064f2e13bf46dca9ede wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-tw.js.js +a292ea127f0a0c15a48c8df1a925eb30df2cfb63c0efc4781cf5cb156cfb155e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-tw.js.js.br +dac359b983f6cc4e1f8c9edc6709e718333b28b6bfed7e0dc9645e5f862d073e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/nls.messages.zh-tw.js.js.gz +1cd6f9265e8ca66348cb976ffc510edaff6997a6d8edc96b67d674d47997899f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/objective-c-CntZFaHX.js +fc46ad7ee8b954906ff358bc281e0f824d974ce792712adcc7ae43542f0c3b21 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/objective-c-CntZFaHX.js.br +341a72198baf331800c13d3dd20c4dc6c318a3fb7249f0213c1c326c6d35416c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/objective-c-CntZFaHX.js.gz +d3cfdc9a2419b8caef88c9a8d8e4857092420300f9d5f2261203b7809c41943f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascal-r6kuqfl_.js +da0a312053dafde2592899014c35349c52cdb4b82f9a7559a56e912628865f66 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascal-r6kuqfl_.js.br +67440838376e82fce62e159d38750e140d4da2c930ff0823bc25cce0c72edd11 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascal-r6kuqfl_.js.gz +04a26822cfb8ce658bd5b71c12952e397e675f64280081564ebe59c764fc1939 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascaligo-BiXoTmXh.js +da29cc25c34e7c85e53c727fefc1c07293f667048584f75c1955593522535674 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascaligo-BiXoTmXh.js.br +cb84063cd22e9213cbfa39b07d3a460e7767c90078922d611f4ebcc4ee920cc1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pascaligo-BiXoTmXh.js.gz +1e8d8ed1e81b192d98af1d0a714dbccb338bc5fa3557d6ae82274194b73713a1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/perl-DABw_TcH.js +b9bb055a7a53f2f93c2aef98e4025f09e097e4339f954adeb3a3dc42f5b59560 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/perl-DABw_TcH.js.br +4a0df9acbb1782059a83edcfc752816f1d59d1ec33f2fbc9e2addf919761da14 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/perl-DABw_TcH.js.gz +3741dbb2623c71677e3e1d357e66dc8167129fbcddc40529e13438a0f969c628 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pgsql-me_jFXeX.js +82cda70f8deb38b32865626dc34fd2e5a6fe32ec919830bdc5f3f86fa5d35f7b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pgsql-me_jFXeX.js.br +5f632d34e1bf088f1df9c104896f6bddfc51584b053e5e84663d5a7c123c9f1d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pgsql-me_jFXeX.js.gz +e834d0cafddfd7b0f3aa8d29e30a9956680ad8819446c5cbf1c6f5f0f00d672c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/php-D_kh-9LK.js +a674aabd0ac87d0a410398eae2a40f0390b540c65d60e460c4b7ab3de78ccb95 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/php-D_kh-9LK.js.br +c30ef5563914f6ad2eb958e78896fe0d221d316f8cfa1ed53279e5df5b6b10d0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/php-D_kh-9LK.js.gz +e3b5b0b3cd82e9ca1c28975a9019da75ebd972b238151ffb0fef0f15c8ab847f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pla-VfZjczW0.js +9c5ffe41bfa6fa89a900a4c468c74807ba428c22674df65d48dab223070fe9fb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pla-VfZjczW0.js.br +2b5ac8de57ac3240aca06b8dcbd5cff8f0e1d2c2aaaacce828f869306f46571d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pla-VfZjczW0.js.gz +0b832f7fda01fb6cbde140b562ea11358d5ca8b1ee6bdf0db5915019d035c942 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/postiats-BBSzz8Pk.js +5ac828fb9641e91d7e853fd1e9a84e9f45c4d6a50cb840817eb0e7546e925c7d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/postiats-BBSzz8Pk.js.br +6040656171c49879fd677fbb661e354c60b6a827ddc1ccd5001e1c08f874ede0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/postiats-BBSzz8Pk.js.gz +ee0e9b4239a70028c6947afc8a932d92fb85f08d1c49808944ad4a6a00be0282 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powerquery-Dt-g_2cc.js +1775c9f4e30bc2ab4d254f41e61da962fb0c0c8820707d56cb211797ac66e652 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powerquery-Dt-g_2cc.js.br +625644030378171375ad30075b2f24b2d3ee84257a8db439aca98446f04f2673 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powerquery-Dt-g_2cc.js.gz +9856349e4382b5677dc41b2ad8086152304d30b48057b9fca8b2a6368957da40 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powershell-B-7ap1zc.js +276972fafaa660c6cac07d3b9068fabd704c42bfd3731cfe212b8b2d8d421dbe wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powershell-B-7ap1zc.js.br +88653b21a6d1bf5540190e212ce766952f6da7931048665b4e529b8c10e24dd6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/powershell-B-7ap1zc.js.gz +0728d711ae1df4b386104df5a4665cdb958f2cc7a6b9cc622573f3812df30bcc wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/protobuf-BmtuEB1A.js +51f37cf8652f033de7fd61ad08cc96a39b83e176ed8b10d5411f4693fd2e48ff wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/protobuf-BmtuEB1A.js.br +5b42353ab07724dc00d15ff636dfb2435c7f1d1c9610e822a1bda385fec9001b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/protobuf-BmtuEB1A.js.gz +e92bb527a6c961dd7e0b028dd209124c776a3f25a625373cfee36506ad234b53 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pug-BRpRNeEb.js +ed3c044be46b7d529502437cc49edcc333ae862097200be52b469d30e633050e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pug-BRpRNeEb.js.br +8ee5c459f05b95a3d47e28ff16c821f653900d4346fbfa488c27c813f8919216 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/pug-BRpRNeEb.js.gz +87c041a0150e7c626de28d835fc81d8dec08331471a71bbceea712b2b5bd6d40 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/python-Cr0UkIbn.js +30cbb6a9a6e0593d7e766ce0fdfdca36715d944bec9220b031ab32f13b07b3c2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/python-Cr0UkIbn.js.br +7f0697369c1c11e7e34fbd2ea456a7d0bef92bb54088a86f1ab6ad13a3c3ec21 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/python-Cr0UkIbn.js.gz +c2beabe7876542bcd360008886351e4845d1a03602ca391a09f60eb20dcc7877 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/qsharp-BzsFaUU9.js +c893e611f5fa4be67932c2b55551c6f3620ddd0aa961343c4b1d59d2dd5062b4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/qsharp-BzsFaUU9.js.br +08ea118abdf4454e5b9acdd2e95edd3ea9e400baa262f5e75e7f474be1ad73a5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/qsharp-BzsFaUU9.js.gz +8b7e4cf13007cc02bdfabb8781fae0a56be07bd8177e10bad7ff49674f91cb2a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/r-f8dDdrp4.js +5a7196621a36bcedb6a29eb4fb65d579d5879233a7f7505346a958d9902354be wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/r-f8dDdrp4.js.br +cee76872ae7b50569e29293df8ac353cc4feaadbc0d448f19fcb51fbeacf49ca wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/r-f8dDdrp4.js.gz +977c59fef61edbfa5c861ea1bf85945f8a8bdb4771a71f6149b7cc1416d20e98 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/razor-BYAHOTkz.js +87f04dedc5ad3e6f439f56676d1b0bdcbdbb117bd856e861a0905495948346a4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/razor-BYAHOTkz.js.br +df6e73d95df12d76df8c14bfb6d2fdc2856ac75ec0f81f27f82c2b051fb01797 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/razor-BYAHOTkz.js.gz +c806c1e46656d0a13bf6695d78af89afb5cb58d050ed0f85572d74a8cde69568 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redis-fvZQY4PI.js +3f4dc3927904e3e3d15f0a2ec04f9d09b41dd22355bce3b4dede9934e4f46636 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redis-fvZQY4PI.js.br +bee6de551f94cd1d75f8bdb68b6aa13fde19b6d03cbac01ea3ffdeaf34225250 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redis-fvZQY4PI.js.gz +9750bbcd40ebffd72aaa4b2a113a1f1982b79fd72c1ab8616a0582a29548095a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redshift-45Et0LQi.js +ceed716abbcc1cb0b4c9e3539797f694b0c8fcb4c4cc179f3f64a59b6873a09c wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redshift-45Et0LQi.js.br +355c21df1bcad5f3149ff9e29e1734a0ccdfdd9ff6fbb574b3036a1afaf31b1d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/redshift-45Et0LQi.js.gz +33e9285d3b5908a5e854fa5a34fde13f4c32fded6525bfb9948fa64c0432b7b0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/restructuredtext-C7UUFKFD.js +fdbb92253bcbf8b3fd12be74ed4778e19ef3250f54644b9e750fa9efaac4aa05 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/restructuredtext-C7UUFKFD.js.br +03cd5623eaa0900668551b1a6eba7b9051fddb5d768732e7d476ff4f088e3a8e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/restructuredtext-C7UUFKFD.js.gz +56c7a3ae5ac52509e7398da3d3b7ed16645985c8e46794ae526e101d60748ee0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ruby-CZO8zYTz.js +2a1b21a6822c385a1c6b1edc81a428b5e82cf9221f5924f2fd71321200e5e8e8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ruby-CZO8zYTz.js.br +bae697e504204b26580e00d20135ad66c7ba854230f8831d8d175f196a72a877 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/ruby-CZO8zYTz.js.gz +ff05b26de2000433ad35afbdf250f96f55eaa4e862804deda0ead27ebdf4f9a1 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/rust-Bfetafyc.js +dc8cf0c883f30524eb97523f2080fddcc7777946cfdb8b6422666e5b2d4574a5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/rust-Bfetafyc.js.br +b23491ad1740b1f4bb0b55d8dab46fbdecaaf5ddd98c7e7020c483988ec1c07f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/rust-Bfetafyc.js.gz +4abaf69a27c130e55cd5202e42b48eb9d96515b9161f6468aab178459c85a2e4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sb-3GYllVck.js +f443e54210dc597d3053d0b73cfc6c52000e31297c632367cafd80daf7ce33f4 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sb-3GYllVck.js.br +d03393df01b548e4248575526c59fa09ea9fe6c2a7f2d31f1ec61bcd509b1375 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sb-3GYllVck.js.gz +f9ac4595980f67fe4df9c65402de72fc3bcd6234ca682624f53427e72fc23c84 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scala-foMgrKo1.js +3d535ef0f9c742a0d133e7ce8150adcbbb7a6310af711be0f7e1973afcb5211d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scala-foMgrKo1.js.br +96057acbd8e2d8f93ecf03cb72e305ce1201a976f46abbf1af324422d1239362 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scala-foMgrKo1.js.gz +708f7f931ee52dae9d7cb0420665120271e38100376ed578548eba4df18db12a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scheme-CHdMtr7p.js +47e20ec57ddcabef0a028b19aed36cc8d55873f98ca462cefbe00106e9bcee60 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scheme-CHdMtr7p.js.br +2ee0ca02aed1a3366abc8dae32871f7011ddbbe64c736d2e6b33949073b9adee wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scheme-CHdMtr7p.js.gz +b5e83dba3a0fadd33d3c29daf030ef831c1d6158c7211c8ad4cbac51b598da78 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scss-C1cmLt9V.js +141b65b10ae92d579b4ed95e6ab67587a69108ef81e1dc5a321748c66dc6323a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scss-C1cmLt9V.js.br +ac8bffbf04ec459bb7ab02ecb991ab12bbedfbe7d5a86ff2957a9eca84b7aa85 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/scss-C1cmLt9V.js.gz +0dd40deb01217f2de8df014b3ea910dce7794adf5849636f8c39c19bff40abeb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/shell-ClXCKCEW.js +db39d2008c39bcb37ab15a3f902bc68923217268a9fee3bf7bacdbe8c859eaff wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/shell-ClXCKCEW.js.br +71aeda2b23def85053e5d7547e3f53dbad2a7de54a8efc8886fc3eb4011d2038 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/shell-ClXCKCEW.js.gz +fa2641d40cca156c21ccbaa6628981dbea7bfcb809af0c86541b31e91cf582a0 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/solidity-MZ6ExpPy.js +dc539b17801792f59a0735ced94605e2ac1cd27ebe5e20bcdc3951d2c47de9dd wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/solidity-MZ6ExpPy.js.br +cc61273d13abfe78bb9a7cc0933d9c7ab3e2f8e9dabae32843e7a40cc03711fb wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/solidity-MZ6ExpPy.js.gz +225a5f3d75337b156f90e05cbb3d9eb87f0c5d26228bd7b5964a27d5bd2c3fee wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sophia-DWkuSsPQ.js +6710edd7eb8fefdda75d80e1f1dc0bfea2966d741d98fbd091d2994fd125a742 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sophia-DWkuSsPQ.js.br +b28cbe2690a6c56b7cc141d4f70cc0b15bd55ee0f22601432e893732b4f36d74 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sophia-DWkuSsPQ.js.gz +6a3c861e35b44a4288021a868d50dd135370ed1d556fc0d9729e003c606ba883 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sparql-AUGFYSyk.js +2a5cfa6d00daf13aa04044bbd58db430890bee983b6a58ac10b6a901b30d6181 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sparql-AUGFYSyk.js.br +45b362a89fd06050addd78f93c39f3af118ef237fe14de3db984dadca217b83a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sparql-AUGFYSyk.js.gz +91584effb532e0b052d806914c34e5087fee39516d126720382887bf0eef268d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sql-32GpJSV2.js +d0fdb5481200ede315214075ba99f6a95d5247222bf5dbf7f782e9f00add624a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sql-32GpJSV2.js.br +2b3309e60087f39165009e2b24f4007889bf306aae9d8661acba80fb4944da30 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/sql-32GpJSV2.js.gz +419d9fa82988329be4bce8dee4b16c23e1dd9d5a925c2b58a9f2275d139ae1a2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/st-CuDFIVZ_.js +f5f7566f24c13aea61a034ee5d87a6f49a78614bb9fd8b9611a6b8e4bf1c6de6 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/st-CuDFIVZ_.js.br +8ecc6c6cf4986f62a1ba1253a9c35fca92410d6f1c844cfe508c55e517537144 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/st-CuDFIVZ_.js.gz +b798df1201cbfe55266edbc362780180e72cd084473494d79b1c56ab3e6b683b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/swift-n-2HociN.js +a251e4d43406972ca52b853b8875fead143bbea37302813630839aac00f17971 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/swift-n-2HociN.js.br +e8162377f2c78fd7a21f597cff3daabbd31c3d7d243af237be531c8befeb0423 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/swift-n-2HociN.js.gz +0a5c60be86cfbb173b863503baf73336210593172388f03ff6c0ce8e2e08ccb9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/systemverilog-Ch4vA8Yt.js +1bd9bdfe7587b8d27ed5282bda0d84812fa6d2348016b6ddcd68b9cc38e24c8a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/systemverilog-Ch4vA8Yt.js.br +3c988f0fb9ea80d90ca29625d2bc1aab0571fe79a7aa3f396e9813a2f3c907e9 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/systemverilog-Ch4vA8Yt.js.gz +c492eb652ab826b99b2d2503bfa65162ef14eefabd9f5da70bed03beefba39f8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tcl-D74tq1nH.js +2d6b5925ea9636492bc01ec1b05f426398c9bfe3c9012f5e02d25608d8b6eee3 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tcl-D74tq1nH.js.br +5dee1663d89bd37d49ca6883bd8a2ac2fc2b7a0b3447e5890723210ef1228add wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tcl-D74tq1nH.js.gz +e05f7aa27e204369c3738d40ae560c9d94b2d436ee46d47a34b0b65fdb0bda26 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tsMode-CZz1Umrk.js +2979786f6cf6e02b614c0f4289729c59781814b478d60b3351859ad218bdc6ab wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tsMode-CZz1Umrk.js.br +295fdfd22258ff727c6f9c865d2e2d98b727b0a9912c6cce760564868223e825 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/tsMode-CZz1Umrk.js.gz +bbeb5d2f6d6d45790b36720c969c1ab63b0faccff9a950bb48aa82d997a23cba wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/twig-C6taOxMV.js +bf5a7ac8485139a639f0c60d7f679c3596a8ce2ee8aa299e4d7387199163f32b wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/twig-C6taOxMV.js.br +5515dd8a5d90b7386a531d9c5c58cdd2fd345993124d45829d64089b4efdc19f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/twig-C6taOxMV.js.gz +0bb2dfd5100abf8b983f0bd7c1b904682f0f26142626f04152a0ea8406117c0a wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typescript-DfOrAzoV.js +8fdd08212a398725a1a4c6f9c7c6af4e7694c79f01b3806847b9b768e6e56433 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typescript-DfOrAzoV.js.br +09d01c4fd152a84aa9f49eacd52168141889e22476f89da35c0d9961e4d0e283 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typescript-DfOrAzoV.js.gz +377d28c3070983705a113dc7cddc9e6cf9eff45ee9d653ce4f83b6160d7e3a9e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typespec-D-PIh9Xw.js +5e511014d9421457c357c73e859e04368d20145824c18cc9565f95a171c9b70d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typespec-D-PIh9Xw.js.br +29fa7860536d6ce76981f4223050a843680451fb2fef13a5f4509c21f860c242 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/typespec-D-PIh9Xw.js.gz +22984a593503cf70994469f3939a16d6d25926f3e32d4d91a5ff28afb6c92285 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/vb-Dyb2648j.js +604468fa373c5737c64e1ad8cd02a47363a644fd6e23e9801b43d93a3b436d15 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/vb-Dyb2648j.js.br +1d4864189825b5a3f8935aa5cd4f6ad6514c289748107e26ff3bf607d09f8367 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/vb-Dyb2648j.js.gz +55e72c889d2acc6fb75ce2765751d7d2ff39ee6c11711f6b163d780d60fa62d5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/wgsl-BhLXMOR0.js +fc076d5ec1a2cf505afd946c9a0d8649edd789e4423590d98b38d9dbb0d9f4b8 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/wgsl-BhLXMOR0.js.br +5b889385596e34e95f5474f417bb13b3c05c70c3564a90ca2ef4dce21429c51e wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/wgsl-BhLXMOR0.js.gz +b7200463bdfe7c5876a0adcb42b55d1e6c3b0f856d40f32bf6fbfa70d1040105 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/workers-DcJshg-q.js +79e4d646159eff97b1716395e3c4c6dc92a2197c308963085b7b2ca44a6b95c7 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/workers-DcJshg-q.js.br +1a6594dfd47410bb5cd2d83d94b9c3d81a2ff17d16d710d2271e0d42fff7e60f wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/workers-DcJshg-q.js.gz +475784cf225775c8d0395c7fb595535d4fec4cd7e2ea11e6da9e9b590ac16db2 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/xml-CdsdnY8S.js +3085324effa632775964aebb57b1c3c0d5d3d6de30c88b52bd0ea2bc71990cc5 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/xml-CdsdnY8S.js.br +9f163940e071ab6a9c635cbe5b17a7738991ed39391725d0abe61101f6091778 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/xml-CdsdnY8S.js.gz +9d4660d85218871847920666c6e6a2d0ad6423af10f9511b95e70abbe0186772 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/yaml-DYGvmE88.js +6d3be27348fb0b67359aad731a850ed201cc3fdec8ed7575df688b5333b4b02d wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/yaml-DYGvmE88.js.br +9cb37b16be586236c23d910e70b65b4510706e6d67dbe8567e6bc455a7ea2a78 wwwroot/_content/ZB.MOM.WW.OtOpcUa.AdminUI/lib/monaco/vs/yaml-DYGvmE88.js.gz +c5484d711abe359d11be45bffe32c8d31181b22a8a47aae2bb8050cb8c034dbb wwwroot/_content/ZB.MOM.WW.Theme/css/layout.css +42fb32f60b00f1fca7121bbcc6489ece3395612fa66adfd750039b7558fdfb7c wwwroot/_content/ZB.MOM.WW.Theme/css/layout.css.br +84d147fedbeac0832840276075e99564d9c1cb85bc225fd786fc33851e11c329 wwwroot/_content/ZB.MOM.WW.Theme/css/layout.css.gz +dbce7067239f5f63d5e2bfb1a0b7f769008d0bf81130b65dea2e104062e9e985 wwwroot/_content/ZB.MOM.WW.Theme/css/theme.css +319f0496d129219680652f1c512702e646343380f702b4109d450d510729e087 wwwroot/_content/ZB.MOM.WW.Theme/css/theme.css.br +4d114becca9b8826134d4fb24d99f33853b32d759eee2847eb29f56bd4be0fce wwwroot/_content/ZB.MOM.WW.Theme/css/theme.css.gz +756026ff72eb76fd971ac4b7504cec55eef62109d2684c2cad8da32170b80b37 wwwroot/_content/ZB.MOM.WW.Theme/fonts/ibm-plex-mono-500.woff2 +db71f8a28ad8501544fb4e7668e3c6d0b731760b6f20de3525ebaeba597f1922 wwwroot/_content/ZB.MOM.WW.Theme/fonts/ibm-plex-sans-400.woff2 +31535a91ce3f6b8ed3ddedadab1e49957e2220263a640df1a3f14f6fdfe15eb6 wwwroot/_content/ZB.MOM.WW.Theme/fonts/ibm-plex-sans-600.woff2 +88aa9f97598eaf89205d167b528d96f29616b78d91bc4a4a1dc473628b336b78 wwwroot/_content/ZB.MOM.WW.Theme/js/nav-state.js +a87b4b04e33d28d1111bac4789b2665131fa28325433b105edcf1e2f51727c08 wwwroot/_content/ZB.MOM.WW.Theme/js/nav-state.js.br +ac460a99010fc041faf66a9e24301947a9a21d0056ff8d95774209643dccf000 wwwroot/_content/ZB.MOM.WW.Theme/js/nav-state.js.gz +55be22224dafaaa7eb0f083a1e5c7dc4ff354ae9dd1d085cec13a1aa220459c1 wwwroot/_framework/blazor.server.js +1f723e571f58aa105565eef889a823fa4851793a1acbae3721e18b3636e3d033 wwwroot/_framework/blazor.server.js.br +ec8293f1cc9556841753e2a59b34cb0b996c635e697e9472c3a39f52294d0d13 wwwroot/_framework/blazor.server.js.gz +973bc6e65078e2ccaab81619021c10a4bd90409170582553f7822bfa3671d8ff wwwroot/_framework/blazor.web.js +a2ee9c785202afafc3a992fa83bc7fb6e37b6143d28ef50122d53d297b0020a1 wwwroot/_framework/blazor.web.js.br +84628e9cf73e4987da616dcb32658d8b7e91ddec593cd5294398ea09004b59f7 wwwroot/_framework/blazor.web.js.gz +b5896db7bdcef22f5675babe0348529d138725d9f228afc08dcd252aa9924411 zh-Hans/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +fe526a7cdfb9a06e2c679a67bc07f1f4f4f1afcb4ac2d176f38ea2fc4b11bfbe zh-Hans/Microsoft.CodeAnalysis.CSharp.resources.dll +d049b4dcfe1c22aa9dea4b538e31ce9fc3277e23b0fce7fe79a3fec8aad581bd zh-Hans/Microsoft.CodeAnalysis.Scripting.resources.dll +2b8460e62d86c91cce2182c31b59dc3cef9cf8ac7face19ae0592516c3227897 zh-Hans/Microsoft.CodeAnalysis.resources.dll +d12450a0c88feaafbf3db907ba9e66e0735ecf43f9089a1b6b583675e561a571 zh-Hans/Microsoft.Data.SqlClient.resources.dll +178f07468dc0e3acdce6b62a46ae7bedd2f77bfdf8a2e335666281425214f5fd zh-Hant/Microsoft.CodeAnalysis.CSharp.Scripting.resources.dll +515e77ddebd633c7f79dfae31c8d5b343ed278832119357bdc3228c726c3e48d zh-Hant/Microsoft.CodeAnalysis.CSharp.resources.dll +4a39ef7b9992d01551bb961652f0bc663335bdac513d4c038f56f59995acfa93 zh-Hant/Microsoft.CodeAnalysis.Scripting.resources.dll +e1b882a624fc2fef8fc63a2dd0a61e19543f6c2974b0ae5f1a8e580c0a490aed zh-Hant/Microsoft.CodeAnalysis.resources.dll +6a045428a176c4a42518ef6918b93ba0ee4a126dd15b523cc123bb14cad55e21 zh-Hant/Microsoft.Data.SqlClient.resources.dll diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/prepare.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/prepare.json new file mode 100644 index 000000000..c7e0d6ea7 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/prepare.json @@ -0,0 +1,87 @@ +{ + "utc": "2026-11-12T15:57:50.6584879Z", + "probes": [ + { + "name": "prepare-trusted-client", + "args": [ + "prepare", + "C:\\OtOpcUa800\\state\\client-pki" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "prepare", + "result": "prepared", + "clientName": "Gate800Client", + "autoAccept": false + }, + "output": null + }, + { + "name": "prepare-untrusted-client", + "args": [ + "prepare", + "C:\\OtOpcUa800\\state\\untrusted-client-pki" + ], + "exit": 0, + "secretOccurrencesInOutput": 0, + "result": { + "mode": "prepare", + "result": "prepared", + "clientName": "Gate800Client", + "autoAccept": false + }, + "output": null + } + ], + "cliClosedPortExit": 1, + "cliClosedPortOutput": "ERROR\r\nOpc.Ua.ServiceResultException: Could not connect to the remote endpoint.\r\n System.Net.Sockets.SocketException: No connection could be made because the target machine actively refused it.\r\n at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) \r\n at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) \r\n at Opc.Ua.Bindings.TcpByteTransport.ConnectAsync(Uri url, CancellationToken ct) \r\n at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.ConnectAsync(Uri url, Int32 timeout, CancellationToken ct) \r\n at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.ConnectAsync(Uri url, Int32 timeout, CancellationToken ct) \r\n at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.OpenInternalAsync(Uri endpointUrl, ITransportWaitingConnection connection, TransportChannelSettings settings, CancellationToken ct) \r\n at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.OpenInternalAsync(Uri endpointUrl, ITransportWaitingConnection connection, TransportChannelSettings settings, CancellationToken ct) \r\n at Opc.Ua.ClientChannelManager.CreateUaBinaryChannelAsync(ApplicationConfiguration configuration, EndpointDescription description, EndpointConfiguration endpointConfiguration, Certificate clientCertificate, CertificateCollection clientCertificateChain, IServiceMessageContext messageContext, ITransportChannelBindings transportChannelBindings, ISecurityPolicyRegistry securityPolicies, CancellationToken ct) \r\n at Opc.Ua.DiscoveryClient.CreateAsync(ApplicationConfiguration application, Uri discoveryUrl, DiagnosticsMasks returnDiagnostics, CancellationToken ct) \r\n at ZB.MOM.WW.OtOpcUa.Client.Shared.Adapters.DefaultEndpointDiscovery.SelectEndpointAsync(ApplicationConfiguration config, String endpointUrl, MessageSecurityMode requestedMode, CancellationToken ct) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.Shared\\Adapters\\DefaultEndpointDiscovery.cs:21\r\n at ZB.MOM.WW.OtOpcUa.Client.Shared.OpcUaClientService.ConnectToEndpointAsync(ConnectionSettings settings, String endpointUrl, CancellationToken ct) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.Shared\\OpcUaClientService.cs:790\r\n at ZB.MOM.WW.OtOpcUa.Client.Shared.OpcUaClientService.ConnectAsync(ConnectionSettings settings, CancellationToken ct) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.Shared\\OpcUaClientService.cs:129\r\n at ZB.MOM.WW.OtOpcUa.Client.CLI.CommandBase.CreateServiceAndConnectAsync(CancellationToken ct) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.CLI\\CommandBase.cs:116\r\n at ZB.MOM.WW.OtOpcUa.Client.CLI.Commands.ReadCommand.ExecuteAsync(IConsole console) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.CLI\\Commands\\ReadCommand.cs:47\r\n at ZB.MOM.WW.OtOpcUa.Client.CLI.Commands.ReadCommand.ExecuteAsync(IConsole console) in \\private\\tmp\\claude-501\\-Users-dohertj2-Desktop-scadaproj\\a6d396bd-5e2c-4e21-a60d-576a5e97f6b7\\scratchpad\\wt\\fix883\\src\\Client\\ZB.MOM.WW.OtOpcUa.Client.CLI\\Commands\\ReadCommand.cs:78\r\n at CliFx.CliApplication.RunAsync(ApplicationSchema applicationSchema, CommandInput commandInput) in \\_\\CliFx\\CliApplication.cs:144\r\n at CliFx.CliApplication.RunAsync(IReadOnlyList`1 commandLineArguments, IReadOnlyDictionary`2 environmentVariables) in \\_\\CliFx\\CliApplication.cs:185\r\n", + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 1077, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "rootSddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)", + "privateSddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)", + "secretsDirSddl": "O:BAG:S-1-5-21-3358580898-976645380-93926719-513D:PAI(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/seed.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/seed.json new file mode 100644 index 000000000..671e55630 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/seed.json @@ -0,0 +1,12 @@ +{ + "exit": 0, + "output": "{\"result\":\"seeded-through-public-cache\",\"localDb\":\"C:\\\\OtOpcUa800\\\\OtOpcUa\\\\data\\\\otopcua-localdb.db\",\"revision\":\"7b8ae9f79d2cef0a5b16780816512ad2667aeed19503bb8a6b893dd2854904d8\",\"bytes\":1753}\r\n", + "data": [ + { + "path": "data\\otopcua-localdb.db", + "dir": false, + "length": 90112, + "sddl": "O:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059G:S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059D:AI(A;ID;0x1301bf;;;S-1-5-80-3928861625-3486739760-3962757976-1980707066-3667558059)(A;ID;FA;;;SY)(A;ID;FA;;;BA)" + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c0.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c0.json new file mode 100644 index 000000000..df2b1794b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c0.json @@ -0,0 +1,69 @@ +{ + "label": "c0", + "utc": "2026-11-12T15:58:19.4518539Z", + "stopSeconds": 1.8, + "hostProcessGone": true, + "leftoverWorkers": 0, + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "redaction": [ + { + "source": "logs\\otopcua-20261112.log", + "chars": 9099, + "secretOccurrences": 0 + }, + { + "source": "logs\\serilog-selflog.txt", + "chars": 0, + "secretOccurrences": 0 + }, + { + "source": "EventLog:Application", + "events": 0, + "secretOccurrences": 0 + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c1.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c1.json new file mode 100644 index 000000000..1ce37ff16 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c1.json @@ -0,0 +1,74 @@ +{ + "label": "c1", + "utc": "2026-11-12T15:59:50.8842682Z", + "stopSeconds": 1.8, + "hostProcessGone": true, + "leftoverWorkers": 0, + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "c024591968c843be6079202c2a4dd9c3121194de305044d671fc0b00ce753b49", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "redaction": [ + { + "source": "logs\\otopcua-20261112.log", + "chars": 29269, + "secretOccurrences": 0 + }, + { + "source": "logs\\scripts-20261112.log", + "chars": 76, + "secretOccurrences": 0 + }, + { + "source": "logs\\serilog-selflog.txt", + "chars": 0, + "secretOccurrences": 0 + }, + { + "source": "EventLog:Application", + "events": 0, + "secretOccurrences": 0 + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c3.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c3.json new file mode 100644 index 000000000..d1d411a58 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c3.json @@ -0,0 +1,77 @@ +{ + "label": "c3", + "utc": "2026-11-12T16:02:07.2033631Z", + "stopSeconds": 1.8, + "hostProcessGone": true, + "leftoverWorkers": 0, + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "redaction": [ + { + "source": "logs\\otopcua-20261112.log", + "chars": 48024, + "secretOccurrences": 0 + }, + { + "source": "logs\\scripts-20261112.log", + "chars": 152, + "secretOccurrences": 0 + }, + { + "source": "logs\\serilog-selflog.txt", + "chars": 0, + "secretOccurrences": 0 + }, + { + "source": "EventLog:Application", + "events": 0, + "secretOccurrences": 0 + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c4.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c4.json new file mode 100644 index 000000000..27c28238b --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c4.json @@ -0,0 +1,77 @@ +{ + "label": "c4", + "utc": "2026-11-12T16:04:45.4779514Z", + "stopSeconds": 1.8, + "hostProcessGone": true, + "leftoverWorkers": 0, + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "redaction": [ + { + "source": "logs\\otopcua-20261112.log", + "chars": 67486, + "secretOccurrences": 0 + }, + { + "source": "logs\\scripts-20261112.log", + "chars": 228, + "secretOccurrences": 0 + }, + { + "source": "logs\\serilog-selflog.txt", + "chars": 0, + "secretOccurrences": 0 + }, + { + "source": "EventLog:Application", + "events": 0, + "secretOccurrences": 0 + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c5.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c5.json new file mode 100644 index 000000000..da6c81c0a --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/stop-c5.json @@ -0,0 +1,77 @@ +{ + "label": "c5", + "utc": "2026-11-12T16:10:32.6391318Z", + "stopSeconds": 1.8, + "hostProcessGone": true, + "leftoverWorkers": 0, + "service": { + "name": "OtOpcUaHost", + "state": "Stopped", + "startMode": "Auto", + "pathName": "\"C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe\"", + "startName": "NT SERVICE\\OtOpcUaHost", + "processId": 0, + "exitCode": 0, + "serviceSpecificExitCode": 0, + "envNames": [ + "ASPNETCORE_URLS", + "Cluster__Hostname", + "Cluster__Port", + "Cluster__PublicHostname", + "Cluster__Roles__0", + "Cluster__SeedNodes__0", + "Cluster__SystemName", + "ConfigSource__ApiKey", + "ConfigSource__CentralFetchEndpoints__0", + "ConfigSource__FetchTimeoutSeconds", + "ConfigSource__Mode", + "DOTNET_ENVIRONMENT", + "OpcUa__AllowAnonymous", + "OpcUa__ApplicationName", + "OpcUa__ApplicationUri", + "OpcUa__AutoAcceptUntrustedClientCertificates", + "OpcUa__EnabledSecurityProfiles__0", + "OpcUa__EnabledSecurityProfiles__1", + "OpcUa__OpcUaPort", + "OpcUa__PublicHostname", + "OTOPCUA_ROLES", + "Scripting__Runner", + "Scripting__Worker__Identity", + "Scripting__Worker__PeCacheDir", + "Secrets__SqlitePath", + "Security__Acl__Enabled", + "Security__ApiKeys__Pepper", + "Security__Ldap__Enabled", + "ZB_SECRETS_MASTER_KEY" + ], + "envDigest": "4583437746772229d277aad727ee7084cf8d1c9a851cdfd26dbc7506d4c49b38", + "exe": { + "path": "C:\\OtOpcUa800\\OtOpcUa\\OtOpcUa.Host.exe", + "sha256": "934A749F446C724579806CBBF36D7A12690A0A5BB9F97B5E39B9502A43C9087A", + "productVersion": "1.0.0+da948e5fb5547827a72f0d6495704e9a240af207" + }, + "opcUaCore": "2.0.1.2" + }, + "redaction": [ + { + "source": "logs\\otopcua-20261112.log", + "chars": 86953, + "secretOccurrences": 0 + }, + { + "source": "logs\\scripts-20261112.log", + "chars": 304, + "secretOccurrences": 0 + }, + { + "source": "logs\\serilog-selflog.txt", + "chars": 0, + "secretOccurrences": 0 + }, + { + "source": "EventLog:Application", + "events": 0, + "secretOccurrences": 0 + } + ] +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/trust.json b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/trust.json new file mode 100644 index 000000000..ea1bc660f --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/trust.json @@ -0,0 +1,7 @@ +{ + "serverTrusted": [ + "Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der", + "OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der" + ], + "untrustedClientNotCopied": "Gate800Client [E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8].der" +} diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/windows-test-results.txt b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/windows-test-results.txt new file mode 100644 index 000000000..9e803e506 --- /dev/null +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev-isolation-rerun/windows-test-results.txt @@ -0,0 +1,12 @@ +scripts/install/tests/Test-ScriptWorkerIsolation.Windows.ps1 on windev, 2026-11-12 (elevated SSH session, scratch names, no OtOpcUaHost) + +Before the AnchorService fix (installer = master da948e5f + the #883 Get-Acl/@(if) patch only): + Windows PowerShell 5.1.19041.6456: 22 passed, 1 failed + FAIL: re-apply: 7 steps, all unchanged (AnchorService=changed,PeCacheDir=unchanged,PeEntriesDir=unchanged,WorkerFolderAcl=unchanged, + InstallRootDeny=unchanged,FirewallBlockOutbound=unchanged,HostServiceEnv=unchanged) + +After the fix (Invoke-OtOpcUaSc builds the sc.exe command line explicitly): + Windows PowerShell 5.1.19041.6456: 24 passed, 0 failed + PowerShell 7.6.10 (Core): 24 passed, 0 failed +Each run: -WhatIf (changes nothing), apply (7 steps changed), re-apply (7 steps unchanged), uninstall (6 steps changed), +second uninstall (6 steps unchanged); anchor Disabled + SID + quoted binPath, ACEs, firewall rule, host-service env, all removed again. diff --git a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev/RESULTS.md b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev/RESULTS.md index 8f3e733f1..e29abd408 100644 --- a/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev/RESULTS.md +++ b/scripts/validation/opcua-windows-service/evidence/2026-11-12-windev/RESULTS.md @@ -1,5 +1,8 @@ # lmxopcua#800: Windows service gate on windev (2026-11-12) +> **Follow-up (2026-11-12, later):** lmxopcua#883 is fixed and step 3 was re-run with the repository installer on both PowerShell hosts: see +> [`../2026-11-12-windev-isolation-rerun/RESULTS.md`](../2026-11-12-windev-isolation-rerun/RESULTS.md). The step 3 text below is the record of the first run. + **Result: steps 1, 2, 4 and 5 passed; step 3 passed only partly.** The SDK 2 candidate upgraded in place under the real `OtOpcUaHost` Windows service: - it reused the existing application certificate byte-for-byte, with its file ACLs unchanged;