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
@@ -15,9 +15,9 @@
## Task 1: Entity Model & Database Migration
**Files:**
- Modify: `src/ScadaLink.Commons/Entities/Sites/DataConnection.cs`
- Modify: `src/ScadaLink.ConfigurationDatabase/Configurations/SiteConfiguration.cs` (lines 32-56)
- Modify: `src/ScadaLink.Commons/Messages/Artifacts/DataConnectionArtifact.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.Commons/Entities/Sites/DataConnection.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/SiteConfiguration.cs` (lines 32-56)
- Modify: `src/ZB.MOM.WW.ScadaBridge.Commons/Messages/Artifacts/DataConnectionArtifact.cs`
### Step 1: Update DataConnection entity
@@ -61,9 +61,9 @@ builder.Property(d => d.FailoverRetryCount).HasDefaultValue(3);
Run:
```bash
cd src/ScadaLink.ConfigurationDatabase
cd src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase
dotnet ef migrations add AddDataConnectionBackupEndpoint \
--startup-project ../ScadaLink.Host
--startup-project ../ZB.MOM.WW.ScadaBridge.Host
```
Verify the migration renames `Configuration``PrimaryConfiguration` (should use `RenameColumn`, not drop+add). If the scaffolded migration drops and recreates, manually fix it:
@@ -102,7 +102,7 @@ public record DataConnectionArtifact(
### Step 5: Build and fix compile errors
Run: `dotnet build ScadaLink.slnx`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx`
This will surface all references to the old `Configuration` and `ConfigurationJson` fields across the codebase. Fix each one — this includes:
- ManagementActor handlers
@@ -115,7 +115,7 @@ Fix only the field name renames in this step (use `PrimaryConfiguration` where `
### Step 6: Run tests, fix failures
Run: `dotnet test ScadaLink.slnx`
Run: `dotnet test ZB.MOM.WW.ScadaBridge.slnx`
Fix any test failures caused by the rename.
@@ -131,8 +131,8 @@ git commit -m "feat(dcl): rename Configuration to PrimaryConfiguration, add Back
## Task 2: Update CreateConnectionCommand & Manager Actor
**Files:**
- Modify: `src/ScadaLink.Commons/Messages/DataConnection/CreateConnectionCommand.cs`
- Modify: `src/ScadaLink.DataConnectionLayer/Actors/DataConnectionManagerActor.cs` (lines 39-62)
- Modify: `src/ZB.MOM.WW.ScadaBridge.Commons/Messages/DataConnection/CreateConnectionCommand.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.DataConnectionLayer/Actors/DataConnectionManagerActor.cs` (lines 39-62)
### Step 1: Update CreateConnectionCommand message
@@ -187,7 +187,7 @@ Search for all places that construct `CreateConnectionCommand` and update them t
### Step 4: Build and test
Run: `dotnet build ScadaLink.slnx && dotnet test tests/ScadaLink.DataConnectionLayer.Tests`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx && dotnet test tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests`
### Step 5: Commit
@@ -201,8 +201,8 @@ git commit -m "feat(dcl): extend CreateConnectionCommand with backup config and
## Task 3: DataConnectionActor Failover State Machine
**Files:**
- Modify: `src/ScadaLink.DataConnectionLayer/Actors/DataConnectionActor.cs`
- Modify: `src/ScadaLink.DataConnectionLayer/DataConnectionFactory.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.DataConnectionLayer/Actors/DataConnectionActor.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.DataConnectionLayer/DataConnectionFactory.cs`
This is the core change. The actor gains failover logic in its Reconnecting state.
@@ -315,7 +315,7 @@ And update the DataConnectionActor constructor to store `_factory`.
### Step 5: Build and run existing tests
Run: `dotnet build ScadaLink.slnx && dotnet test tests/ScadaLink.DataConnectionLayer.Tests`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx && dotnet test tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests`
Existing tests must pass (they use single-endpoint configs, so no failover triggered).
@@ -331,7 +331,7 @@ git commit -m "feat(dcl): add failover state machine to DataConnectionActor with
## Task 4: Failover Tests
**Files:**
- Modify: `tests/ScadaLink.DataConnectionLayer.Tests/DataConnectionActorTests.cs`
- Modify: `tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionActorTests.cs`
### Step 1: Write test — failover after N retries
@@ -409,7 +409,7 @@ public async Task Failover_ReSubscribesAllTagsOnNewAdapter()
### Step 6: Run all tests
Run: `dotnet test tests/ScadaLink.DataConnectionLayer.Tests -v`
Run: `dotnet test tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests -v`
### Step 7: Commit
@@ -423,8 +423,8 @@ git commit -m "test(dcl): add failover state machine tests for DataConnectionAct
## Task 5: Health Reporting & Site Event Logging
**Files:**
- Modify: `src/ScadaLink.Commons/Messages/DataConnection/DataConnectionHealthReport.cs`
- Modify: `src/ScadaLink.DataConnectionLayer/Actors/DataConnectionActor.cs` (ReplyWithHealthReport, HandleReconnectResult)
- Modify: `src/ZB.MOM.WW.ScadaBridge.Commons/Messages/DataConnection/DataConnectionHealthReport.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.DataConnectionLayer/Actors/DataConnectionActor.cs` (ReplyWithHealthReport, HandleReconnectResult)
### Step 1: Add ActiveEndpoint to health report
@@ -489,7 +489,7 @@ if (_siteEventLogger != null)
### Step 5: Build and test
Run: `dotnet build ScadaLink.slnx && dotnet test tests/ScadaLink.DataConnectionLayer.Tests`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx && dotnet test tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests`
### Step 6: Commit
@@ -503,8 +503,8 @@ git commit -m "feat(dcl): add active endpoint to health reports and log failover
## Task 6: Central UI Changes
**Files:**
- Modify: `src/ScadaLink.CentralUI/Components/Pages/Admin/DataConnections.razor`
- Modify: `src/ScadaLink.CentralUI/Components/Pages/Admin/DataConnectionForm.razor`
- Modify: `src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Admin/DataConnections.razor`
- Modify: `src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Admin/DataConnectionForm.razor`
### Step 1: Update DataConnections list page
@@ -570,7 +570,7 @@ In edit mode, set `_showBackup = true` if `BackupConfiguration` is not null.
### Step 5: Build and verify visually
Run: `dotnet build ScadaLink.slnx`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx`
Visual verification requires running the cluster — document as manual test.
@@ -586,9 +586,9 @@ git commit -m "feat(ui): add primary/backup endpoint fields to data connection f
## Task 7: CLI, Management API, and Deployment
**Files:**
- Modify: `src/ScadaLink.Commons/Messages/Management/DataConnectionCommands.cs`
- Modify: `src/ScadaLink.CLI/Commands/DataConnectionCommands.cs`
- Modify: `src/ScadaLink.ManagementService/ManagementActor.cs` (lines 689-711)
- Modify: `src/ZB.MOM.WW.ScadaBridge.Commons/Messages/Management/DataConnectionCommands.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.CLI/Commands/DataConnectionCommands.cs`
- Modify: `src/ZB.MOM.WW.ScadaBridge.ManagementService/ManagementActor.cs` (lines 689-711)
- Modify: Deployment/flattening code that creates DataConnectionArtifact
### Step 1: Update management command messages
@@ -631,11 +631,11 @@ Find where `DataConnectionArtifact` is constructed (in deployment/flattening cod
### Step 5: Build and test CLI
Run: `dotnet build ScadaLink.slnx`
Run: `dotnet build ZB.MOM.WW.ScadaBridge.slnx`
Test CLI manually:
```bash
scadalink data-connection create --site-id 1 --name "Test" --protocol OpcUa \
scadabridge data-connection create --site-id 1 --name "Test" --protocol OpcUa \
--primary-config '{"endpoint":"opc.tcp://localhost:50000"}' \
--backup-config '{"endpoint":"opc.tcp://localhost:50010"}' \
--failover-retry-count 3