diff options
Diffstat (limited to 'docker-compose-tests.yml')
| -rw-r--r-- | docker-compose-tests.yml | 130 |
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 |
