{
  "repo": "tidbcloud/infra-provider",
  "binary": "infra-webhook",
  "binary_path": "infra-webhook/main.go",
  "dependencies": {
    "MetricsService.metrics": {
      "infrastructure": {},
      "services": []
    },
    "MetricsService.pprof": {
      "infrastructure": {},
      "services": []
    },
    "ProbeService.healthz": {
      "infrastructure": {},
      "services": []
    },
    "ProbeService.readyz": {
      "infrastructure": {},
      "services": []
    },
    "CompatWebhookService.RegisterWebhooks": {
      "infrastructure": {
        "kubernetes": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Admission webhook registration",
              "trigger": "Serve validations and mutations for cloudv1 resources",
              "implementation": "cloudv1.RegisterWebhooks(mgr)"
            },
            {
              "operation": "Field index registration",
              "trigger": "Resolve Network resources by spec.region",
              "implementation": "mgr.GetFieldIndexer().IndexField(..., &cloudv1.Network{}, \"spec.region\", ...)"
            }
          ]
        }
      },
      "services": [
        {
          "name": "compat-k8s",
          "target_interface": "compatibility client override",
          "operation_type": "client_override",
          "conditions": [
            "compat-mode enabled"
          ],
          "operations": [
            {
              "operation": "Override webhook reader/client",
              "trigger": "Serve compatibility-mode webhook requests",
              "implementation": "cloudv1.OverrideWebhookClient(infraCli, infraReader)"
            }
          ]
        }
      ]
    }
  }
}
