c582508ae5
Adds appsettings.Wonder.json for the first deployment of this dashboard to a real box. Named "Wonder" rather than "Production", mirroring the existing Docker overlay: this is ONE deployment's fleet, not a claim about what every production deployment looks like. Every port was established by probing the running box, not inferred from the docker rig - and the two disagree, so inference would have been wrong: OtOpcUa :9000 (AdminUI on the same listener) ScadaBridge Central :8085 (rig serves this on :5000) ScadaBridge Site :8084 (no UI - / is 404, so the card carries no link) MxAccessGateway :5130 (:5120 is gRPC) HistorianGateway :5220 (:5221 is gRPC h2c) :8083 and :8086 answer 400 to an HTTP/1.1 GET - h2c gRPC - and are excluded. Both gateways are HasActiveRole:false. Their /health/active does return 200, but only because the active tier runs an EMPTY check set when no Active-tagged check is registered, so an Active badge would assert a role neither has. Central and site are separate groups because they are separate Akka clusters; one shared group would manufacture a leader disagreement. BaseUrl is localhost (probed by the service, on the box) while ManagementUrl carries the box address (followed by the operator's browser, elsewhere). Serilog's file path is absolute and outside the Server directory an upgrade replaces - a relative path resolves against the service AppDirectory, so every upgrade would silently eat the log history. Same class of defect that cost HistorianGateway its secrets store on a swap. Boot-verified locally under ASPNETCORE_ENVIRONMENT=Wonder: registry passes OverviewOptionsValidator and the host starts.