version: '2'

services:
    crossdock:
        image: crossdock/crossdock
        links:
            - test_driver
            - go
            - java
            - python
            - node
        environment:
            - WAIT_FOR=test_driver,go,java,python,node
            - WAIT_FOR_TIMEOUT=240s

            - CALL_TIMEOUT=60s

            - AXIS_CLIENT=go
            - AXIS_S1NAME=go,java,node
            - AXIS_SAMPLED=true
            - AXIS_S2NAME=go,java,node
            - AXIS_S2TRANSPORT=http
            - AXIS_S3NAME=go,java,node,python
            - AXIS_S3TRANSPORT=http

            - BEHAVIOR_TRACE=client,s1name,sampled,s2name,s2transport,s3name,s3transport

            - AXIS_TESTDRIVER=test_driver
            - AXIS_SERVICES=node

            - BEHAVIOR_ENDTOEND=testdriver,services

            - REPORT=compact

    node:
        build:
            context: ../.
            dockerfile: crossdock/Dockerfile
        ports:
            - "8080-8082"

    go:
        image: jaegertracing/xdock-go
        ports:
            - "8080-8082"

    python:
        image: jaegertracing/xdock-py
        ports:
            - "8080-8082"

    java:
        image: jaegertracing/xdock-java
        ports:
            - "8080-8082"
        links:
    #        Udp sender needs to know agent's address
            - jaeger-agent

    test_driver:
        image: jaegertracing/test-driver
        depends_on:
            - jaeger-query
            - jaeger-collector
            - jaeger-agent
        ports:
            - "8080"
