{
  "repo": "tikv/importer",
  "binary": "tikv-importer",
  "binary_path": "src/bin/tikv-importer.rs",
  "dependencies": {
    "CLI tikv-importer": {
      "infrastructure": {
        "rocksdb": {
          "conditions": [
            "The importer opens configured import engines."
          ],
          "operations": [
            {
              "operation": "Open importer engines and start the process",
              "trigger": "Run tikv-importer.",
              "implementation": "src/bin/tikv-importer.rs"
            }
          ]
        }
      },
      "services": []
    },
    "ImportKVService.WriteEngine": {
      "infrastructure": {
        "rocksdb": {
          "conditions": [
            "The importer receives streamed key-value writes."
          ],
          "operations": [
            {
              "operation": "Write and flush importer engines",
              "trigger": "Handle WriteEngine requests.",
              "implementation": "src/bin/tikv-importer.rs"
            }
          ]
        }
      },
      "services": []
    },
    "ImportKVService.Ingest": {
      "infrastructure": {
        "downstream_tikv": {
          "conditions": [
            "Prepared SST data is ingested into downstream TiKV."
          ],
          "operations": [
            {
              "operation": "Split regions, upload SSTs, and ingest SSTs",
              "trigger": "Handle Ingest requests.",
              "implementation": "src/bin/tikv-importer.rs"
            }
          ]
        }
      },
      "services": []
    },
    "ImportKVService.GetMetrics": {
      "infrastructure": {
        "metrics_registry": {
          "conditions": [
            "Metrics are requested through the importer gRPC API."
          ],
          "operations": [
            {
              "operation": "Dump Prometheus metrics through gRPC response",
              "trigger": "Handle GetMetrics requests.",
              "implementation": "src/bin/tikv-importer.rs"
            }
          ]
        }
      },
      "services": []
    },
    "Runtime StatusAPI.StatusServer": {
      "infrastructure": {
        "http_status_server": {
          "conditions": [
            "status-server-address is configured."
          ],
          "operations": [
            {
              "operation": "Expose optional TiKV status server",
              "trigger": "Start importer with status HTTP enabled.",
              "implementation": "src/bin/tikv-importer.rs"
            }
          ]
        }
      },
      "services": []
    }
  }
}
