{
  "repo": "pingcap/tiproxy",
  "binary": "tiproxy",
  "binary_path": "cmd/tiproxy/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "TiProxyLifecycle",
      "package": "github.com/pingcap/tiproxy/pkg/server",
      "methods": [
        {
          "name": "StartProxy",
          "name_key": "Runtime TiProxyLifecycle.StartProxy",
          "input": "config file + advertise addr + backend topology",
          "output": "running SQL proxy plus HTTP/gRPC admin server"
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "TiProxy is not just a CLI wrapper. cmd/tiproxy starts the SQL proxy runtime and the embedded HTTP/gRPC admin surface.",
      "The runtime exposes /api/debug/health, /api/admin/config, /api/admin/namespace/*, /api/traffic/*, and /metrics.",
      "The proxy also exposes a MySQL-compatible frontend listener through pkg/proxy, but the current KB schema only records the explicit CLI and HTTP/gRPC control surfaces."
    ]
  }
}
