blob: c6e0e20b070b9bb85f34bcb25a37280e669857a3 [file] [log] [blame]
# 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