{
  "repo": "tidbcloud/ffs",
  "binary": "zone-server",
  "binary_path": "cmd/zone-server/main.go",
  "dependencies": {
    "ZoneService.Locate": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "GET",
              "trigger": "Locate realm in zone from etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.RemoveMount": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Delete",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "DELETE",
              "trigger": "Remove mount from zone in etcd",
              "conditions": [
                "Mount exists"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.GetRealm": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "GET",
              "trigger": "Get realm by name from etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.GetAllRealms": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "GET",
              "trigger": "List all realms from etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.GlobRealms": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "GET",
              "trigger": "Glob realms by pattern from etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.WatchRealms": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.Watcher.Watch",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "WATCH",
              "trigger": "Watch realm changes from etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.RealmHeartbeat": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Put",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "PUT",
              "trigger": "Update realm heartbeat in etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneService.ThrottlerHeartbeat": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Put",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "PUT",
              "trigger": "Update throttler heartbeat in etcd",
              "conditions": [
                "Always"
              ],
              "implementation": "zone/server.go"
            }
          ]
        }
      ]
    },
    "ZoneLifecycle.ReportZoneHeartbeat": {
      "infrastructure": {},
      "services": [
        {
          "name": "universe",
          "target_interface": "UniverseService.ZoneHeartbeat",
          "operation_type": "grpc_unary",
          "target_repo": "tidbcloud/ffs",
          "conditions": [
            "Always"
          ],
          "operations": [
            {
              "operation": "ZoneHeartbeat",
              "trigger": "Send periodic heartbeat to universe server",
              "conditions": ["Periodic background loop"],
              "implementation": "zone/server.go:124"
            }
          ]
        }
      ]
    },
    "ZoneLifecycle.WatchRealmMetadata": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": ["Bootstrap phase"],
          "operations": [
            {
              "operation": "GET",
              "trigger": "Load existing realm metadata before starting watchers",
              "conditions": ["Bootstrap phase"],
              "implementation": "zone/server.go:147"
            }
          ]
        },
        {
          "name": "etcd",
          "target_interface": "clientv3.Watcher.Watch",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": ["Background watcher loop"],
          "operations": [
            {
              "operation": "WATCH",
              "trigger": "Watch realm metadata updates in etcd",
              "conditions": ["Background watcher loop"],
              "implementation": "zone/server.go:156"
            }
          ]
        }
      ]
    },
    "ZoneLifecycle.WatchThrottlerMetadata": {
      "infrastructure": {},
      "services": [
        {
          "name": "etcd",
          "target_interface": "clientv3.KV.Get",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": ["Bootstrap phase"],
          "operations": [
            {
              "operation": "GET",
              "trigger": "Load existing throttler metadata before starting watchers",
              "conditions": ["Bootstrap phase"],
              "implementation": "zone/server.go:572"
            }
          ]
        },
        {
          "name": "etcd",
          "target_interface": "clientv3.Watcher.Watch",
          "operation_type": "etcd",
          "target_repo": "etcd-io/etcd",
          "conditions": ["Background watcher loop"],
          "operations": [
            {
              "operation": "WATCH",
              "trigger": "Watch throttler metadata updates in etcd",
              "conditions": ["Background watcher loop"],
              "implementation": "zone/server.go:581"
            }
          ]
        }
      ]
    }
  }
}
