{
  "repo": "pingcap/dm",
  "binary": "dm-syncer",
  "binary_path": "cmd/dm-syncer/main.go",
  "dependencies": {
    "SyncerWorker.RunIncrementalReplication": {
      "infrastructure": {
        "mysql": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Read upstream binlog and apply incremental changes",
              "trigger": "sync.Init(ctx) and sync.Process(ctx, pr)",
              "implementation": "syncer.NewSyncer(conf, nil, nil)"
            }
          ]
        },
        "tidb": {
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "Write replicated transactions to downstream database",
              "trigger": "Syncer applies DDL and DML jobs",
              "implementation": "syncer.Syncer"
            }
          ]
        }
      },
      "services": []
    }
  }
}
