{
  "repo": "tidbcloud/ecosystem-service",
  "binary": "worker",
  "binary_path": "cmd/worker/main.go",
  "surface_kind": "worker_service",
  "type": "worker_service",
  "services": [],
  "extensions": {
    "http_routes": [
      {
        "path": "/metrics",
        "method": "GET",
        "handler": "promhttp.Handler",
        "description": "Prometheus metrics endpoint",
        "name_key": "HTTP GET /metrics"
      }
    ],
    "runtime_components": [
      {
        "name": "GitHubAppWorker",
        "kind": "background_worker",
        "description": "Process pending GitHub App tasks, monitor branch status and update check runs",
        "trigger": "30s",
        "name_key": "Runtime GitHubAppWorker.Run"
      },
      {
        "name": "GitHubAppCleanWorker",
        "kind": "background_worker",
        "description": "Clean completed and dropped GitHub App tasks",
        "trigger": "300s",
        "name_key": "Runtime GitHubAppCleanWorker.Run"
      },
      {
        "name": "GitHubAppMetricWorker",
        "kind": "background_worker",
        "description": "Collect GitHub App metrics",
        "trigger": "60s",
        "name_key": "Runtime GitHubAppMetricWorker.Run"
      },
      {
        "name": "VercelWebhookWorker",
        "kind": "background_worker",
        "description": "Process pending Vercel webhook tasks, monitor branch status and create Vercel env vars",
        "trigger": "15s",
        "name_key": "Runtime VercelWebhookWorker.Run"
      },
      {
        "name": "VercelWebhookMetricWorker",
        "kind": "background_worker",
        "description": "Collect Vercel webhook metrics",
        "trigger": "60s",
        "name_key": "Runtime VercelWebhookMetricWorker.Run"
      },
      {
        "name": "VercelWebhookCleanWorker",
        "kind": "background_worker",
        "description": "Clean completed and dropped Vercel webhook tasks",
        "trigger": "300s",
        "name_key": "Runtime VercelWebhookCleanWorker.Run"
      }
    ]
  }
}
