# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

# Default values for all Aether Helm charts.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

global:
  fullnameOverride: "onos"
  nameOverride: ""
  image:
    registry: ""
    tag: ""
  store:
    consensus:
      enabled: true
      name: ""
      image:
        registry: ""
        repository: atomix/atomix-raft-storage-node
        tag: ""
        pullPolicy: IfNotPresent
        pullSecrets: []
      clusters: 1
      replicas: 1
      partitions: 1
      raft: {}
      persistence:
        storageClass: ""
        storageSize: 1Gi

import:
  onos-topo:
    enabled: true
  onos-config:
    enabled: true
  onos-gui:
    enabled: false
  onos-cli:
    enabled: true
  aether-roc-api:
    enabled: true
  aether-roc-websocket:
    enabled: true
  aether-roc-gui:
    v3:
      enabled: false
    v4:
      enabled: true
  sdcore-adapter:
    v3:
      enabled: false
    v4:
      enabled: true
  subscriber-proxy:
    enabled: true
  sdcore-test-dummy:
    enabled: true
  grafana:
    enabled: true #also enable the proxy below
  prometheus:
    enabled: true #also enable the proxy below

# ONOS-TOPO
onos-topo:
  store:
    consensus:
      enabled: false

# ONOS-GUI
onos-gui: {}

# ONOS-CLI
onos-cli: {}

# Aether ROC API
aether-roc-api: {}

# Aether ROC GUI
aether-roc-gui:
  websocket:
    proxyEnabled: true
  grafana:
    proxyEnabled: true
    service: aether-roc-umbrella-grafana # the grafana hostname - use FQDN for other namespaces
  prometheus:
    proxyEnabled: true
    service: aether-roc-umbrella-prometheus-server

aether-roc-gui-v4:
  websocket:
    proxyEnabled: true
  grafana:
    proxyEnabled: true
    service: aether-roc-umbrella-grafana # the grafana hostname - use FQDN for other namespaces
  prometheus:
    proxyEnabled: true
    service: aether-roc-umbrella-prometheus-server

# SD-Core Adapter
sdcore-adapter:
  nameOverride: sdcore-adapter-v3
  fullnameOverride: sdcore-adapter-v3
  prometheusEnabled: false

sdcore-adapter-v4:
  prometheusEnabled: false

# Subscriber Proxy
subscriber-proxy:
  nameOverride: subscriber-proxy
  fullnameOverride: subscriber-proxy
  prometheusEnabled: false

grafana:
  orgs:
    acme:
      vcs:
        - acme-chicago-robots
      devicegroup:
        - acme-chicago-robots:
            production: "0-3"
            warehouse: "10-12"
    starbucks:
      vcs:
        - starbucks-newyork-cameras
        - starbucks-seattle-cameras
      devicegroup:
        - starbucks-newyork-cameras:
            front: "40-41"
            store: "50-55"
        - starbucks-seattle-pos:
            tills: "20-22"
            store: "30-34"
        - starbucks-seattle-cameras:
            counter: "0-3"
            store: "10-14"

  tidyUpPostInstall: true
  grafana.ini:
    log:
      level: debug
    server:
      domain: aether-roc-gui
      root_url: "%(protocol)s://%(domain)s:%(http_port)s/grafana/"
      serve_from_sub_path: true
    auth.anonymous:
      enabled: true
      hide_version: true
# Commented out for the moment - see aether-roc-gui/docs/grafana.md
#    auth.jwt:
#      enabled: true
#      header_name: X-JWT-Assertion
#      username_claim: name
#      email_claim: email
#      jwk_set_url: https://dex.aetherproject.org/dex/keys
#      cache_ttl: 60m
#    auth.generic_oauth:
#      enabled: true
#      client_id: aether-roc-gui
##      client_secret: YWV0aGVyLXJvYy1ndWkK
#      scopes: "openid profile email groups"
#      empty_scopes: false
#      auth_url: "http://dex-ldap-umbrella:5556/auth"
#      token_url: "http://dex-ldap-umbrella:5556/token"
#      api_url: "http://dex-ldap-umbrella:5556/userinfo"
#      allowed_domains: opennetworking.org
#      allow_sign_up: true

prometheus:
  pushgateway:
    enabled: false
  nodeExporter:
    enabled: false
  kubeStateMetrics:
    enabled: false
  alertmanager:
    configMapOverrideName: alertmanager
    webhook_url: "http://aether-roc-websocket/webhook"
  serverFiles:
    alerting_rules.yml:
     groups:
       - name: UeAlerts
         rules:
           - alert: UeThroughputLow
             expr: ue_throughput < 9000
             for: 1m
             labels:
               severity: info
             annotations:
               description: 'UE {{ $labels.id }} on VCS {{ $labels.slice }} throughput has been low for more than 1 minutes.'
               summary: 'UE {{ $labels.id }} on VCS {{ $labels.slice }} throughput low'
           - alert: UeLatencyHigh
             expr: ue_latency > 8
             for: 1m
             labels:
               severity: info
             annotations:
               description: 'UE {{ $labels.id }} on VCS {{ $labels.slice }} latency has been high for more than 1 minutes.'
               summary: 'UE {{ $labels.id }} on VCS {{ $labels.slice }} latency high'
       - name: VcsAlerts
         rules:
           - alert: VcsThroughputLow
             expr: vcs_throughput < 9000
             for: 1m
             labels:
               severity: info
             annotations:
               description: 'VCS {{ $labels.vcs_id }} throughput has been low for more than 1 minutes.'
               summary: 'VCS {{ $labels.vcs_id }} throughput low'
           - alert: VcsLatencyHigh
             expr: vcs_latency > 30
             for: 1m
             labels:
               severity: warn
             annotations:
               description: 'VCS {{ $labels.vcs_id }} latency has been high for more than 1 minutes.'
               summary: 'VCS {{ $labels.vcs_id }} latency high'
           - alert: VcsJitterHigh
             expr: vcs_jitter > 8
             for: 1m
             labels:
               severity: page
             annotations:
               description: 'VCS {{ $labels.vcs_id }} jitter has been high for more than 1 minutes.'
               summary: 'VCS {{ $labels.vcs_id }} jitter high'
    prometheus.yml:
      scrape_configs:
        - job_name: sdcore-exporter
          scrape_interval: 2s
          static_configs:
            - targets:
                - sdcore-adapter-v3-exporter:2112

# SD-Core Test Dummy
# proxy_pass has to be added or nginx will not log the $request_body
sdcore-test-dummy:
  service:
    type: ClusterIP
  existingServerBlockConfigmap: aether-roc-umbrella-sdcore-test-dummy

# ONOS-CONFIG
onos-config:
  store:
    consensus:
      enabled: false
  models:
    aether:
      v3:
        enabled: true
      v4:
        enabled: true
  plugin:
    compiler:
      target: ""
  openpolicyagent:
    enabled: true
    regoConfigMap: aether-roc-umbrella-opa-rbac
