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:
@@ -328,9 +328,9 @@ MS SQL for direct-write events). Unredacted secrets never persist.
|
||||
## Security & Tamper-Evidence
|
||||
|
||||
- **Append-only enforcement.** The application accesses `AuditLog` via a
|
||||
dedicated DB role `scadalink_audit_writer` granted `INSERT` + `SELECT` only —
|
||||
dedicated DB role `scadabridge_audit_writer` granted `INSERT` + `SELECT` only —
|
||||
no `UPDATE`, no `DELETE`. Purge runs under a separate role
|
||||
`scadalink_audit_purger` whose permissions are limited to the partition-switch
|
||||
`scadabridge_audit_purger` whose permissions are limited to the partition-switch
|
||||
operation; row-level `DELETE` is not granted even to purge.
|
||||
- **CI grep guard.** The build greps the data layer for any
|
||||
`UPDATE … AuditLog` or `DELETE … AuditLog` text and fails on a hit.
|
||||
@@ -342,9 +342,9 @@ MS SQL for direct-write events). Unredacted secrets never persist.
|
||||
secrets never persist; the safety net over-redacts on misconfiguration.
|
||||
- **Hash-chain tamper evidence — deferred to v1.x.** A future `RowHash` column,
|
||||
computed per partition as `SHA-256(prev.RowHash || canonical(row))`, will be
|
||||
verifiable offline via `scadalink audit verify-chain --month YYYY-MM`. Off by
|
||||
verifiable offline via `scadabridge audit verify-chain --month YYYY-MM`. Off by
|
||||
default in v1.
|
||||
- **Site SQLite security.** File permissions: read/write by the ScadaLink
|
||||
- **Site SQLite security.** File permissions: read/write by the ScadaBridge
|
||||
service account only. Not backed up off-machine — site SQLite is a buffer,
|
||||
not a record.
|
||||
|
||||
@@ -393,7 +393,7 @@ global value in v1; per-channel overrides are deferred to v1.x.
|
||||
`AuditStatus` enum types live here.
|
||||
- **[Configuration Database (#17)](Component-ConfigurationDatabase.md)** — hosts
|
||||
the `AuditLog` table schema, the monthly partition function and scheme, the
|
||||
`scadalink_audit_writer` / `scadalink_audit_purger` DB roles, and the EF
|
||||
`scadabridge_audit_writer` / `scadabridge_audit_purger` DB roles, and the EF
|
||||
migration. Distinct concern from `IAuditService` (config-change audit), which
|
||||
is unchanged.
|
||||
- **[Cluster Infrastructure (#13)](Component-ClusterInfrastructure.md)** —
|
||||
@@ -442,6 +442,6 @@ global value in v1; per-channel overrides are deferred to v1.x.
|
||||
tiles (Volume, Error rate, Backlog) plus new health metrics:
|
||||
`SiteAuditBacklog`, `SiteAuditWriteFailures`, `SiteAuditTelemetryStalled`,
|
||||
`CentralAuditWriteFailures`, `AuditRedactionFailure`.
|
||||
- **[CLI (#19)](Component-CLI.md)** — new `scadalink audit query`,
|
||||
`scadalink audit export`, and `scadalink audit verify-chain` commands; same
|
||||
- **[CLI (#19)](Component-CLI.md)** — new `scadabridge audit query`,
|
||||
`scadabridge audit export`, and `scadabridge audit verify-chain` commands; same
|
||||
permission requirements as the UI.
|
||||
|
||||
Reference in New Issue
Block a user