---
# 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_ponsim_olt:
    image: "${REGISTRY}${REPOSITORY}voltha-adapter-ponsim-olt${TAG}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    command: [
      "/voltha/python/adapters/ponsim_olt/main.py",
      "-v",
      "--name=ponsim_olt",
      "--kafka_adapter=${DOCKER_HOST_IP}:9092",
      "--kafka_cluster=${DOCKER_HOST_IP}:9092",
      "--core_topic=rwcore"
    ]
    networks:
    - default

  adapter_ponsim_onu:
    image: "${REGISTRY}${REPOSITORY}voltha-adapter-ponsim-onu${TAG}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    command: [
      "/voltha/python/adapters/ponsim_onu/main.py",
      "-v",
      "--name=ponsim_onu",
      "--kafka_adapter=${DOCKER_HOST_IP}:9092",
      "--kafka_cluster=${DOCKER_HOST_IP}:9092",
      "--core_topic=rwcore"
    ]
    networks:
    - default

networks:
  default:
    driver: bridge
