# 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP} 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} environment: - DRUID_INTEGRATION_TEST_GROUP=${DRUID_INTEGRATION_TEST_GROUP}