feat(transport): register AddTransport() on central nodes

This commit is contained in:
Joseph Doherty
2026-05-24 05:09:51 -04:00
parent cda80cf821
commit 9a3f5231db
3 changed files with 14 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ using ScadaLink.NotificationService;
using ScadaLink.Security; using ScadaLink.Security;
using ScadaLink.SiteCallAudit; using ScadaLink.SiteCallAudit;
using ScadaLink.TemplateEngine; using ScadaLink.TemplateEngine;
using ScadaLink.Transport;
using Serilog; using Serilog;
// SCADALINK_CONFIG determines which role-specific config to load (Central or Site) // SCADALINK_CONFIG determines which role-specific config to load (Central or Site)
@@ -80,6 +81,10 @@ try
// AddNotificationService() SMTP machinery above. AddNotificationOutbox binds // AddNotificationService() SMTP machinery above. AddNotificationOutbox binds
// NotificationOutboxOptions via BindConfiguration, so no explicit Configure is needed. // NotificationOutboxOptions via BindConfiguration, so no explicit Configure is needed.
builder.Services.AddNotificationOutbox(); builder.Services.AddNotificationOutbox();
// Transport (#24) — central-only bundle export/import pipeline. Binds
// TransportOptions from ScadaLink:Transport via BindConfiguration; no
// explicit Configure needed.
builder.Services.AddTransport();
// Audit Log (#23) — central node owns the AuditLogIngestActor singleton + // Audit Log (#23) — central node owns the AuditLogIngestActor singleton +
// IAuditLogRepository. The site writer chain is still registered (lazy // IAuditLogRepository. The site writer chain is still registered (lazy
// singletons) but is never resolved on a central node. // singletons) but is never resolved on a central node.

View File

@@ -42,6 +42,7 @@
<ProjectReference Include="../ScadaLink.ExternalSystemGateway/ScadaLink.ExternalSystemGateway.csproj" /> <ProjectReference Include="../ScadaLink.ExternalSystemGateway/ScadaLink.ExternalSystemGateway.csproj" />
<ProjectReference Include="../ScadaLink.NotificationService/ScadaLink.NotificationService.csproj" /> <ProjectReference Include="../ScadaLink.NotificationService/ScadaLink.NotificationService.csproj" />
<ProjectReference Include="../ScadaLink.NotificationOutbox/ScadaLink.NotificationOutbox.csproj" /> <ProjectReference Include="../ScadaLink.NotificationOutbox/ScadaLink.NotificationOutbox.csproj" />
<ProjectReference Include="../ScadaLink.Transport/ScadaLink.Transport.csproj" />
<ProjectReference Include="../ScadaLink.AuditLog/ScadaLink.AuditLog.csproj" /> <ProjectReference Include="../ScadaLink.AuditLog/ScadaLink.AuditLog.csproj" />
<ProjectReference Include="../ScadaLink.SiteCallAudit/ScadaLink.SiteCallAudit.csproj" /> <ProjectReference Include="../ScadaLink.SiteCallAudit/ScadaLink.SiteCallAudit.csproj" />
<ProjectReference Include="../ScadaLink.CentralUI/ScadaLink.CentralUI.csproj" /> <ProjectReference Include="../ScadaLink.CentralUI/ScadaLink.CentralUI.csproj" />

View File

@@ -60,6 +60,14 @@
"PurgeInterval": "1.00:00:00", "PurgeInterval": "1.00:00:00",
"DeliveredKpiWindow": "00:01:00" "DeliveredKpiWindow": "00:01:00"
}, },
"Transport": {
"BundleSessionTtlMinutes": 30,
"MaxBundleSizeMb": 100,
"MaxUnlockAttemptsPerSession": 3,
"MaxUnlockAttemptsPerIpPerHour": 10,
"Pbkdf2Iterations": 600000,
"SchemaVersionMajor": 1
},
"Logging": { "Logging": {
"MinimumLevel": "Information" "MinimumLevel": "Information"
} }