From 8843418c54704c21b37d2e1571bf69cf939c6068 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 16 Jul 2026 17:07:41 -0400 Subject: [PATCH] feat(secrets): register AddZbSecrets unconditionally on the host (Task 3) Runtime ISecretResolver must be present on every clustered node regardless of role: driver-only nodes resolve Layer-B DriverConfig secret: refs but have no auth/DP/AdminUI (all admin-role-gated). Placed in the unconditional flow next to AddOtOpcUaHealth(), outside both role blocks. Data Protection left untouched. --- src/Server/ZB.MOM.WW.OtOpcUa.Host/Program.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Program.cs b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Program.cs index a67afb20..dc9ad1c4 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.Host/Program.cs +++ b/src/Server/ZB.MOM.WW.OtOpcUa.Host/Program.cs @@ -349,6 +349,9 @@ if (hasAdmin) builder.Services.AddOtOpcUaAdminClients(); } +// Registered unconditionally: driver-role nodes resolve Layer-B DriverConfig secrets and have no auth/DP/AdminUI. +builder.Services.AddZbSecrets(builder.Configuration, "Secrets"); + builder.Services.AddOtOpcUaHealth(); builder.Services.AddOtOpcUaObservability(builder.Configuration);