---
# Copyright 2018-2024 Open Networking Foundation (ONF) and the ONF Contributors
# 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'

networks:
  default:
    driver: bridge

services:

  zookeeper:
    image: "wurstmeister/zookeeper:latest"
    environment:
      SERVICE_2181_NAME: "zookeeper"
    ports:
    - 2181:2181
    networks:
    - default
    restart: unless-stopped


  kafka:
    image: "wurstmeister/kafka:2.11-2.0.1"
    environment:
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://${DOCKER_HOST_IP}:9092
      KAFKA_LISTENERS: PLAINTEXT://:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
      SERVICE_9092_NAME: "kafka"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
     - 9092:9092
    networks:
    - default
    restart: unless-stopped


  etcd:
    image: "quay.io/coreos/etcd:v3.4.1"
    command: [
      "etcd",
      "--name=etcd0",
      "--advertise-client-urls=http://${DOCKER_HOST_IP}:2379,http://${DOCKER_HOST_IP}:4001",
      "--listen-client-urls=http://0.0.0.0:2379,http://0.0.0.0:4001",
      "--initial-advertise-peer-urls=http://${DOCKER_HOST_IP}:2380",
      "--listen-peer-urls=http://0.0.0.0:2380",
      "--initial-cluster-token=etcd-cluster-1",
      "--initial-cluster=etcd0=http://${DOCKER_HOST_IP}:2380",
      "--initial-cluster-state=new"
    ]
    ports:
    - "2379:2379"
    - 2380
    - 4001
    networks:
    - default
    restart: unless-stopped


  rw_core:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-rw-core:${DOCKER_TAG}"
    entrypoint:
      - /app/rw_core
      - -kv_store_type=etcd
      - -kv_store_address=${DOCKER_HOST_IP}:2379
      - -banner=true
      - -kafka_adapter_address=${DOCKER_HOST_IP}:9092
      - -kafka_cluster_address=${DOCKER_HOST_IP}:9092
      - -rw_core_topic=rwcore
      - -in_competing_mode=false
      - -log_level=DEBUG
    volumes:
      - "/var/run/docker.sock:/tmp/docker.sock"
    ports:
      - 50057:50057
    networks:
      - default
    restart: unless-stopped


  ofagent:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-ofagent-go:${DOCKER_TAG}"
    command: [
      "/app/ofagent",
      "--controller=${DOCKER_HOST_IP}:6653",
      "--voltha=${DOCKER_HOST_IP}:50057",
      "--log_level=DEBUG"
    ]
    volumes:
    - "/var/run/docker.sock:/tmp/docker.sock"
    networks:
    - default
    restart: unless-stopped


  onos:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-onos:${DOCKER_TAG}"
    ports:
    - "8101:8101" # ssh
    - "6653:6653" # OF
    - "8181:8181" # UI
    environment:
      ONOS_APPS: 'drivers,openflow-base'
    volumes:
    - "/var/run/docker.sock:/tmp/docker.sock"
    - "./network-cfg.json:/root/onos/config/network-cfg.json"
    networks:
    - default
    restart: unless-stopped


  adapter_openolt:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openolt-adapter:${DOCKER_TAG}"
    command: [
      "/app/openolt",
      "--kafka_adapter_address=${DOCKER_HOST_IP}:9092",
      "--kafka_cluster_address=${DOCKER_HOST_IP}:9092",
      "--core_topic=rwcore",
      "--kv_store_address=${DOCKER_HOST_IP}:2379",
      "--log_level=DEBUG"
    ]
    ports:
      - "50062:50062"
    networks:
      - default
    restart: unless-stopped


  adapter_openonu:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-openonu-adapter:${DOCKER_TAG}"
    command: [
      "/voltha/adapters/brcm_openomci_onu/main.py",
      "--name=brcm_openomci_onu",
      "--kafka_adapter=${DOCKER_HOST_IP}:9092",
      "--kafka_cluster=${DOCKER_HOST_IP}:9092",
      "--backend=etcd",
      "--etcd=${DOCKER_HOST_IP}:2379",
      "--core_topic=rwcore",
      "--log_level=DEBUG"
    ]
    networks:
    - default
    restart: unless-stopped
