// mbproxy smoke-test configuration for the web-UI browser smoke tests.
// NOT a deployment config. The Resilience and Cache sections are intentionally
// omitted — the smoke run relies on their built-in defaults.
//
// Topology:
//   * line-a / line-b  → the dl205 simulator on 127.0.0.1:5020 (run-dl205-sim.ps1).
//                        line-a carries a 16-bit BCD tag, line-b a 32-bit BCD tag,
//                        so the connection-detail debug view has content in both
//                        widths. Both listeners bind and reach a live backend.
//   * line-dead        → an unreachable backend (192.0.2.1, TEST-NET-1, RFC 5737).
//                        The listener binds fine but every backend connect fails,
//                        so the row surfaces connect failures / heartbeat failures
//                        and exercises the dashboard's "problems only" filter.
{
  "Mbproxy": {
    "BcdTags": {
      "Global": []
    },
    "Plcs": [
      {
        "Name": "line-a",
        "ListenPort": 6020,
        "Host": "127.0.0.1",
        "Port": 5020,
        "BcdTags": {
          "Add": [
            { "Address": 1072, "Width": 16 }
          ]
        }
      },
      {
        "Name": "line-b",
        "ListenPort": 6021,
        "Host": "127.0.0.1",
        "Port": 5020,
        "BcdTags": {
          "Add": [
            { "Address": 1072, "Width": 32 }
          ]
        }
      },
      {
        "Name": "line-dead",
        "ListenPort": 6022,
        "Host": "192.0.2.1",
        "Port": 502
      }
    ],
    "AdminPort": 8080,
    "AdminPushIntervalMs": 1000,
    "Connection": {
      "BackendConnectTimeoutMs": 2000,
      "BackendRequestTimeoutMs": 2000,
      "GracefulShutdownTimeoutMs": 5000,
      "Keepalive": {
        "Enabled": true,
        "TcpIdleTimeMs": 30000,
        "TcpProbeIntervalMs": 5000,
        "TcpProbeCount": 4,
        "BackendHeartbeatIdleMs": 10000,
        "BackendHeartbeatProbeAddress": 0
      }
    }
  },
  "Serilog": {
    "Using": [ "Serilog.Sinks.Console" ],
    "MinimumLevel": { "Default": "Information" },
    "WriteTo": [
      { "Name": "Console" }
    ]
  }
}
