# Copyright 2017-present Open Networking Foundation
#
# 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: '3'
services:
  cluster_manager:
    image: unum:latest
    networks:
      - control_net
    deploy:
      replicas: 1
      placement:
        constraints:
          - node.role == manager
    environment:
      PERIOD: "10s"
      LOG_LEVEL: "debug"
      LOG_FORMAT: "text"
      ORCHESTRATION: "swarm://"
      LABELS: "org.onosproject.cluster:true"
      NETWORK: "org.onosproject.cluster:true"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

  controller:
    image: onosproject/onos:1.10.9
    depends_on:
      - cluster_manager
    networks:
      - control_net
    ports:
      - 8101:8101
    deploy:
      replicas: 3
      labels:
        org.onosproject.cluster: "true"
    environment:
      EXTRA_JAVA_OPTS: "-Donos.cluster.metadata.uri=http://cluster_manager:5411/config/"

networks:
  control_net:
    driver: overlay
    labels:
      org.onosproject.cluster: "true"
