{
  "repo": "tidbcloud/infra-provider",
  "binary": "proxy",
  "binary_path": "clusterproxy/cmd/proxy/main.go",
  "dependencies": {
    "ReadyService.readyz": {
      "infrastructure": {},
      "services": []
    },
    "ClusterProxyRoutes.BindRegisteredRoutes": {
      "infrastructure": {
        "kubernetes": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Read Services and Endpoints informers",
              "trigger": "Resolve cluster routes and backend services",
              "implementation": "informers.NewSharedInformerFactory(cli, 0)"
            },
            {
              "operation": "Kubernetes API reads",
              "trigger": "Route requests to TiDB clusters and infra resources",
              "implementation": "route.Context{Cli, K8sCli, OpCli, CertCli, SvcLister, EndpointLister}"
            }
          ]
        }
      },
      "services": [
        {
          "name": "auth0",
          "target_interface": "JWT validation middleware",
          "operation_type": "auth_middleware",
          "conditions": [
            "!devMode"
          ],
          "operations": [
            {
              "operation": "Request authentication",
              "trigger": "Protect bound routes unless dev mode bypasses auth",
              "implementation": "auth.Middleware"
            }
          ]
        }
      ]
    },
    "MetricsAndPprof.metrics": {
      "infrastructure": {},
      "services": []
    },
    "MetricsAndPprof.pprof": {
      "infrastructure": {},
      "services": []
    }
  }
}
