Add test infrastructure with Docker services, CLI tools, and resolve Phase 0 questions

Stand up local dev infrastructure (OPC UA, LDAP, MS SQL) with Docker Compose,
Python CLI tools for service interaction, and teardown script. Fix GLAuth config
mount, OPC PLC node format, and document actual DN/namespace behavior discovered
during testing. Resolve Q1-Q8,Q10: .NET 10, Akka.NET 1.5.x, monorepo with slnx,
appsettings JWT, Windows Server 2022 site target.
This commit is contained in:
Joseph Doherty
2026-03-16 14:03:12 -04:00
parent 7a0bd0f701
commit 652378b470
17 changed files with 1538 additions and 21 deletions

45
infra/docker-compose.yml Normal file
View File

@@ -0,0 +1,45 @@
services:
opcua:
image: mcr.microsoft.com/iotedge/opc-plc:latest
container_name: scadalink-opcua
ports:
- "50000:50000"
- "8080:8080"
volumes:
- ./opcua/nodes.json:/app/config/nodes.json:ro
command: >
--autoaccept
--unsecuretransport
--sph
--sn=5 --sr=10 --st=uint
--fn=5 --fr=1 --ft=uint
--gn=5
--nf=/app/config/nodes.json
--pn=50000
restart: unless-stopped
ldap:
image: glauth/glauth:latest
container_name: scadalink-ldap
ports:
- "3893:3893"
volumes:
- ./glauth/config.toml:/app/config/config.cfg:ro
restart: unless-stopped
mssql:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: scadalink-mssql
ports:
- "1433:1433"
environment:
ACCEPT_EULA: "Y"
MSSQL_SA_PASSWORD: "ScadaLink_Dev1!"
MSSQL_PID: "Developer"
volumes:
- scadalink-mssql-data:/var/opt/mssql
- ./mssql/setup.sql:/docker-entrypoint-initdb.d/setup.sql:ro
restart: unless-stopped
volumes:
scadalink-mssql-data: