# 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:

#
# Deploying a Fluentd cluster using this file assumes that overlay network 'voltha_net'
# has already been created. To deploy the fluentd cluster, issue the command:
#
#     docker stack deploy -c docker-compose-fluentd-cluster.yml fluentd
#
# This spins up two Fluentd Forwarders and one each Fluentd Aggregator-Active, Fluentd Aggregator-Standby.
# The forwards listens for voltha components logs on port 23224 and sends them towards Fluentd Aggregator. 
# Fluentd Aggregator writes them to their host mounted disk
#

  fluentdactv:
    image: "${REGISTRY}${REPOSITORY}voltha-fluentd:${TAG:-latest}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: 3
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
        FLUENTD_CONF: fluent-agg.conf
    networks:
      - voltha-net
    ports:
      - "24224"
    volumes:
      - ${VOLTHA_LOGS:-/var/log/voltha/logging_volume}:/fluentd/log

  fluentdstby:
    image: "${REGISTRY}${REPOSITORY}voltha-fluentd:${TAG:-latest}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: 3
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
        FLUENTD_CONF: fluent-agg.conf
    networks:
      - voltha-net
    ports:
      - "24224"
    volumes:
      - ${VOLTHA_LOGS:-/var/log/voltha/logging_volume}:/fluentd/log

networks:
  voltha-net:
    external:
      name: voltha_net

