kafka:
    url: 127.0.0.1:9092  # or comma seperated list of multiple hosts
    group: monasca-notification
    alarm_topic: alarm-state-transitions
    notification_topic: alarm-notifications
    notification_retry_topic: retry-notifications
    periodic:
        60: 60-seconds-notifications

    max_offset_lag: 600  # In seconds, undefined for none

database:
#  repo_driver: monasca_notification.common.repositories.postgres.pgsql_repo:PostgresqlRepo
#  repo_driver: monasca_notification.common.repositories.orm.orm_repo:OrmRepo
  repo_driver: monasca_notification.common.repositories.mysql.mysql_repo:MysqlRepo
  orm:
    url: 'postgres://notification:password@127.0.0.1:5432/mon'

mysql:
  host: 127.0.0.1
  port: 3306
  user: notification
  passwd: password
  db: mon
  # A dictionary set according to the params defined in, http://dev.mysql.com/doc/refman/5.0/en/mysql-ssl-set.html
  #    ssl: {'ca': '/path/to/ca'}

postgresql:
  user: notification
  password: password
  database: mon
  port: 5432
  host: 127.0.0.1

notification_types:
    plugins:
     - monasca_notification.plugins.hipchat_notifier:HipChatNotifier
     - monasca_notification.plugins.slack_notifier:SlackNotifier
     - monasca_notification.plugins.jira_notifier:JiraNotifier

    email:
        server: 127.0.0.1
        port: 25
        user:
        password:
        timeout: 60
        from_addr: monasca-notification@none.invalid
        grafana_url: 'http://127.0.0.1:3000'

    webhook:
        timeout: 5

    pagerduty:
        timeout: 5
        url: "https://events.pagerduty.com/generic/2010-04-15/create_event.json"

    hipchat:
        timeout: 5
        ca_certs: "/etc/ssl/certs/ca-certificates.crt"
        insecure: False
        proxy:  https://myproxy.corp.invalid:8080

    slack:
        timeout: 5
        ca_certs: "/etc/ssl/certs/ca-certificates.crt"
        insecure: False
        proxy:  https://myproxy.corp.invalid:8080

    jira:
        user: username
        password: password

processors:
    alarm:
        number: 2
        ttl: 14400  # In seconds, undefined for none. Alarms older than this are not processed
    notification:
        number: 4

retry:
    interval: 30
    max_attempts: 5

queues:
    alarms_size: 256
    finished_size: 256
    notifications_size: 256
    sent_notifications_size: 50  # limiting this size reduces potential # of re-sent notifications after a failure

zookeeper:
    url: 127.0.0.1:2181  # or comma seperated list of multiple hosts
    notification_path: /notification/alarms
    notification_retry_path: /notification/retry
    periodic_path:
        60: /notification/60_seconds

logging: # Used in logging.dictConfig
    # This sets logging.raiseExcetpions. It is recommended to leave this set to False.
    # See https://docs.python.org/2/howto/logging.html#exceptions-raised-during-logging
    raise_exceptions: False
    version: 1
    disable_existing_loggers: False
    formatters:
        default:
            format: "%(asctime)s %(levelname)s %(name)s %(message)s"
    handlers:
        console:
            class: logging.StreamHandler
            formatter: default
        file:
            class : logging.handlers.RotatingFileHandler
            filename: /tmp/notification.log
            formatter: default
            maxBytes: 10485760  # Rotate at file size ~10MB
            backupCount: 5  # Keep 5 older logs around
    loggers:
        kazoo:
            level: WARN
        kafka:
            level: WARN
        statsd:
            level: WARN
    root:
        handlers:
            - console
        level: DEBUG
statsd:
    host: 'localhost'
    port: 8125

keystone:
    auth_required: False
    auth_url: 'http://127.0.0.1/identity/v3'
    username: 'admin'
    password: 'password'
    project_name: 'admin'
    user_domain_name: 'default'
    project_domain_name: 'default'
    auth_type: 'password'
