test(validation): #800 gate re-run on windev with the fixed isolation installer, both PowerShell hosts
v2-ci / unit-tests (push) Has been cancelled
v2-ci / unit-tests (push) Has been cancelled
Re-runs only the ScriptWorker step on windev (master da948e5f, SDK 2.0.1, 16 vCPUs): install as the OtOpcUaHost service,
repo Install-ScriptWorkerIsolation.ps1 applied/re-applied/uninstalled twice under pwsh 7 and Windows PowerShell 5.1,
restricted worker, pipe refuses the admin, runner Healthy, strict-peer/API-key matrix on, then cleanup. The harness drops
-PatchedIsolation, gains -PrepareFrom candidate and -ApplyHost, and suffixes the isolation evidence with -Label.
Claude-Session: https://claude.ai/code/session_01GT67ACmpMR7b9LGRPLijMi
This commit is contained in:
@@ -12,16 +12,17 @@
|
||||
process environment variables, never through arguments or output. Evidence (no secrets) goes to <Root>\evidence.
|
||||
|
||||
Phases, in order:
|
||||
Prepare dirs + ACLs, secrets, baseline staged into <Root>\OtOpcUa, Install-Services.ps1, node env
|
||||
Prepare dirs + ACLs, secrets, baseline (or -PrepareFrom candidate) staged into <Root>\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-<random>'; 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)
|
||||
|
||||
@@ -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
|
||||
`<Root>\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 `<Root>\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
|
||||
`<Root>\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.
|
||||
|
||||
+79
@@ -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).
|
||||
- `<PeCacheDir>`: protected, SYSTEM, Administrators and `NT SERVICE\OtOpcUaHost` full control, no Users;
|
||||
`<PeCacheDir>\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.
|
||||
+180
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
2026-11-12T15:57:55.8823967Z
|
||||
+192
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
2026-11-12T15:58:30.5453614Z
|
||||
+213
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
2026-11-12T16:00:40.9916889Z
|
||||
+213
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
2026-11-12T16:03:18.0140714Z
|
||||
+213
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
2026-11-12T16:09:06.0837207Z
|
||||
+438
@@ -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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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": []
|
||||
}
|
||||
+438
@@ -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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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": []
|
||||
}
|
||||
+438
@@ -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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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": []
|
||||
}
|
||||
+438
@@ -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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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 <url> --security encrypt --username apikey --password <task-secret> --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": []
|
||||
}
|
||||
+89
@@ -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
|
||||
}
|
||||
}
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+98
@@ -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
|
||||
+119
@@ -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
|
||||
}
|
||||
+119
@@ -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
|
||||
}
|
||||
+119
@@ -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
|
||||
}
|
||||
+119
@@ -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
|
||||
}
|
||||
+50
@@ -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"
|
||||
}
|
||||
+50
@@ -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"
|
||||
}
|
||||
+50
@@ -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"
|
||||
}
|
||||
+50
@@ -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"
|
||||
}
|
||||
+28
@@ -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-<random>",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
+29
@@ -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-<random>",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
+30
@@ -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-<random>",
|
||||
"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"
|
||||
]
|
||||
}
|
||||
+64
@@ -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 }
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+203
@@ -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 }
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
2026-11-12 10:58:44.978 -05:00 [INF] ScriptedAlarmEngine loaded 0 alarm(s)
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+345
@@ -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 }
|
||||
|
||||
+3
@@ -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)
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+488
@@ -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 }
|
||||
|
||||
+4
@@ -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)
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+631
@@ -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 }
|
||||
|
||||
+5
@@ -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)
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
|
||||
+241
@@ -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
|
||||
+1396
File diff suppressed because it is too large
Load Diff
+87
@@ -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)"
|
||||
}
|
||||
+12
@@ -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)"
|
||||
}
|
||||
]
|
||||
}
|
||||
+69
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
+74
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
+77
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
+77
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
+77
@@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"serverTrusted": [
|
||||
"Gate800Client [C7C6E325DFA1EEA7E392B5F0C9F44014B79A5755].der",
|
||||
"OtOpcUaClient [9C2DCFC423EA6148249D6A20214ADA91CAA5B050].der"
|
||||
],
|
||||
"untrustedClientNotCopied": "Gate800Client [E1525DB0CBD3335DDDD2F90DECFFC2F96214F7C8].der"
|
||||
}
|
||||
+12
@@ -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.
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user