{
  "repo": "pingcap/tiflow",
  "scan_version": "4.4",
  "scan_status": "completed",
  "scan_at": "2026-04-01T15:11:23+08:00",
  "file_count": 4488,
  "language": "Go",
  "repo_kind": "multi_service",
  "type": "multi_service",
  "binaries": [
    {
      "name": "filter-helper",
      "path": "cmd/filter-helper/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "cobra"
        }
      },
      "role": "tool"
    },
    {
      "name": "cdc",
      "path": "cmd/cdc/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "cobra"
        },
        "http_api": {
          "source": "server/"
        },
        "grpc": {
          "source": "server/",
          "mode": "server",
          "services": "Diagnostics,MessageService"
        }
      },
      "role": "primary_service"
    },
    {
      "name": "storage-consumer",
      "path": "cmd/storage-consumer/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        },
        "http_api": {
          "source": "optional net/http/pprof listener in cmd/storage-consumer/main.go",
          "port": 8300,
          "conditions": [
            "Only when --enable-profiling is true"
          ]
        }
      },
      "role": "worker"
    },
    {
      "name": "dm-master",
      "path": "cmd/dm-master/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        },
        "http_api": {
          "source": "dm/master/server.go"
        },
        "grpc": {
          "source": "dm/master/server.go",
          "mode": "server",
          "services": "pb.MasterServer"
        }
      },
      "role": "primary_service"
    },
    {
      "name": "dm-ctl",
      "path": "cmd/dm-ctl/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        }
      },
      "role": "admin_cli"
    },
    {
      "name": "tiflow",
      "path": "cmd/tiflow/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "cobra"
        }
      },
      "role": "admin_cli"
    },
    {
      "name": "oauth2-server",
      "path": "cmd/oauth2-server/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "cobra"
        },
        "http_api": {
          "source": "cmd"
        }
      },
      "role": "primary_service"
    },
    {
      "name": "dm-syncer",
      "path": "cmd/dm-syncer/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        }
      },
      "role": "worker"
    },
    {
      "name": "dm-worker",
      "path": "cmd/dm-worker/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        },
        "http_api": {
          "source": "dm/worker/server.go"
        },
        "grpc": {
          "source": "dm/worker/server.go",
          "mode": "server",
          "services": "pb.WorkerServer"
        }
      },
      "role": "primary_service"
    },
    {
      "name": "pulsar-consumer",
      "path": "cmd/pulsar-consumer/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "cobra"
        }
      },
      "role": "worker"
    },
    {
      "name": "kafka-consumer",
      "path": "cmd/kafka-consumer/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "stdlib"
        },
        "http_api": {
          "source": "optional net/http/pprof listener in cmd/kafka-consumer/main.go",
          "port": 6060,
          "conditions": [
            "Only when --enable-profiling is true"
          ]
        }
      },
      "role": "worker"
    },
    {
      "name": "sync_diff_inspector",
      "path": "sync_diff_inspector/main.go",
      "language": "Go",
      "interfaces": {
        "cli": {
          "framework": "pflag"
        }
      },
      "role": "admin_cli"
    }
  ],
  "summary": {
    "total_binaries": 12,
    "has_cli": true,
    "has_http": true,
    "has_grpc": false,
    "binary_names": [
      "filter-helper",
      "cdc",
      "storage-consumer",
      "dm-master",
      "dm-ctl",
      "tiflow",
      "oauth2-server",
      "dm-syncer",
      "dm-worker",
      "pulsar-consumer",
      "kafka-consumer",
      "sync_diff_inspector"
    ],
    "interfaces": [
      "cli",
      "http_api"
    ],
    "build_manifests": [
      "dockerfile",
      "makefile"
    ]
  }
}
