Files
2020-04-08 10:39:44 -07:00

126 lines
3.8 KiB
YAML

version: "3"
# remember to use this compose file __ONLY__ for development/testing purposes
services:
elasticsearch:
image: elasticsearch:2.4-alpine
ports:
- "127.0.0.1:9200:9200"
cassandra:
image: spotify/cassandra:latest
environment:
- MAX_HEAP_SIZE=512M
- HEAP_NEWSIZE=256M
ports:
- "127.0.0.1:9042:9042"
consul:
image: consul:1.6.0
ports:
- "127.0.0.1:8500:8500"
postgres:
image: postgres:10.5-alpine
environment:
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- POSTGRES_DB=postgres
ports:
- "127.0.0.1:5432:5432"
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=admin
- MYSQL_PASSWORD=test
- MYSQL_USER=test
- MYSQL_DATABASE=test
ports:
- "127.0.0.1:3306:3306"
redis:
image: redis:4.0-alpine
ports:
- "127.0.0.1:6379:6379"
rediscluster:
image: grokzen/redis-cluster:4.0.9
environment:
- IP=0.0.0.0
ports:
- "127.0.0.1:7000:7000"
- "127.0.0.1:7001:7001"
- "127.0.0.1:7002:7002"
- "127.0.0.1:7003:7003"
- "127.0.0.1:7004:7004"
- "127.0.0.1:7005:7005"
mongo:
image: mongo:3.6
ports:
- "127.0.0.1:27017:27017"
memcached:
image: memcached:1.5-alpine
ports:
- "127.0.0.1:11211:11211"
moto:
# container that executes mocked AWS services; this is a custom
# build that runs all of them in a single container. It is built
# using this fork: https://github.com/palazzem/moto/tree/palazzem/docker-service
image: datadog/docker-library:moto_1_0_1
ports:
- "127.0.0.1:5000:5000"
- "127.0.0.1:5001:5001"
- "127.0.0.1:5002:5002"
- "127.0.0.1:5003:5003"
- "127.0.0.1:5004:5004"
- "127.0.0.1:5005:5005"
rabbitmq:
image: rabbitmq:3.7-alpine
ports:
- "127.0.0.1:5672:5672"
ddagent:
image: datadog/agent-dev:gbbr-apm-build
environment:
- DD_BIND_HOST=0.0.0.0
- DD_API_KEY=invalid_key_but_this_is_fine
- DD_APM_RECEIVER_SOCKET=/tmp/ddagent/trace.sock
ports:
- "127.0.0.1:8126:8126"
volumes:
- ddagent:/tmp/ddagent
vertica:
image: sumitchawla/vertica
environment:
- VP_TEST_USER=dbadmin
- VP_TEST_PASSWORD=abc123
- VP_TEST_DATABASE=docker
ports:
- "127.0.0.1:5433:5433"
testrunner:
image: datadog/docker-library:ddtrace_py
environment:
- TOX_SKIP_DIST=True
- TEST_DATADOG_INTEGRATION=1
- TEST_DATADOG_INTEGRATION_UDS=1
network_mode: host
working_dir: /src
volumes:
- ddagent:/tmp/ddagent
- ./ddtrace:/src/ddtrace:ro
# DEV: Make ddtrace/vendor rw so Tox can build C-extensions
- ./ddtrace/vendor:/src/ddtrace/vendor:rw
- ./tests:/src/tests:ro
- ./setup.cfg:/src/setup.cfg:ro
- ./setup.py:/src/setup.py:ro
- ./conftest.py:/src/conftest.py:ro
- ./tox.ini:/src/tox.ini:ro
- ./docs:/src/docs:ro
- ./pyproject.toml:/src/pyproject.toml:ro
- ./.ddtox:/src/.tox
- ./scripts:/src/scripts
# setuptools_scm needs `.git` to figure out what version we are on
# DEV: We could use `SETUPTOOLS_SCM_PRETEND_VERSION` but prefer `.git`
# to get the same behavior as during releases
- ./.git:/src/.git:ro
command: bash
volumes:
ddagent: