---
# 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-bbsim.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



  bbsim:
    image: "${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG}"
    privileged: true
    command: [
      "./bbsim",
      "-logLevel",
      "debug",
      "-auth",
      "-dhcp",
      "-pon",
      "1",
      "-onu",
      "1"
    ]
    ports:
      - "50060:50060"
      - "50074:50074"
    networks:
      - default
    restart: unless-stopped


  radius:
    image: "tpdock/freeradius:2.2.9"
    environment:
      RADIUS_LISTEN_IP: "*"
      USERS_FILE: "/etc/raddb/users"
      RADIUS_CLIENTS: "SECRET@0.0.0.0/0"
    volumes:
      - "./radius-clients.conf:/etc/raddb/clients.conf"
      - "./radius-users.conf:/etc/raddb/users"
    ports:
      - "1812:1812/udp"
      - "1813:1813"
      - "18120:18120"
    networks:
      - default
    restart: unless-stopped
