| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| version: '2.1' |
| |
| services: |
| skywalking-collector: |
| image: ghcr.io/apache/skywalking-agent-test-tool/mock-collector:${MOCK_COLLECTOR_VERSION} |
| expose: |
| - 19876 |
| - 12800 |
| ports: |
| - 12800:12800 |
| restart: on-failure |
| healthcheck: |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/12800"] |
| interval: 5s |
| timeout: 60s |
| retries: 120 |
| networks: |
| e2e: |
| ipv4_address: 172.16.238.10 |
| |
| nginx: |
| build: |
| context: ../../ |
| dockerfile: ./test/e2e/nginx/Dockerfile |
| expose: |
| - 8080 |
| networks: |
| e2e: |
| ipv4_address: 172.16.238.11 |
| depends_on: |
| skywalking-collector: |
| condition: service_healthy |
| healthcheck: |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/8080"] |
| interval: 5s |
| timeout: 60s |
| retries: 120 |
| |
| provider: |
| build: |
| context: ./ |
| args: |
| E2E_SERVICE_NAME: e2e-service-provider |
| E2E_SERVICE_VERSION: ${E2E_SERVICE_VERSION} |
| networks: |
| e2e: |
| ipv4_address: 172.16.238.12 |
| expose: |
| - 9090 |
| environment: |
| SW_AGENT_COLLECTOR_BACKEND_SERVICES: skywalking-collector:19876 |
| SW_LOGGING_OUTPUT: CONSOLE |
| SW_AGENT_NAME: e2e-service-provider |
| SW_AGENT_INSTANCE_NAME: provider1 |
| depends_on: |
| skywalking-collector: |
| condition: service_healthy |
| healthcheck: |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9090"] |
| interval: 5s |
| timeout: 60s |
| retries: 120 |
| |
| consumer: |
| build: |
| context: ./ |
| args: |
| E2E_SERVICE_NAME: e2e-service-consumer |
| E2E_SERVICE_VERSION: ${E2E_SERVICE_VERSION} |
| networks: |
| e2e: |
| ipv4_address: 172.16.238.13 |
| expose: |
| - 9092 |
| environment: |
| SW_AGENT_COLLECTOR_BACKEND_SERVICES: skywalking-collector:19876 |
| SW_LOGGING_OUTPUT: CONSOLE |
| PROVIDER_URL: http://nginx:8080 |
| SW_AGENT_NAME: e2e-service-consumer |
| SW_AGENT_INSTANCE_NAME: consumer1 |
| depends_on: |
| skywalking-collector: |
| condition: service_healthy |
| nginx: |
| condition: service_healthy |
| provider: |
| condition: service_healthy |
| healthcheck: |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9092"] |
| interval: 5s |
| timeout: 60s |
| retries: 120 |
| |
| user: |
| build: |
| context: ./user |
| volumes: |
| - ./user/expectedData.yaml:/expectedData.yaml |
| environment: |
| MAX_RETRY_TIMES: 3 |
| SUFFIX_ENTRY: http://nginx:8080/suffix |
| SERVICE_ENTRY: http://consumer:9092/info |
| VALIDATION_ENTRY: http://skywalking-collector:12800/dataValidate |
| networks: |
| e2e: |
| ipv4_address: 172.16.238.14 |
| depends_on: |
| consumer: |
| condition: service_healthy |
| skywalking-collector: |
| condition: service_healthy |
| |
| networks: |
| e2e: |
| driver: bridge |
| ipam: |
| driver: default |
| config: |
| - subnet: 172.16.238.0/24 |
| gateway: 172.16.238.1 |