{
  "repo": "tidbcloud/shared-provider",
  "binary": "csi-node-taint",
  "binary_path": "cmd/csi-node-taint/main.go",
  "dependencies": {
    "HealthService.healthz": {
      "infrastructure": {},
      "services": []
    },
    "HealthService.readyz": {
      "infrastructure": {},
      "services": []
    },
    "CSINodeReconciler.Reconcile": {
      "infrastructure": {
        "kubernetes": {
          "conditions": ["Always"],
          "operations": [
            {
              "operation": "Kubernetes API Get Node",
              "trigger": "Fetch node associated with CSINode",
              "conditions": ["Always"],
              "implementation": "r.Get(ctx, req.NamespacedName, node)"
            },
            {
              "operation": "Kubernetes API Get CSINode",
              "trigger": "Fetch CSINode resource",
              "conditions": ["Always"],
              "implementation": "r.Get(ctx, req.NamespacedName, csiNode)"
            },
            {
              "operation": "Kubernetes API Update Node",
              "trigger": "Remove not-ready taint from node",
              "conditions": ["CSINode.Spec.Drivers != nil", "Node has csi.tidbcloud.com/not-ready taint"],
              "implementation": "r.Update(ctx, node)"
            }
          ]
        }
      },
      "services": []
    }
  }
}
