# Copyright 2019-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.
---
nameOverride: ~
fullNameOverride: ~

# Default Values
# The following are the default values used for every container in the
# template.
global:
  stack_name: voltha
  log_level: "WARN"
  image_registry: ''
  image_org: "voltha/"
  image_tag: ~
  image_pullPolicy: "Always"
  rw_core:
    timeout: "10s"
  # Configure Log Correlation
  log_correlation:
    enabled: true
  # Configure Tracing
  tracing:
    enabled: true

# Default security context under which the containers run
securityContext:
  enabled: true
  fsGroup: 1001
  runAsUser: 1001
  runAsGroup: 1001

# Define connectivity to services on which VOLTHA depends
services:
  kafka:
    adapter:
      address: kafka:9092
    cluster:
      address: kafka:9092

  # Define connectivity to etcd
  etcd:
    address: etcd:2379

  # Define Tracing Agent connection details
  tracing_agent:
    address: jaeger-agent:6831

  # Define the list of controllers to connect to
  controller:
    - address: onos-openflow:6653

# Expose the golang pprof webserver, if enabled
profiler:
  enabled: false

# Define the replica count for everything
replicas:
  # For R/W cores the templates translate the number of replicas
  # into the number of RW core pairs with two pods per pair
  rw_core: 1

  # For everything else replicas are replicas
  ofagent: 1

rw_core:
  log_level: '{{ .Values.global.log_level }}'
  core_timeout: '{{ .Values.global.rw_core.timeout }}'
  timeout_long_request: '{{ .Values.global.rw_core.timeout }}'
  timeout_request: '{{ .Values.global.rw_core.timeout }}'
  kv_store_data_prefix: 'service/{{ .Values.global.stack_name }}_voltha'
  topics:
    core_topic: "{{ .Values.global.stack_name }}_rwcore"

ofagent:
  log_level: '{{ .Values.global.log_level }}'

# Define Docker images to be used
images:
  ofagent:
    registry: '{{ .Values.global.image_registry }}'
    repository: '{{ .Values.global.image_org }}voltha-ofagent-go'
    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}1.4.2{{- end }}{{- else }}1.4.2{{- end }}'
    pullPolicy: '{{ .Values.global.image_pullPolicy }}'

  rw_core:
    registry: '{{ .Values.global.image_registry }}'
    repository: '{{ .Values.global.image_org }}voltha-rw-core'
    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}2.6.3{{- end }}{{- else }}2.6.3{{- end }}'
    pullPolicy: '{{ .Values.global.image_pullPolicy }}'
