version: '2'

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

      - CALL_TIMEOUT=60s

      - AXIS_CLIENT=go

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

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

      - AXIS_TESTDRIVER=test_driver
      - AXIS_SERVICES=ruby

      - BEHAVIOR_ENDTOEND=testdriver,services

      - REPORT=compact
  go:
    image: jaegertracing/xdock-go
    ports:
      - "8080-8082"

  java:
    image: jaegertracing/xdock-java
    depends_on:
      - jaeger-agent
    ports:
      - "8080-8082"

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

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

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