# 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.
defaults:
  log_level: "WARN"
  image_registry: ''
  image_org: "voltha/"
  image_tag: ~
  image_pullPolicy: "Always"
  rw_core:
    timeout: "10s"
  topics:
    core_topic: "rwcore"

  # Define prefix path for etcd
  # If you're running multiple voltha stacks the this value
  # should be unique across the stacks.
  kv_store_data_prefix: "service/voltha"

# 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:
      service: kafka
      port: 9092
    cluster:
      service: kafka
      port: 9092

  # Define connectivity to etcd
  etcd:
    service: etcd
    port: 2379

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

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

# Define the recplica 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.defaults.log_level }}'
  core_timeout: '{{ .Values.defaults.rw_core.timeout }}'
  timeout_long_request: '{{ .Values.defaults.rw_core.timeout }}'
  timeout_request: '{{ .Values.defaults.rw_core.timeout }}'

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

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

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