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

global:
  registry: ''

images:
  kpi_exporter:
    repository: 'opencord/kafka-topic-exporter'
    tag: '1.2.6'
    pullPolicy: 'Always'

kpi_exporter:
  enabled: true
  fullnameOverride: ''
  nameOverride: ''
  nem_kpi_exporter_nodePort: 31080
  nem_kpi_exporter_replicas: 2
  kpi_broker: cord-kafka:9092
  topics:
    - voltha.kpis
    - onos.aaa.stats.kpis
    - onos.kpis

prometheus:
  alertmanager:
    persistentVolume:
      enabled: false
  server:
    persistentVolume:
      enabled: false
    service:
      type: NodePort
      nodePort: 31301
    # The labels to add to any time series or alerts when communicating with
    # external systems (federation, remote storage, Alertmanager).
    #global:
    #  external_labels:
    #    datacenter: onf-menlo

  extraScrapeConfigs: |
    - job_name: 'xos-core'
      metrics_path: /metrics
      scrape_interval: 15s
      static_configs:
        - targets:
            - xos-core-prometheus:8000
    - job_name: 'voltha-kpi'
      metrics_path: /metrics
      scrape_interval: 15s
      static_configs:
        - targets:
            - nem-monitoring-nem-kpi-exporter:8080
    - job_name: 'node-exporter'
      metrics_path: /metrics
      scrape_interval: 15s
      static_configs:
        - targets:
          - nem-monitoring-prometheus-node-exporter:9100

grafana:
  adminUser: admin
  adminPassword: strongpassword
  service:
    type: NodePort
    nodePort: 31300
  sidecar:
    dashboards:
      enabled: true
      label: grafana_dashboard
  datasources:
    datasources.yaml:
      apiVersion: 1
      datasources:
        - name: Prometheus
          type: prometheus
          url: http://nem-monitoring-prometheus-server
          access: proxy
          isDefault: true

# Configure Grafana dashboard to import
dashboards:
  k8s: true
  nodeExporter: true
  xos: true
  onos: true
  aaa: true
  voltha: true
  voltha2: false
  omec: false
  aether: false
  bng: false
