---
# Copyright 2018 the original author or authors.
#
# Licensed 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'
services:
  adapter_simulated_olt:
    image: "${REGISTRY}${REPOSITORY}voltha-adapter-simulated-olt${TAG}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    command: [
      "/app/simulated_olt",
      "--kafka_adapter_host=${DOCKER_HOST_IP}",
      "--kafka_adapter_port=9092",
      "--kafka_cluster_host=${DOCKER_HOST_IP}",
      "--kafka_cluster_port=9092",
      "--core_topic=rwcore",
      "--simulator_topic=simulated_olt",
      "--kv_store_host=${DOCKER_HOST_IP}",
      "--kv_store_port=2379",
      "--onu_number=4"
    ]
    networks:
    - default

  adapter_simulated_onu:
    image: "${REGISTRY}${REPOSITORY}voltha-adapter-simulated-onu${TAG}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    command: [
      "/app/simulated_onu",
      "--kafka_adapter_host=${DOCKER_HOST_IP}",
      "--kafka_adapter_port=9092",
      "--kafka_cluster_host=${DOCKER_HOST_IP}",
      "--kafka_cluster_port=9092",
      "--core_topic=rwcore",
      "--kv_store_host=${DOCKER_HOST_IP}",
      "--kv_store_port=2379",
      "--simulator_topic=simulated_onu",
    ]
    networks:
    - default


networks:
  default:
    driver: bridge
