#
# This Docker stackfile deploys a single onos container and freeradius.
#
# The stackfile assumes that overlay network 'voltha_net' has already been
# created. To deploy the stack, issue the command:
#
#     docker stack deploy -c docker-compose-onos-swarm.yml onos
#
version: "3.2"
services:
    freeradius:
        deploy:
            replicas: 1
        image: "marcelmaatkamp/freeradius"
        logging:
            driver: "json-file"
            options:
                max-size: "10m"
                max-file: 3
        ports:
            - "1812:1812/udp"
            - "1813:1813"
            - "18120:18120"
        volumes:
            - /cord/incubator/voltha/compose/data/clients.conf:/etc/raddb/clients.conf
            - /cord/incubator/voltha/compose/data/users:/etc/raddb/users
        networks:
            - net
            - voltha-net

    onos_cluster_manager:
        image: "voltha/unum"
        deploy:
            replicas: 1
            placement:
                constraints:
                    - node.role == manager
        environment:
            PERIOD: "10s"
            LOG_LEVEL: "debug"
            ORCHESTRATION: "swarm://"
            LABELS: "org.voltha.onos.cluster:true"
            NETWORK: "org.voltha.onos.cluster:true"
        networks:
            - net
            - voltha-net
        volumes:
            - /var/run/docker.sock:/var/run/docker.sock

    onos:
        deploy:
           replicas: 3
           labels:
               org.voltha.onos.cluster: "true"
        image: "cord/onos"
        logging:
            driver: "json-file"
            options:
                max-size: "10m"
                max-file: 3
        ports:
            - 8101:8101 # ssh
            - 6653:6653 # OF
            - 8181:8181 # UI
        environment:
            EXTRA_JAVA_OPTS: "-Donos.cluster.metadata.uri=http://onos_cluster_manager:5411/config/"
        networks:
            - net
            - voltha-net
networks:
    net:
        driver: overlay
        driver_opts:
           encrypted: "true"
        ipam:
            driver: default
            config:
                - subnet: 172.25.0.0/24
        labels:
            org.voltha.onos.cluster: "true"

    voltha-net:
        external:
            name: voltha_net
