| # | |
| # 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: | |
| collector: | |
| extends: | |
| service: collector | |
| file: ../../docker-compose.base.yml | |
| mysql: | |
| image: mysql:5.7 | |
| hostname: mysql | |
| ports: | |
| - 3306:3306 | |
| - 33060:33060 | |
| environment: | |
| - MYSQL_ROOT_PASSWORD=root | |
| - MYSQL_DATABASE=test | |
| healthcheck: | |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306"] | |
| interval: 5s | |
| timeout: 60s | |
| retries: 120 | |
| networks: | |
| - beyond | |
| provider: | |
| extends: | |
| service: agent | |
| file: ../../docker-compose.base.yml | |
| ports: | |
| - 9091:9091 | |
| volumes: | |
| - .:/app | |
| # required external dependency for mysql-client | |
| command: ['bash', '-c', 'apt-get install -y python3-dev default-libmysqlclient-dev && pip install flask && pip install -r /app/requirements.txt && sw-python run python3 /app/services/provider.py'] | |
| depends_on: | |
| collector: | |
| condition: service_healthy | |
| mysql: | |
| condition: service_healthy | |
| healthcheck: | |
| test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9091"] | |
| interval: 5s | |
| timeout: 60s | |
| retries: 120 | |
| environment: | |
| SW_AGENT_SERVICE_NAME: provider | |
| SW_AGENT_LOGGING_LEVEL: DEBUG | |
| SW_AGENT_SQL_PARAMETERS_LENGTH: 512 | |
| consumer: | |
| extends: | |
| service: agent | |
| file: ../../docker-compose.base.yml | |
| ports: | |
| - 9090:9090 | |
| volumes: | |
| - .:/app | |
| command: ['bash', '-c', 'pip install flask && sw-python run python3 /app/services/consumer.py'] | |
| depends_on: | |
| collector: | |
| condition: service_healthy | |
| provider: | |
| condition: service_healthy | |
| environment: | |
| SW_AGENT_SERVICE_NAME: consumer | |
| SW_AGENT_LOGGING_LEVEL: DEBUG | |
| networks: | |
| beyond: |