# 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: zk: image: zookeeper:3.5 expose: - 2181 networks: - e2e healthcheck: test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/2181"] interval: 5s timeout: 60s retries: 120 es: image: elastic/elasticsearch:6.3.2 expose: - 9200 networks: - e2e environment: - discovery.type=single-node healthcheck: test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9200"] interval: 5s timeout: 60s retries: 120 oap1: image: skywalking/oap:latest expose: - 11800 - 12800 networks: - e2e environment: - SW_CLUSTER=zookeeper - SW_CLUSTER_ZK_HOST_PORT=zk:2181 - SW_STORAGE=elasticsearch - SW_STORAGE_ES_CLUSTER_NODES=es:9200 restart: on-failure volumes: - ./gateways.yml:/skywalking/config/gateways.yml depends_on: zk: condition: service_healthy es: condition: service_healthy healthcheck: test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"] interval: 5s timeout: 60s retries: 120 oap2: image: skywalking/oap:latest expose: - 11800 - 12800 networks: - e2e environment: - SW_CLUSTER=zookeeper - SW_CLUSTER_ZK_HOST_PORT=zk:2181 - SW_STORAGE=elasticsearch - SW_STORAGE_ES_CLUSTER_NODES=es:9200 restart: on-failure volumes: - ./gateways.yml:/skywalking/config/gateways.yml depends_on: zk: condition: service_healthy es: condition: service_healthy oap1: condition: service_healthy healthcheck: test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/11800"] interval: 5s timeout: 60s retries: 120 ui: image: skywalking/ui:latest expose: - 8080 networks: - e2e environment: - SW_OAP_ADDRESS=oap1:12800,oap2:12800 depends_on: oap1: condition: service_healthy oap2: condition: service_healthy provider1: build: context: ../../../ dockerfile: e2e-test/docker/Dockerfile.provider networks: - e2e expose: - 9090 environment: - SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800 - SW_AGENT_NAME=e2e-service-provider depends_on: oap2: condition: service_healthy healthcheck: test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"] interval: 5s timeout: 60s retries: 120 provider2: build: context: ../../../ dockerfile: e2e-test/docker/Dockerfile.provider networks: - e2e expose: - 9090 environment: - SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap2:11800 - SW_AGENT_NAME=e2e-service-provider depends_on: oap2: condition: service_healthy healthcheck: test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 9090"] interval: 5s timeout: 60s retries: 120 consumer: build: context: ../../../ dockerfile: e2e-test/docker/Dockerfile.consumer networks: - e2e expose: - 9092 environment: - SW_AGENT_COLLECTOR_BACKEND_SERVICES=oap1:11800 - SW_AGENT_NAME=e2e-service-consumer - PROVIDER_URL=http://gateway depends_on: oap1: condition: service_healthy gateway: image: nginx:1.13.12 expose: - 80 networks: - e2e volumes: - ./gateway.conf:/etc/nginx/conf.d/api.conf:ro depends_on: provider1: condition: service_healthy provider2: condition: service_healthy restart: on-failure networks: e2e: