# 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 - cluster.routing.allocation.disk.threshold_enabled=false healthcheck: test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9200"] interval: 5s timeout: 60s retries: 120 oap1: extends: file: ../base-compose.yml service: oap environment: SW_CLUSTER: zookeeper SW_STORAGE: elasticsearch JAVA_OPTS: >- -javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap1,destfile=/jacoco/oap1.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.* -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 volumes: - ./gateways.yml:/skywalking/config/gateways.yml depends_on: zk: condition: service_healthy es: condition: service_healthy oap2: extends: file: ../base-compose.yml service: oap environment: SW_CLUSTER: zookeeper SW_STORAGE: elasticsearch JAVA_OPTS: >- -javaagent:/jacoco/jacocoagent.jar=classdumpdir=/jacoco/classes/oap2,destfile=/jacoco/oap2.exec,includes=org.apache.skywalking.*,excludes=org.apache.skywalking.oap.query.*:org.apache.skywalking.oap.server.core.query.* -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 volumes: - ./gateways.yml:/skywalking/config/gateways.yml depends_on: zk: condition: service_healthy es: condition: service_healthy oap1: condition: service_healthy ui: extends: file: ../base-compose.yml service: ui environment: - SW_OAP_ADDRESS=oap1:12800,oap2:12800 depends_on: oap1: condition: service_healthy oap2: condition: service_healthy provider1: extends: file: ../base-compose.yml service: provider environment: SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap1:11800 SW_AGENT_NAME: e2e-service-provider depends_on: oap1: condition: service_healthy provider2: extends: file: ../base-compose.yml service: provider environment: SW_AGENT_COLLECTOR_BACKEND_SERVICES: oap2:11800 SW_AGENT_NAME: e2e-service-provider depends_on: oap2: condition: service_healthy consumer: extends: file: ../base-compose.yml service: consumer 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: