Mirrored from GitHub
github.com/roostorg/osprey
1# Test-specific docker-compose that extends the main one
2# Usage: docker compose -f docker-compose.yaml -f docker-compose.test.yaml --profile test <command>
3
4services:
5 postgres:
6 ports: !reset []
7 volumes: !reset []
8
9 minio:
10 volumes: !reset []
11
12 etcd:
13 container_name: etcd
14 image: quay.io/coreos/etcd:v3.4.18
15 ports:
16 - "127.0.0.1:2379:2379"
17 environment:
18 - ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379
19 - ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379
20 - ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380
21 - ETCD_INITIAL_ADVERTISE_PEER_URLS=http://etcd:2380
22 - ETCD_INITIAL_CLUSTER=etcd=http://etcd:2380
23 - ETCD_NAME=etcd
24 - ETCD_DATA_DIR=/etcd-data
25 - ETCD_ENABLE_V2=true
26 healthcheck:
27 test:
28 [
29 "CMD",
30 "etcdctl",
31 "--endpoints=http://localhost:2379",
32 "endpoint",
33 "health",
34 ]
35 interval: 10s
36 timeout: 5s
37 retries: 5
38 restart: unless-stopped
39
40 test_runner:
41 container_name: osprey_test_runner
42 build:
43 context: .
44 dockerfile: osprey_worker/Dockerfile
45 depends_on:
46 osprey-kafka:
47 condition: service_healthy
48 osprey-kafka-topic-creator:
49 condition: service_completed_successfully
50 minio:
51 condition: service_healthy
52 minio-bucket-init:
53 condition: service_completed_successfully
54 postgres:
55 condition: service_healthy
56 snowflake-id-worker:
57 condition: service_started
58 etcd:
59 condition: service_healthy
60 profiles:
61 - test
62 environment:
63 - PYTHONPATH=/osprey
64 - OSPREY_INPUT_STREAM_SOURCE=kafka
65 - OSPREY_STDOUT_OUTPUT_SINK=True
66 - OSPREY_KAFKA_BOOTSTRAP_SERVERS=["osprey-kafka:29092"]
67 - OSPREY_KAFKA_INPUT_STREAM_TOPIC=osprey.actions_input
68 - OSPREY_KAFKA_INPUT_STREAM_CLIENT_ID=localhost
69 - OSPREY_KAFKA_OUTPUT_SINK=True
70 - OSPREY_KAFKA_OUTPUT_TOPIC=osprey.execution_results
71 - OSPREY_KAFKA_OUTPUT_CLIENT_ID=localhost
72 - DD_TRACE_ENABLED=False
73 - DD_DOGSTATSD_DISABLE=True
74 - OSPREY_RULES_SINK_NUM_WORKERS=1
75 - OSPREY_EXECUTION_RESULT_STORAGE_BACKEND=minio
76 - OSPREY_MINIO_ENDPOINT=minio:9000
77 - OSPREY_MINIO_ACCESS_KEY=minioadmin
78 - OSPREY_MINIO_SECRET_KEY=minioadmin123
79 - OSPREY_MINIO_SECURE=false
80 - OSPREY_MINIO_EXECUTION_RESULTS_BUCKET=execution-output
81 - SNOWFLAKE_API_ENDPOINT=http://snowflake-id-worker:8088
82 - SNOWFLAKE_EPOCH=1420070400000
83 - OSPREY_RULES_PATH=./example_rules
84 - OSPREY_DISABLE_VALIDATION_EXPORTER=true
85 - DRUID_URL=http://druid-broker:8082
86 - POSTGRES_HOSTS={"osprey_db":"postgresql://osprey:FoolishPassword@postgres:5432/osprey"}
87 - ETCD_PEERS=http://etcd:2379
88 - TESTING=true
89 volumes:
90 - ./osprey_worker:/osprey/osprey_worker
91 - ./osprey_rpc:/osprey/osprey_rpc
92 - ./example_rules:/osprey/example_rules
93 - ./entrypoint.sh:/osprey/entrypoint.sh
94 - /tmp/test-results:/tmp/test-results
95 command: ["run-tests"]