version: '2'

services:
    crossdock:
        image: crossdock/crossdock
        links:
            - test_driver
            - go
            - java
            - python

        environment:
            - WAIT_FOR=test_driver,go,java,python
            - WAIT_FOR_TIMEOUT=60s

            - CALL_TIMEOUT=60s

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

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

            - AXIS_TESTDRIVER=test_driver
            - AXIS_SERVICES=go

            - BEHAVIOR_ENDTOEND=testdriver,services

            - REPORT=compact
    go:
        build: .
        ports:
            - "8080-8082"

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

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

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