# 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"
  adapter_open_olt:
    timeout: "5s"
    heartbeat_check_interval: "15s"
    heartbeat_fail_interval: "31s"
    # timeout for RPC request
    rpc_timeout: "10s"

  #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 }}'
  rpc_timeout: '{{ .Values.global.adapter_open_olt.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
