summaryrefslogtreecommitdiff
path: root/docker-compose-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to 'docker-compose-tests.yml')
-rw-r--r--docker-compose-tests.yml130
1 files changed, 130 insertions, 0 deletions
diff --git a/docker-compose-tests.yml b/docker-compose-tests.yml
new file mode 100644
index 0000000..d9418a5
--- /dev/null
+++ b/docker-compose-tests.yml
@@ -0,0 +1,130 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+include:
+ - path:
+ - docker-compose.yml # depend on the main docker-compose file
+ - docker-compose-tests_include-override.yml # include override for tests
+
+services:
+ # *****
+ # Tests
+ # *****
+ # Frontend Tests
+ frontendTests:
+ image: ${IMAGE_NAME}:${DEMO_VERSION}-frontend-tests
+ container_name: frontend-tests
+ build:
+ context: ./
+ dockerfile: ./src/frontend/Dockerfile.cypress
+ volumes:
+ - ./src/frontend/cypress/videos:/app/cypress/videos
+ - ./src/frontend/cypress/screenshots:/app/cypress/screenshots
+ environment:
+ - CYPRESS_baseUrl=http://${FRONTEND_ADDR}
+ - FRONTEND_ADDR
+ - NODE_ENV=production
+ depends_on:
+ - frontend
+
+ # Tracebased Tests
+ traceBasedTests:
+ image: ${IMAGE_NAME}:${DEMO_VERSION}-traceBasedTests
+ container_name: traceBasedTests
+ build:
+ context: ./
+ dockerfile: ./test/tracetesting/Dockerfile
+ args:
+ TRACETEST_IMAGE_VERSION: ${TRACETEST_IMAGE_VERSION}
+ environment:
+ - AD_ADDR
+ - CART_ADDR
+ - CHECKOUT_ADDR
+ - CURRENCY_ADDR
+ - EMAIL_ADDR
+ - FRONTEND_ADDR
+ - PAYMENT_ADDR
+ - PRODUCT_CATALOG_ADDR
+ - RECOMMENDATION_ADDR
+ - SHIPPING_ADDR
+ - KAFKA_ADDR
+ extra_hosts:
+ - "host.docker.internal:host-gateway"
+ volumes:
+ - ./test/tracetesting:/app/test/tracetesting
+ - ./pb:/app/pb
+ depends_on:
+ tracetest-server:
+ condition: service_healthy
+ # adding demo services as dependencies
+ accounting:
+ condition: service_started
+ ad:
+ condition: service_started
+ cart:
+ condition: service_started
+ checkout:
+ condition: service_started
+ currency:
+ condition: service_started
+ email:
+ condition: service_started
+ fraud-detection:
+ condition: service_started
+ frontend:
+ condition: service_started
+ payment:
+ condition: service_started
+ product-catalog:
+ condition: service_started
+ quote:
+ condition: service_started
+ recommendation:
+ condition: service_started
+ shipping:
+ condition: service_started
+ flagd:
+ condition: service_started
+ kafka:
+ condition: service_started
+
+ tracetest-server:
+ image: ${TRACETEST_IMAGE}
+ platform: linux/amd64
+ container_name: tracetest-server
+ volumes:
+ - type: bind
+ source: ./test/tracetesting/tracetest-config.yaml
+ target: /app/tracetest.yaml
+ - type: bind
+ source: ./test/tracetesting/tracetest-provision.yaml
+ target: /app/provision.yaml
+ command: --provisioning-file /app/provision.yaml
+ ports:
+ - 11633:11633
+ extra_hosts:
+ - "host.docker.internal:host-gateway"
+ depends_on:
+ tracetest-postgres:
+ condition: service_healthy
+ otel-collector:
+ condition: service_started
+ healthcheck:
+ test: [ "CMD", "wget", "--spider", "localhost:11633" ]
+ interval: 1s
+ timeout: 3s
+ retries: 60
+
+ tracetest-postgres:
+ image: ${POSTGRES_IMAGE}
+ container_name: tracetest-postgres
+ environment:
+ POSTGRES_PASSWORD: postgres
+ POSTGRES_USER: postgres
+ healthcheck:
+ test: pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"
+ interval: 1s
+ timeout: 5s
+ retries: 60
+ ports:
+ - 5432