# 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: ~
fullHostnameOverride: ~

# 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
  # NOTE this is needed only in case you need to connect to an external ONOS,
  # if you want to connect to an ONOS installed via voltha-infra please refer to the onos_classic field in this config
  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'
  stack_id: "{{ .Values.global.stack_name }}"
  topics:
    core_topic: "{{ .Values.global.stack_name }}_rwcore"
    event_topic: "voltha.events"

ofagent:
  log_level: '{{ .Values.global.log_level }}'
  device_refresh_interval: '15s'

# 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.6.5{{- end }}{{- else }}1.6.5{{- 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.9.3{{- end }}{{- else }}2.9.3{{- end }}'
    pullPolicy: '{{ .Values.global.image_pullPolicy }}'

ingress:
  enabled: false
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/backend-protocol: "GRPC"
    nginx.ingress.kubernetes.io/grpc-backend: "true"
  enableVirtualHosts: false
  baseHostname: local
  hosts:
    - host:
      paths:
        - "/voltha.VolthaService/"
  tls: []

# ofAgent needs to connect to multiple instances of ONOS.
onos_classic:
  onosOfPort: 6653
  replicas: 1

resources:
  rw_core:
    requests:
      cpu: 500m
      memory: 100Mi
    limits:
      cpu: ~
      memory: ~
  ofagent:
    requests:
      cpu: 300m
      memory: 50Mi
    limits:
      cpu: ~
      memory: ~
