blob: 66d49dddbe116af6c55566bae1a5a1351b43edff [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:
collector:
extends:
service: collector
file: ../../docker-compose.base.yml
rabbitmq-server:
image: rabbitmq:3.8.18
hostname: rabbitmq-server
ports:
- 5672:5672
- 15672:15672
environment:
- RABBITMQ_DEFAULT_PASS=admin
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_VHOST=/
networks:
- beyond
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/5672"]
interval: 5s
timeout: 60s
retries: 120
producer:
extends:
service: agent
file: ../../docker-compose.base.yml
ports:
- 9090:9090
volumes:
- .:/app
command: ['bash', '-c', 'pip install flask && pip install -r /app/requirements.txt && sw-python run python3 /app/services/producer.py']
healthcheck:
test: ["CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/9090"]
interval: 5s
timeout: 60s
retries: 120
depends_on:
collector:
condition: service_healthy
rabbitmq-server:
condition: service_healthy
consumer:
condition: service_healthy
environment:
SW_AGENT_NAME: producer
SW_AGENT_LOGGING_LEVEL: INFO
consumer:
extends:
service: agent
file: ../../docker-compose.base.yml
ports:
- 9091:9091
volumes:
- .:/app
command: ['bash', '-c', 'pip install flask && pip install -r /app/requirements.txt && sw-python run python3 /app/services/consumer.py']
healthcheck:
test: ["CMD", "bash", "-c", "ps -ef | grep /app/services/consumer | grep -v grep"]
interval: 5s
timeout: 60s
retries: 120
depends_on:
collector:
condition: service_healthy
rabbitmq-server:
condition: service_healthy
environment:
SW_AGENT_NAME: consumer
SW_AGENT_LOGGING_LEVEL: INFO
networks:
beyond: