{
  "repo": "tidbcloud/observability",
  "binary": "agent-control-server",
  "binary_path": "agent-control-server/main.go",
  "dependencies": {
    "HTTP GET /metrics": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /healthz": {
      "infrastructure": {},
      "services": []
    },
    "HTTP GET /readyz": {
      "infrastructure": {},
      "services": []
    },
    "Runtime O11yAgentReconciler.Reconcile": {
      "infrastructure": {
        "k8s": {
          "conditions": [
            "Always"
          ],
          "operations": [
            "GET/CREATE/UPDATE/DELETE O11yAgent CRD",
            "GET/CREATE/UPDATE/DELETE Deployments, Services, ConfigMaps, Secrets"
          ]
        }
      },
      "services": []
    },
    "Runtime O11yClusterReconciler.Reconcile": {
      "infrastructure": {
        "k8s": {
          "conditions": [
            "Always"
          ],
          "operations": [
            "GET/CREATE/UPDATE/DELETE O11yCluster CRD",
            "GET/CREATE/UPDATE/DELETE Deployments, Services, ConfigMaps, Secrets"
          ]
        },
        "aws": {
          "conditions": [
            "When provider is AWS"
          ],
          "operations": [
            "EC2 DescribeVpcEndpointServices",
            "EC2 DescribeSubnets",
            "EKS DescribeCluster"
          ]
        },
        "gcp": {
          "conditions": [
            "When provider is GKE"
          ],
          "operations": [
            "Compute GetInstanceGroups",
            "Compute GetInstance",
            "DNS ListResourceRecordSets",
            "Storage GetBucket"
          ]
        },
        "crossplane": {
          "conditions": [
            "When creating VPCEndpoint"
          ],
          "operations": [
            "CREATE/UPDATE VPCEndpoint CRD"
          ]
        }
      },
      "services": [
        {
          "name": "o11y-infra-api",
          "target_interface": "O11yInfraAPI.Create/List/Delete/Pause/Resume",
          "operation_type": "http_post",
          "conditions": [
            "When cluster mode"
          ],
          "operations": [
            "Create/delete O11y clusters via O11y Infra API"
          ]
        },
        {
          "name": "auth0",
          "target_interface": "POST /oauth/token",
          "operation_type": "http_post",
          "conditions": [
            "When the O11y Infra API client initializes or refreshes its access token"
          ],
          "operations": [
            "Fetch client_credentials token for O11y Infra API requests"
          ]
        }
      ]
    }
  }
}
