{
  "repo": "tidbcloud/operationlet",
  "binary": "operationlet",
  "binary_path": "cmd/operationlet/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "Manager",
      "type": "http",
      "methods": [
        {
          "name": "HealthzCheck",
          "name_key": "HTTP GET /healthz",
          "path": "/healthz",
          "method": "GET",
          "description": "Health check endpoint."
        },
        {
          "name": "ReadyzCheck",
          "name_key": "HTTP GET /readyz",
          "path": "/readyz",
          "method": "GET",
          "description": "Readiness check endpoint."
        },
        {
          "name": "Metrics",
          "name_key": "HTTP GET /metrics",
          "path": "/metrics",
          "method": "GET",
          "description": "Prometheus metrics endpoint."
        }
      ]
    },
    {
      "name": "OperationCommandJobReconciler",
      "type": "worker",
      "methods": [
        {
          "name": "Reconcile",
          "name_key": "Runtime OperationCommandJobReconciler.Reconcile",
          "description": "Watches OperationCommandJob CRs to execute operations."
        }
      ]
    },
    {
      "name": "OperationProxyServiceReconciler",
      "type": "worker",
      "methods": [
        {
          "name": "Reconcile",
          "name_key": "Runtime OperationProxyServiceReconciler.Reconcile",
          "description": "Watches OperationProxyService CRs to proxy pd-ctl commands."
        }
      ]
    },
    {
      "name": "OperationAuthorizeServiceReconciler",
      "type": "worker",
      "methods": [
        {
          "name": "Reconcile",
          "name_key": "Runtime OperationAuthorizeServiceReconciler.Reconcile",
          "description": "Placeholder reconciler for OperationAuthorizeService CRs."
        }
      ]
    },
    {
      "name": "DiagnosticCollectorJobReconciler",
      "type": "worker",
      "methods": [
        {
          "name": "Reconcile",
          "name_key": "Runtime DiagnosticCollectorJobReconciler.Reconcile",
          "description": "Watches DiagnosticCollectorJob CRs to collect diagnostic info."
        }
      ]
    },
    {
      "name": "DiagnosticAgentServiceReconciler",
      "type": "worker",
      "methods": [
        {
          "name": "Reconcile",
          "name_key": "Runtime DiagnosticAgentServiceReconciler.Reconcile",
          "description": "Placeholder reconciler for DiagnosticAgentService CRs."
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "Kubernetes operator for TiDB cluster operations such as restart pods, pd-ctl proxy, and diagnostics."
    ]
  }
}
