{
  "repo": "tidbcloud/service-catalog",
  "binary": "server",
  "binary_path": "cmd/server/main.go",
  "dependencies": {
    "CLI go run ./cmd/server": {
      "description": "Starts the service catalog API server process.",
      "infrastructure": {
        "local_process": {
          "conditions": [
            "The operator launches the service catalog server."
          ],
          "operations": [
            {
              "operation": "Start Gin HTTP server",
              "trigger": "go run ./cmd/server",
              "implementation": "cmd/server/main.go"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime ServiceCatalogAPI.ServeCatalogAPI": {
      "description": "Serves catalog metadata, topology, and dependency information backed by Kubernetes, Jaeger, and local meta files.",
      "infrastructure": {
        "kubernetes_api": {
          "conditions": [
            "Kubeconfig or in-cluster config available"
          ],
          "operations": [
            {
              "operation": "List deployments and initialize cluster controllers",
              "trigger": "controller.Init / ListDeployments",
              "implementation": "cmd/server/main.go"
            }
          ]
        },
        "local_filesystem": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Read service metadata and serve bundled UI files",
              "trigger": "model.NewMetaProvider / static.Serve",
              "implementation": "pkg/api/api.go"
            }
          ]
        }
      },
      "services": [
        {
          "name": "jaeger",
          "target_repo": "external/jaeger",
          "target_interface": "dependency queries",
          "protocol": "http",
          "description": "Queries Jaeger for topology and dependency information."
        }
      ]
    }
  }
}
