{
  "repo": "tidbcloud/infra-provider",
  "binary": "infra-exporter",
  "binary_path": "infra-exporter/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "extensions": {},
  "services": [
    {
      "name": "HealthService",
      "type": "http",
      "methods": [
        {
          "name": "healthz",
          "name_key": "HealthService.healthz",
          "path": "/healthz",
          "method": "GET",
          "description": "Returns 200 once the exporter process is running."
        }
      ]
    },
    {
      "name": "MetricsService",
      "type": "http",
      "methods": [
        {
          "name": "metrics",
          "name_key": "MetricsService.metrics",
          "path": "/metrics",
          "method": "GET",
          "description": "Exports Prometheus metrics collected from infra CR informers."
        }
      ]
    },
    {
      "name": "InfraResourceCollectors",
      "type": "worker",
      "methods": [
        {
          "name": "WatchDedicatedAndCrossplaneResources",
          "name_key": "InfraResourceCollectors.WatchDedicatedAndCrossplaneResources",
          "description": "Runs dynamic informers for dedicated and crossplane resources and updates collector metrics on add, update, and delete events."
        }
      ]
    }
  ]
}
