# 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 overrides
global:
  voltha_release_name: voltha
  stack_name: voltha
  log_level: "WARN"
  image_registry: ""
  image_tag: ~
  image_org: "voltha/"
  image_pullPolicy: "Always"
  core_endpoint: "{{ .Values.global.voltha_release_name }}-{{ .Values.global.stack_name }}-core.{{ .Release.Namespace }}.svc:55558"
  # timeout for RPC request
  rpc_timeout: "10s"
  adapter_open_olt:
    timeout: "5s"
    heartbeat_check_interval: "15s"
    heartbeat_fail_interval: "31s"
    check_onu_exist_on_discovery: false

  #enable OMCC encryption
  omcc_encryption: false
  #enable ONU stats
  enable_onu_stats: false
  #enable GEM stats
  enable_gem_stats: false

  # Configure Log Correlation
  log_correlation:
    enabled: true

  # Configure Tracing
  tracing:
    enabled: true

# Probe values
probe:
  liveness:
    initial_delay_seconds: 3
    period_seconds: 3
  readiness:
    initial_delay_seconds: 3
    period_seconds: 3

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

# Node Affinity Configuration
nodeAffinityConfig:
  enabled: false
  node_label_key: "in-band"
  node_label_value: "yes"

# Define connectivity to required services
services:
  kafka:
    cluster:
      address: kafka:9092

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

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

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

# Define the replica count for everything
replicas:
  current_replica: 1
  total_replica: 1

adapter_open_olt:
  log_level: '{{ .Values.global.log_level }}'
  kv_store_timeout: '{{ .Values.global.adapter_open_olt.timeout }}'
  kv_store_data_prefix: 'service/{{ .Values.global.stack_name }}_voltha'
  heartbeat_check_interval: '{{ .Values.global.adapter_open_olt.heartbeat_check_interval }}'
  heartbeat_fail_interval: '{{ .Values.global.adapter_open_olt.heartbeat_fail_interval }}'
  check_onu_exist_on_discovery: '{{ .Values.global.adapter_open_olt.check_onu_exist_on_discovery }}' 
  rpc_timeout: '{{ .Values.global.rpc_timeout }}'
  endpoints:
    # core_endpoint: '{{ .Values.global.adapter_open_olt.core_endpoint }}'
    # adapter_endpoint: '{{ template "fullname" . }}-api:55560'
    address: '{{ template "fullname" . }}-api'
    port: 50060
  topics:
    event_topic: "voltha.events"

images:
  adapter_open_olt:
    registry: '{{ .Values.global.image_registry }}'
    repository: '{{ .Values.global.image_org }}voltha-openolt-adapter'
    tag: '{{- if hasKey .Values.global "image_tag" }}{{- if .Values.global.image_tag }}{{ .Values.global.image_tag }}{{- else }}{{ .Chart.AppVersion }}{{- end }}{{- else }}{{ .Chart.AppVersion }}{{- end }}'
    pullPolicy: '{{ .Values.global.image_pullPolicy | default "Always" }}'

resources:
  requests:
    cpu: 0.5
    memory: 256Mi
  limits:
    cpu: ~
    memory: ~

# Define scheduling rules for stack pods
scheduleRules:
  preferStackPodsOnSameNode: false
  preferStacksOnDifferentNodes: false
