chore(secrets): deprecate Replicator.Grpc — out of the build and pack (scadaproj#8)

Owner chose option (b). ZB.MOM.WW.Secrets.Replicator.Grpc has had no consumer
since ScadaBridge retired the gRPC secrets hub (2026-09-28); OtOpcUa never used it.
- removed the project and its test project from ZB.MOM.WW.Secrets.slnx, so the
  family build/test and build/push.sh's `dotnet pack` skip it;
- csproj IsPackable=false (a direct pack of the project yields nothing);
- SecretsGrpcHubServerExtensions / SecretsGrpcHubClientExtensions [Obsolete];
- README, CHANGELOG (0.6.6 Deprecated), CLAUDE.md and clustered-secrets.md say so.
Source + tests stay in the tree and still build/run standalone (test csproj
suppresses CS0618): 200/200. Feed versions 0.4.1-0.6.3 are left for the owner
to unlist.

Also zeroes the solution's pre-existing warnings: CA1416 on two Unix-only
permission tests (guarded by Skip.IfNot, which the analyzer cannot see — now
[UnsupportedOSPlatform("windows")]) and two xUnit2031 Assert.Single(Where).
Build 0 warnings; tests 429 passed / 21 skipped / 0 failed; pack = 5 nupkgs.

Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
Joseph Doherty
2026-11-09 22:30:57 -05:00
parent be5e9fd436
commit ab1ad689df
13 changed files with 44 additions and 11 deletions
@@ -25,6 +25,7 @@ namespace ZB.MOM.WW.Secrets.Replicator.Grpc.DependencyInjection;
/// the deployment topology rather than a setting that could be got wrong.
/// </para>
/// </remarks>
[Obsolete("ZB.MOM.WW.Secrets.Replicator.Grpc is deprecated (scadaproj#8): it has no consumer since ScadaBridge retired the gRPC secrets hub (2026-09-28) and is no longer built, tested or packed. Use AddZbSecretsSqlServerStore, AddZbSecretsSqlServerReplication or AddZbSecretsAkkaReplication.")]
public static class SecretsGrpcHubClientExtensions
{
/// <summary>
@@ -21,6 +21,7 @@ namespace ZB.MOM.WW.Secrets.Replicator.Grpc.DependencyInjection;
/// <c>kek_id</c> mismatch, which reads like data corruption but is a deployment error.
/// </para>
/// </remarks>
[Obsolete("ZB.MOM.WW.Secrets.Replicator.Grpc is deprecated (scadaproj#8): it has no consumer since ScadaBridge retired the gRPC secrets hub (2026-09-28) and is no longer built, tested or packed. Use AddZbSecretsSqlServerStore, AddZbSecretsSqlServerReplication or AddZbSecretsAkkaReplication.")]
public static class SecretsGrpcHubServerExtensions
{
/// <summary>
@@ -9,11 +9,16 @@
<RootNamespace>ZB.MOM.WW.Secrets.Replicator.Grpc</RootNamespace>
</PropertyGroup>
<!-- DEPRECATED (scadaproj#8, owner decision 2026-11-09): no consumer since ScadaBridge retired
the gRPC secrets hub (2026-09-28). Removed from ZB.MOM.WW.Secrets.slnx, so the family build,
test run and `dotnet pack` (build/push.sh) no longer touch it; IsPackable=false keeps a
direct `dotnet pack` of this project from producing a nupkg too. Source kept for reference
and for the already-published 0.4.1–0.6.3 packages; feed unlisting is the owner's call. -->
<PropertyGroup>
<IsPackable>true</IsPackable>
<IsPackable>false</IsPackable>
<PackageId>ZB.MOM.WW.Secrets.Replicator.Grpc</PackageId>
<Authors>ZB.MOM.WW</Authors>
<Description>Central-hosted gRPC secrets hub (pull-only) for the ZB.MOM.WW SCADA family — site nodes follow central, ciphertext-only.</Description>
<Description>DEPRECATED (scadaproj#8) — central-hosted gRPC secrets hub (pull-only) for the ZB.MOM.WW SCADA family — site nodes follow central, ciphertext-only.</Description>
<PackageProjectUrl>https://gitea.dohertylan.com/dohertj2/scadaproj/src/branch/main/ZB.MOM.WW.Secrets</PackageProjectUrl>
<RepositoryUrl>https://gitea.dohertylan.com/dohertj2/scadaproj</RepositoryUrl>
</PropertyGroup>