refactor: rename ScadaLink → ZB.MOM.WW.ScadaBridge (code + projects + namespaces)

Solution + 23 src projects + 26 test projects renamed; folders, csproj,
namespaces, and ScadaLinkDbContext/ScadaBridgeDbContext class updated.
ActorSystem "scadalink" → "scadabridge", Akka seed-node URLs migrated.
SQL roles/logins, LDAP domains, CLI command name, and CLI config dir
(~/.scadalink → ~/.scadabridge) also renamed.

Build green; 5 Host.Tests fail awaiting SQL login rename in next commit.
Pre-existing StaleTagMonitor timing flakes unchanged.

Rename script committed at tools/rename-to-scadabridge.sh.
This commit is contained in:
Joseph Doherty
2026-05-28 09:37:45 -04:00
parent 6d87ee3c3b
commit 7b0b9c7365
1531 changed files with 11180 additions and 11054 deletions
+9 -9
View File
@@ -2,7 +2,7 @@
## Overview
The test OPC UA server uses [Azure IoT OPC PLC](https://github.com/Azure-Samples/iot-edge-opc-plc), a simulated OPC UA server that generates realistic data. It is configured with custom nodes that match ScadaLink attribute patterns.
The test OPC UA server uses [Azure IoT OPC PLC](https://github.com/Azure-Samples/iot-edge-opc-plc), a simulated OPC UA server that generates realistic data. It is configured with custom nodes that match ScadaBridge attribute patterns.
## Image & Ports
@@ -10,8 +10,8 @@ Two identical OPC UA server instances run with the same tag configuration, on di
| Instance | OPC UA Endpoint | Web UI | Container |
|----------|----------------|--------|-----------|
| opcua | `opc.tcp://localhost:50000` | `http://localhost:8080` | scadalink-opcua |
| opcua2 | `opc.tcp://localhost:50010` | `http://localhost:8081` | scadalink-opcua2 |
| opcua | `opc.tcp://localhost:50000` | `http://localhost:8080` | scadabridge-opcua |
| opcua2 | `opc.tcp://localhost:50010` | `http://localhost:8081` | scadabridge-opcua2 |
- **Image**: `mcr.microsoft.com/iotedge/opc-plc:latest`
@@ -30,7 +30,7 @@ Two identical OPC UA server instances run with the same tag configuration, on di
## Custom Nodes
The file `infra/opcua/nodes.json` defines a single `ConfigFolder` object (not an array) with a root "ScadaLink" folder containing four equipment subfolders. Tags match typical ScadaLink instance attribute patterns:
The file `infra/opcua/nodes.json` defines a single `ConfigFolder` object (not an array) with a root "ScadaBridge" folder containing four equipment subfolders. Tags match typical ScadaBridge instance attribute patterns:
| Folder | Tags | Types |
|--------|------|-------|
@@ -44,14 +44,14 @@ All custom nodes hold their initial/default values (0 for numerics, false for bo
Custom nodes live in namespace 3 (`http://microsoft.com/Opc/OpcPlc/`). Node IDs follow the pattern `ns=3;s=<Folder>.<Tag>` (e.g., `ns=3;s=Motor.Speed`). Nested folders use dot notation: `ns=3;s=JoeAppEngine.Scheduler.ScanTime`.
The browse path from the Objects root is: `OpcPlc > ScadaLink > Motor|Pump|Tank|Valve|JoeAppEngine`.
The browse path from the Objects root is: `OpcPlc > ScadaBridge > Motor|Pump|Tank|Valve|JoeAppEngine`.
## Verification
1. Check both containers are running:
```bash
docker ps --filter name=scadalink-opcua
docker ps --filter name=scadabridge-opcua
```
2. Verify both OPC UA endpoints using any OPC UA client (e.g., UaExpert, opcua-commander):
@@ -83,7 +83,7 @@ python infra/tools/opcua_tool.py check
python infra/tools/opcua_tool.py browse
# Browse a specific equipment folder
python infra/tools/opcua_tool.py browse --path "3:OpcPlc.3:ScadaLink.3:Motor"
python infra/tools/opcua_tool.py browse --path "3:OpcPlc.3:ZB.MOM.WW.ScadaBridge.3:Motor"
# Read a tag value
python infra/tools/opcua_tool.py read --node "ns=3;s=Motor.Speed"
@@ -99,12 +99,12 @@ Use `--endpoint` to override the default endpoint (`opc.tcp://localhost:50000`).
```bash
python infra/tools/opcua_tool.py --endpoint opc.tcp://localhost:50010 check
python infra/tools/opcua_tool.py --endpoint opc.tcp://localhost:50010 browse --path "3:OpcPlc.3:ScadaLink.3:Motor"
python infra/tools/opcua_tool.py --endpoint opc.tcp://localhost:50010 browse --path "3:OpcPlc.3:ZB.MOM.WW.ScadaBridge.3:Motor"
```
Run with `--help` for full usage.
## Relevance to ScadaLink Components
## Relevance to ScadaBridge Components
- **Data Connection Layer** — connect to this server to test OPC UA subscription, read/write, and reconnection behavior.
- **Site Runtime / Instance Actors** — deploy instances with tag mappings pointing at these nodes.