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:
@@ -1,11 +1,11 @@
|
||||
# docker-cluster
|
||||
|
||||
Primary local Docker deployment — the full ScadaLink reference topology used for day-to-day development and integration testing. Runs on the developer workstation under Docker / OrbStack.
|
||||
Primary local Docker deployment — the full ScadaBridge reference topology used for day-to-day development and integration testing. Runs on the developer workstation under Docker / OrbStack.
|
||||
|
||||
- **Deployment ID:** `docker-cluster`
|
||||
- **Transport.SourceEnvironment:** `docker-cluster`
|
||||
- **Source directory:** [`docker/`](../docker/)
|
||||
- **Container-name prefix:** `scadalink-`
|
||||
- **Container-name prefix:** `scadabridge-`
|
||||
- **Host-port range:** `90XX`
|
||||
|
||||
## Topology
|
||||
@@ -35,15 +35,15 @@ Two-node active/standby everywhere. Central runs the Blazor UI, Template Engine,
|
||||
|
||||
| Node | Container Name | Host Web | Host Akka | Host gRPC |
|
||||
|------|----------------|----------|-----------|-----------|
|
||||
| Traefik LB | `scadalink-traefik` | 9000 | — | — |
|
||||
| Central A | `scadalink-central-a` | 9001 | 9011 | — |
|
||||
| Central B | `scadalink-central-b` | 9002 | 9012 | — |
|
||||
| Site-A A | `scadalink-site-a-a` | — | 9021 | 9023 |
|
||||
| Site-A B | `scadalink-site-a-b` | — | 9022 | 9024 |
|
||||
| Site-B A | `scadalink-site-b-a` | — | 9031 | 9033 |
|
||||
| Site-B B | `scadalink-site-b-b` | — | 9032 | 9034 |
|
||||
| Site-C A | `scadalink-site-c-a` | — | 9041 | 9043 |
|
||||
| Site-C B | `scadalink-site-c-b` | — | 9042 | 9044 |
|
||||
| Traefik LB | `scadabridge-traefik` | 9000 | — | — |
|
||||
| Central A | `scadabridge-central-a` | 9001 | 9011 | — |
|
||||
| Central B | `scadabridge-central-b` | 9002 | 9012 | — |
|
||||
| Site-A A | `scadabridge-site-a-a` | — | 9021 | 9023 |
|
||||
| Site-A B | `scadabridge-site-a-b` | — | 9022 | 9024 |
|
||||
| Site-B A | `scadabridge-site-b-a` | — | 9031 | 9033 |
|
||||
| Site-B B | `scadabridge-site-b-b` | — | 9032 | 9034 |
|
||||
| Site-C A | `scadabridge-site-c-a` | — | 9041 | 9043 |
|
||||
| Site-C B | `scadabridge-site-c-b` | — | 9042 | 9044 |
|
||||
|
||||
Port pattern: `90X1`/`90X2` (Akka), `90X3`/`90X4` (gRPC), where X = 0 (central), 2 (site-a), 3 (site-b), 4 (site-c).
|
||||
|
||||
@@ -57,27 +57,27 @@ Port pattern: `90X1`/`90X2` (Akka), `90X3`/`90X4` (gRPC), where X = 0 (central),
|
||||
|
||||
## Infrastructure Dependencies
|
||||
|
||||
All from `infra/docker-compose.yml`, attached via the shared `scadalink-net` bridge network:
|
||||
All from `infra/docker-compose.yml`, attached via the shared `scadabridge-net` bridge network:
|
||||
|
||||
| Service | Container | Host Port | Purpose |
|
||||
|---------|-----------|-----------|---------|
|
||||
| MS SQL 2022 | `scadalink-mssql` | 1433 | `ScadaLinkConfig`, `ScadaLinkMachineData` |
|
||||
| LDAP (GLAuth) | `scadalink-ldap` | 3893 | Authentication |
|
||||
| SMTP (Mailpit) | `scadalink-smtp` | 1025 / 8025 | Notification capture |
|
||||
| OPC UA | `scadalink-opcua` | 50000 / 8080 | Simulated device tags |
|
||||
| REST API | `scadalink-restapi` | 5200 | External REST integration testing |
|
||||
| MS SQL 2022 | `scadabridge-mssql` | 1433 | `ScadaBridgeConfig`, `ScadaBridgeMachineData` |
|
||||
| LDAP (GLAuth) | `scadabridge-ldap` | 3893 | Authentication |
|
||||
| SMTP (Mailpit) | `scadabridge-smtp` | 1025 / 8025 | Notification capture |
|
||||
| OPC UA | `scadabridge-opcua` | 50000 / 8080 | Simulated device tags |
|
||||
| REST API | `scadabridge-restapi` | 5200 | External REST integration testing |
|
||||
|
||||
## Databases
|
||||
|
||||
| Database | Owner |
|
||||
|----------|-------|
|
||||
| `ScadaLinkConfig` | Configuration Database (#17) |
|
||||
| `ScadaLinkMachineData` | Machine data (template/instance runtime data) |
|
||||
| `ScadaBridgeConfig` | Configuration Database (#17) |
|
||||
| `ScadaBridgeMachineData` | Machine data (template/instance runtime data) |
|
||||
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
# Start infra first (creates scadalink-net, MS SQL, LDAP, SMTP, OPC UA, REST API)
|
||||
# Start infra first (creates scadabridge-net, MS SQL, LDAP, SMTP, OPC UA, REST API)
|
||||
cd infra && docker compose up -d && cd ..
|
||||
|
||||
# Build image + deploy all 8 nodes
|
||||
@@ -88,7 +88,7 @@ bash docker/seed-sites.sh
|
||||
|
||||
# View logs
|
||||
docker compose -f docker/docker-compose.yml logs -f
|
||||
docker logs -f scadalink-central-a
|
||||
docker logs -f scadabridge-central-a
|
||||
|
||||
# Health
|
||||
curl -s http://localhost:9001/health/ready | python3 -m json.tool
|
||||
@@ -103,7 +103,7 @@ bash docker/teardown.sh
|
||||
The CLI talks to the Traefik LB, which routes to the active central node.
|
||||
|
||||
```bash
|
||||
dotnet run --project src/ScadaLink.CLI -- \
|
||||
dotnet run --project src/ZB.MOM.WW.ScadaBridge.CLI -- \
|
||||
--url http://localhost:9000 \
|
||||
--username multi-role --password password \
|
||||
template list
|
||||
@@ -125,5 +125,5 @@ All passwords are `password`. See `infra/glauth/config.toml` for the full list.
|
||||
## Notes
|
||||
|
||||
- Reference deployment for the project — when a change ships, it gets validated here first.
|
||||
- Concurrent with [`docker-cluster-env2`](docker-cluster-env2.md) on the same host; the two stacks share the `scadalink-net` network and `infra/` services but use disjoint host ports (`90XX` vs `91XX`) and databases.
|
||||
- Concurrent with [`docker-cluster-env2`](docker-cluster-env2.md) on the same host; the two stacks share the `scadabridge-net` network and `infra/` services but use disjoint host ports (`90XX` vs `91XX`) and databases.
|
||||
- Detailed setup, failover testing, and build-cache notes live in [`docker/README.md`](../docker/README.md).
|
||||
|
||||
Reference in New Issue
Block a user