{
  "repo": "tidbcloud/infra-provider",
  "binary": "cluster-controller",
  "binary_path": "cluster-controller/main.go",
  "surface_kind": "controller_service",
  "type": "controller_service",
  "extensions": {},
  "services": [
    {
      "name": "MetricsService",
      "type": "http",
      "methods": [
        {
          "name": "metrics",
          "name_key": "MetricsService.metrics",
          "path": "/metrics",
          "method": "GET",
          "description": "Controller-runtime metrics endpoint with optional pprof handlers."
        },
        {
          "name": "pprof",
          "name_key": "MetricsService.pprof",
          "path": "/debug/pprof/*",
          "method": "GET",
          "description": "pprof endpoints attached to the metrics listener when enabled."
        }
      ]
    },
    {
      "name": "ProbeService",
      "type": "http",
      "methods": [
        {
          "name": "healthz",
          "name_key": "ProbeService.healthz",
          "path": "/healthz",
          "method": "GET",
          "description": "Liveness probe."
        },
        {
          "name": "readyz",
          "name_key": "ProbeService.readyz",
          "path": "/readyz",
          "method": "GET",
          "description": "Readiness probe."
        }
      ]
    },
    {
      "name": "ClusterControllerManager",
      "type": "controller",
      "methods": [
        {
          "name": "RunCMControllers",
          "name_key": "ClusterControllerManager.RunCMControllers",
          "description": "Runs cluster, workflow, backup, restore, replay, configchange, network, import, TiCDC, DM, Dumpling, and upgradeoperation controllers based on flags and root config."
        }
      ]
    }
  ]
}
