---
# Copyright 2019 Ciena Corporation
#
# 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.

# IMAGE SELECTION
# ---------------
# By default no defaults are set and the image tags specified in the helm
# charts will be used. If you would like to use the images generated from the
# HEAD of the "master" git branches, then uncomment this below block and
# set "<VALUE>" to "master". Similarly, if you want to use the images
# generated from the HEAD of the "voltha-2.1" git branches, then uncomment
# this block and replace "<VALUE>" with "voltha-2.1".
defaults:
  image_tag: master
  image_pullPolicy: Always

private_etcd_cluster: false
private_kafka_cluster: false

# OPENONU-ADAPTER IMPLEMENTATION
# ------------------------------
# There are currently two implementations of OPENONU-ADAPTER: the original
# written in Python and the reimplementation written in Go. The variable
# `use_openonu_adapter_go` can be set to false to optionally use the old Py
# implementation. This is done by setting that value to `true`.
#
# Along with this change you will also may need to set the Docker image
# information below (search for START_OPENONU_ADAPTER_GO).
use_openonu_adapter_go: true

images:
  onos:
    repository: voltha/voltha-onos
    # IMAGE_SELECTION
    # ---------------
    # The helm chart used to deploy ONOS is the public ONOS helm chart so,
    # there is a need to specify the exact image repository and image tag.
    # If you would like to use the "master", "voltha-2.1", or other image
    # just replace the "tag" value below.
    tag: master

# IMAGE_SELECTION
# ---------------
# Below are a list of all the images utilized by kind-voltha. This list is
# provided as a conveinence if you would like to override on a per image
# basis. If you are using the defaults, master, or voltha-2.1 branch there
# is no need to utilize this list.
#  adapter_open_olt:
#    repository: voltha/voltha-openolt-adapter
#    tag: 2.1.1
#  adapter_open_onu:
#    repository: voltha/voltha-openonu-adapter
#    tag: 2.1.0
#  adapter_simulated_olt:
#    repository: voltha/voltha-adapter-simulated-olt
#    tag: 2.1.1
#  adapter_simulated_onu:
#    repository: voltha/voltha-adapter-simulated-onu
#    tag: 2.1.1
#  bbsim:
#    repository: voltha/bbsim
#    tag: master
#  ofagent:
#    repository: voltha/voltha-ofagent-go
#    tag: master
#  rw_core:
#    repository: voltha/voltha-rw-core
#    tag: 2.1.1
# START_OPENONU_ADAPTER_GO - Uncomment the following block to use the
# Go implementation of the openonu-adapter
#  adapter_open_onu_go:
#    repository: voltha-openonu-adapter-go
#    tag: master
# END_OPENONU_ADAPTER_GO

etcd:
  extraEnv:
    - name: ETCD_AUTO_COMPACTION_RETENTION
      value: "1"
    - name: ETCD_SNAPSHOT_COUNT
      value: "100000"
    - name: ETCD_HEARTBEAT_INTERVAL
      value: "100"
    - name: ETCD_ELECTION_TIMEOUT
      value: "1000"
    - name: ETCD_MAX_SNAPSHOTS
      value: "5"
    - name: ETCD_QUOTA_BACKEND_BYTES
      value: "0"
    - name: ETCD_MAX_REQUEST_BYTES
      value: "1572864"
    - name: ETCD_GRPC_KEEPALIVE_MIN_TIME
      value: "5s"
    - name: ETCD_GRPC_KEEPALIVE_TIMEOUT
      value: "5s"
    - name: ETCD_DEBUG
      value: "false"

kafka:
  zookeeper:
    persistence:
      enabled: false
  persistence:
    enabled: false
  envOverrides:
    KAFKA_LOG4J_ROOT_LOGLEVEL: ERROR
    KAFKA_TOOLS_LOG4J_LOGLEVEL: ERROR
    # yamllint disable-line rule:line-length
    KAFKA_LOG4J.LOGGERS: "kafka.zookeeper=ERROR,state.change.logger=ERROR,kafka=ERROR,kafka.controller=ERROR"
    KAFKA_LOG_RETENTION_HOURS: 1
    KAFKA_DEFAULT_REPLICATION_FACTOR: 1
    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

# voltha:
#   fullNameOverride: voltha

# open-olt:
#   fullNameOverride: voltha-adapter-openolt

# open-onu:
#   fullNameOverride: voltha-adapter-openonu

onos:
  image:
    repository: voltha/voltha-onos
    tag: master
    pullPolicy: Always
  onos_env:
    - name: POD_IP
      valueFrom:
      fieldRef:
        fieldPath: status.podIP
    - name: NAMESPACE
      valueFrom:
      fieldRef:
        fieldPath: metadata.namespace
    - name: ONOS_APPS
      value: "drivers,openflow-base,hostprovider"
  apps:
    - org.onosproject.lldpprovider
    - org.onosproject.openflow-base
    - org.onosproject.gui2
    - org.onosproject.drivers
    - org.onosproject.mcast
    - org.opencord.kafka
    - org.opencord.sadis
    - org.opencord.dhcpl2relay
    - org.opencord.igmpproxy
    - org.opencord.mcast
    - org.opencord.olt
    - org.opencord.aaa
  java_opts: >
    -XX:+UseG1GC
    -XX:MaxGCPauseMillis=200
    -XX:-UseContainerSupport
    -Dkaraf.log.console=INFO
    -Dds.lock.timeout.milliseconds=10000
  # No persistent volume in Atomix to have clean state for each re-deploy of ONOS
  atomix:
    persistence:
      enabled: false
    java_opts: >
      -Xmx2G
      -XX:-UseContainerSupport

# Customization for BBSIM
bbsim:
  nni: 1
  pon: 1
  onu: 1
  sadisFormat: "att"
  kafkaEventTopic: "bbsim"
  enableEvents: false

# Customization for BBSIM SADIS Servier
sadis:
  config:
    bbsim_sadis_server:
      sleep_time: 5s

# START EFK Setup to push voltha logs
# elasticstack config
# ref: https://github.com/elastic/helm-charts/tree/7.7.0/elasticsearch
elasticsearch:
  replicas: 1
  minimumMasterNodes: 1
  # set cpu and memory configuration
  resources:
    requests:
      cpu: "400m"
      memory: "1Gi"
    limits:
      cpu: "1000m"
      memory: "2Gi"
  # setup persistence volume.By default persistence volumeclaim is disabled
  volumeClaimTemplate:
    accessModes: ["ReadWriteOnce"]
    resources:
      requests:
        storage: 5Gi
  persistence:
    enabled: false
  # setup cluster health status as yellow
  clusterHealthCheckParams: "wait_for_status=yellow&timeout=1s"

# kibana config
# ref: https://github.com/elastic/helm-charts/tree/7.7.0/kibana
kibana:
  elasticsearchHosts: "http://elasticsearch-master:9200"

# fluentd-elasticsearch config
# ref: https://github.com/kiwigrid/helm-charts/tree/master/charts/fluentd-elasticsearch
fluentd-elasticsearch:
  elasticsearch:
    # set elasticsearch host
    hosts: ["elasticsearch-master:9200"]
    sslVerify: false

# Increase maxTraces to retain Traces for longer duration
# But tracing pod will consume more memory
tracing:
  maxTraces: 500000

# SHOCK THE MONKEY OR LET LOSE THE DOGS OF WAR
# The VOLTHA charts have support for adding extra labels to deployments and
# pods. These extra labels can be used to integrate with other utilities
# such as kube-monkey to add a bit of chaos to the cluster. Below are some
# settings that can be uncommented to opt-in VOLTHA deployments/pods to
# kube-monkey. For example, if you want ALL deployments and pods to opt-in
# then uncomment the `extra_deployment_labels` and `extra_pod_label` blocks.
# If you want to be more selected then comment the blocks that pertain to the
# targets you care about.

# extra_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# extra_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# rw_core_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# rw_core_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# ofagent_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# ofagent_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# openolt_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# openolt_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# openonu_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# openonu_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# simolt_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# simolt_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# simonu_deployment_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
#
# simonu_pod_labels:
#   kube-monkey/enabled: enabled
#   kube-monkey/identifier: monkey-victim
#   kube-monkey/mtbf: 1
#   kube-monkey/kill-mode: fixed
#   kube-monkey/kill-value: 1
