##
# Copyright 2018 Telefonica S.A.
#
# 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.
##

# TODO currently is a pure yaml format. Consider to change it to [ini] style with yaml inside to be coherent with other modules

#[global]
global:
    loglevel: DEBUG
    # logfile:  /app/log  # or /var/log/osm/lcm.log
    # nologging: True     # do no log to stdout/stderr

#[timeout]
timeout:
    # ns_deploy: 7200     # total deploy timeout for a ns 2 hours
    # nsi_deploy: 7200     # total deploy timeout for a nsi 2 hours

#[RO]
RO:
    host:   ro          # hostname or IP
    port:   9090
    tenant: osm
    # loglevel: DEBUG
    # logfile:  /var/log/osm/lcm-ro.log

#[VCA]
VCA:
    host:   vca
    port:   17070
    user:   admin
    secret: secret
    helmpath:    /usr/local/bin/helm
    kubectlpath: /usr/bin/kubectl
    jujupath:    /usr/local/bin/juju
    # pubkey: pubkey
    # cacert: cacert
    # apiproxy: apiproxy

    # loglevel: DEBUG
    # logfile:  /var/log/osm/lcm-vca.log

#[database]
database:
    driver: mongo       # mongo or memory
    host:   mongo       # hostname or IP
    port:   27017
    name:   osm
    # user:   user
    # password:   password
    # commonkey: "XXXXXX" # password used for encryption of sensible information
    # loglevel: DEBUG
    # logfile:  /var/log/osm/lcm-database.log

#[storage]
storage:
    driver: local       # local filesystem
    # for local provide file path
    path:   /app/storage
    # loglevel: DEBUG
    # logfile:  /var/log/osm/lcm-storage.log

#[message]
message:
    driver:   kafka       # local or kafka
    # for local provide file path
    path:     /app/storage/kafka
    # for kafka provide host and port
    host:     kafka
    port:     9092
    # loglevel: DEBUG
    # logfile:  /var/log/osm/lcm-message.log
    group_id: lcm-server
