services:
  python-worker:
    build:
      context: ./python-worker
    image: urirun-v2-python-worker:local
    labels:
      io.tellmesh.urirun.manifest: /app/bindings.json
    networks: [uri-flow]

  node-worker:
    build:
      context: ./node-worker
    image: urirun-v2-node-worker:local
    labels:
      io.tellmesh.urirun.manifest: /app/bindings.json
    networks: [uri-flow]

  shell-worker:
    build:
      context: ./shell-worker
    image: urirun-v2-shell-worker:local
    labels:
      io.tellmesh.urirun.manifest: /app/bindings.json
    networks: [uri-flow]
    volumes:
      - reports:/data

  orchestrator:
    build:
      context: ./orchestrator
    image: urirun-v2-flow-orchestrator:local
    depends_on:
      - python-worker
      - node-worker
      - shell-worker
    networks: [uri-flow]
    volumes:
      - ./flows:/flows:ro
      - ./generated:/registry:ro
    environment:
      URI_REGISTRY: /registry/registry.json
    command: ["python", "/app/flow_runner.py", "/flows/cross_service_report.yaml"]

networks:
  uri-flow:

volumes:
  reports:
