ac29599406
Full review of the Flow Debugger commit range (v1.0, v1.1 outbound calls, v1.2 follow-ups, outcome-merge fix, two perf commits). Also records the exact 11 role-negative Playwright tests that cannot pass on the login-disabled rig in the cluster-ops skill. Claude-Session: https://claude.ai/code/session_01NcMG6xXdsJbmD2wYAgkK29
2.5 KiB
2.5 KiB
name, description
| name | description |
|---|---|
| scadabridge-cluster-ops | How to drive the local ScadaBridge docker cluster — CLI management URL and credentials, config file, rebuild/redeploy commands, and the infra services. Use when running CLI commands against the cluster, rebuilding after server-side changes, or starting the local test infrastructure. |
ScadaBridge Cluster Ops (Docker / OrbStack)
- Management URL:
http://localhost:9000— the CLI connects via the Traefik load balancer, which routes to the active central node. Direct access: central-a on port 9001, central-b on port 9002. - Central UI login is DISABLED on the rig (both central nodes, since 2026-09-06) —
ScadaBridge:Security:Auth:DisableLogin=trueindocker/central-node-{a,b}/appsettings.Central.json, sohttp://localhost:9000(and 9001/9002) opens the UI asmulti-rolewith every role, no LDAP login. The CLI/management API still takes--username/--password(Basic auth is a separate path), andPOST /auth/loginstill answers 302, so the Playwright fixture login keeps working. Expected Playwright failures on this rig are exactly the 11 role-NEGATIVE tests (full run 2026-09-06: 164/175) —RoleNavigationTests.*_DoesNotSee*,AuditLogPageTests.PermissionGating_DesignerWithoutOperationalAudit_IsDeniedAccess,LoginTests.UnauthenticatedUser_RedirectsToLogin— because every browser session carries every role; any other Playwright failure is real. Flip the two keys back tofalseand recreate the node for real-login checks. - Test user:
--username multi-role --password password— has Admin, Design, and Deployment roles. Theadminuser only has the Admin role and cannot create templates, data connections, or deploy. - Config file:
~/.scadabridge/config.json— storesmanagementUrland default format. Seedocker/README.mdfor a ready-to-use test config. - Rebuild cluster:
bash docker/deploy.sh— builds thescadabridge:latestimage and recreates all containers. Run this after code changes to ManagementActor, Host, or any server-side component. - Infrastructure services:
cd infra && docker compose up -d— starts MS SQL, OPC UA, SMTP, and REST API. These are separate from the cluster containers indocker/. LDAP is NOT started here — it is the shared GLAuth on10.100.0.35:3893(dc=zb,dc=local); source of truth and config:scadaproj/infra/glauth/. - All test LDAP passwords:
password(seescadaproj/infra/glauth/config.tomlfor users and groups; canonical cross-app login:multi-role).