druid/integration-tests-ex/cases/cluster/Common/druid.yaml

178 lines
4.4 KiB
YAML

# 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.2"
# IP address ranges:
# 172.172.172.2: zookeeper + kafka (dockerfile depends on this)
# 172.172.172.3: metadata store
# 172.172.172.10-19: overlord
# 172.172.172.20-29: coordinator
# 172.172.172.30-39: historicals
# 172.172.172.40-49: middle managers
# 172.172.172.50-59: indexers
# 172.172.172.60-69: brokers
# 172.172.172.70-79: routers
# 172.172.172.101+: hadoop, other supporting infra
#
# See https://docs.docker.com/compose/networking/
# Key things to know:
# * The containers communicate using the Compose network.
# * Containers use service name as the host, container port as port
# * Ports are also exposed to the host: "host:container", use the
# host port to connect from the local machine (outside of a container).
#
# TODO: The static IPs should not be required. Remove?
networks:
druid-it-net:
name: druid-it-net
ipam:
config:
- subnet: 172.172.172.0/24
services:
overlord:
image: ${DRUID_IT_IMAGE_NAME}
container_name: overlord
networks:
druid-it-net:
ipv4_address: 172.172.172.10
ports:
- 8090:8090
- 8290:8290
- 5009:8000
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/overlord.env
- ${OVERRIDE_ENV}
coordinator:
image: ${DRUID_IT_IMAGE_NAME}
container_name: coordinator
networks:
druid-it-net:
ipv4_address: 172.172.172.20
ports:
- 8081:8081
- 8281:8281
- 5006:8000
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/coordinator.env
- ${OVERRIDE_ENV}
historical:
image: ${DRUID_IT_IMAGE_NAME}
container_name: historical
networks:
druid-it-net:
ipv4_address: 172.172.172.30
ports:
- 8083:8083
- 8283:8283
- 5007:8000
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/historical.env
- ${OVERRIDE_ENV}
middlemanager:
image: ${DRUID_IT_IMAGE_NAME}
container_name: middlemanager
networks:
druid-it-net:
ipv4_address: 172.172.172.40
ports:
- 5008:8000
- 8091:8091
- 8291:8291
- 8100:8100
- 8101:8101
- 8102:8102
- 8103:8103
- 8104:8104
- 8105:8105
- 8300:8300
- 8301:8301
- 8302:8302
- 8303:8303
- 8304:8304
- 8305:8305
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/middlemanager.env
- ${OVERRIDE_ENV}
indexer:
image: ${DRUID_IT_IMAGE_NAME}
container_name: indexer
networks:
druid-it-net:
ipv4_address: 172.172.172.50
ports:
- 5008:8000
- 8091:8091
- 8291:8291
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/indexer.env
- ${OVERRIDE_ENV}
broker:
image: ${DRUID_IT_IMAGE_NAME}
container_name: broker
networks:
druid-it-net:
ipv4_address: 172.172.172.60
ports:
- 5005:8000
- 8082:8082
- 8282:8282
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/broker.env
- ${OVERRIDE_ENV}
router:
image: ${DRUID_IT_IMAGE_NAME}
container_name: router
networks:
druid-it-net:
ipv4_address: 172.172.172.70
ports:
- 5004:8000
- 8888:8888
- 9088:9088
volumes:
- ${SHARED_DIR}:/shared
env_file:
- environment-configs/common.env
- environment-configs/router.env
- ${OVERRIDE_ENV}