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

  fluentd:
    image: "${REGISTRY}${REPOSITORY}voltha-fluentd:${TAG:-latest}"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: 3
    deploy:
      mode: replicated
      replicas: 2
      restart_policy:
        condition: on-failure
    environment:
        SERVICE_24224_NAME: "fluentd-intake"
        FLUENTD_CONF: fluent.conf
    networks:
      - voltha-net
    ports:
    - "24224"


networks:
  voltha-net:
    external:
      name: voltha_net

