{
  "repo": "tidbcloud/aws-shared-provider",
  "binary": "vpa-agent",
  "binary_path": "cmd/vpa-agent/main.go",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "extensions": {},
  "services": [
    {
      "name": "MemoryAllocatorService",
      "type": "http",
      "methods": [
        {
          "name": "GET /report",
          "name_key": "HTTP GET /report",
          "description": "Report current memory allocation status"
        },
        {
          "name": "POST /scale",
          "name_key": "HTTP POST /scale",
          "description": "Scale memory allocation"
        },
        {
          "name": "GET /status",
          "name_key": "HTTP GET /status",
          "description": "Get memory allocator status"
        },
        {
          "name": "ManageMemory",
          "name_key": "Runtime MemoryAllocator.ManageMemory",
          "description": "Background loop that manages pod memory pressure and evictions"
        },
        {
          "name": "MonitorRebalanceSignal",
          "name_key": "Runtime MemoryAllocator.MonitorRebalanceSignal",
          "description": "Background loop that watches rebalance signal annotations"
        }
      ],
      "endpoints": [
        {
          "path": "/report",
          "method": "GET",
          "description": "Report current memory allocation status"
        },
        {
          "path": "/scale",
          "method": "POST",
          "description": "Scale memory allocation"
        },
        {
          "path": "/status",
          "method": "GET",
          "description": "Get memory allocator status"
        }
      ]
    },
    {
      "name": "HealthService",
      "type": "http",
      "methods": [
        {
          "name": "GET /healthz",
          "name_key": "HTTP GET /healthz",
          "description": "Health check endpoint"
        },
        {
          "name": "GET /readyz",
          "name_key": "HTTP GET /readyz",
          "description": "Readiness check endpoint"
        }
      ],
      "endpoints": [
        {
          "path": "/healthz",
          "method": "GET",
          "description": "Health check endpoint"
        },
        {
          "path": "/readyz",
          "method": "GET",
          "description": "Readiness check endpoint (returns 200 if ready)"
        }
      ]
    },
    {
      "name": "MetricsService",
      "type": "http",
      "methods": [
        {
          "name": "GET /metrics",
          "name_key": "HTTP GET /metrics",
          "description": "Prometheus metrics endpoint"
        }
      ],
      "endpoints": [
        {
          "path": "/metrics",
          "method": "GET",
          "description": "Prometheus metrics endpoint"
        }
      ]
    }
  ]
}
