# 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-gui:
    v3:
      enabled: false
    v4:
      enabled: true
  sdcore-adapter:
    v3:
      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

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