# Copyright 2018-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.

# bbsim values

# Default overrides
global:
  log_level: "DEBUG"
  image_registry: ""
  image_tag: ~
  image_org: "voltha/"
  image_pullPolicy: "Always"

# CLI switches passed to bbsim
olt_id: 0
nni: 1
pon: 1
onu: 1
# time that BBSim should wait to emulate an hardware reboot
oltRebootDelay: 60
# delay between ONU discovery indication
delay: 200
log_level: '{{ .Values.global.log_level }}'
kafkaEventTopic: ""
authRetry: false
dhcpRetry: false
# default, only-onu, only-pon, both
controlledActivation: default
omci_response_rate: 10
bp_format: mef

# TODO read this values in the config
olt_tcp_port: 50060
bbsim_api_port: 50070
bbsim_rest_port: 50071
bbsim_sadis_port: 50074
bbsim_dmi_port: 50075
enablePerf: false
enableEvents: false
kafkaAddress: ":9092"

servicesConfig:
  workflow: att
  services:
    - name: hsia
      c_tag: 900
      c_tag_allocation: unique
      s_tag: 900
      s_tag_allocation: shared
      needs_eapol: true
      needs_dhcp: true
      tp_id: 64

images:
  bbsim:
    registry: '{{ .Values.global.image_registry }}'
    repository: '{{ .Values.global.image_org }}bbsim'
    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" }}'


serviceAccountName: default

nameOverride: ""
fullnameOverride: ""

replicaCount: 1

resources: {}

nodeSelector: {}

tolerations: []

affinity: {}

privileged: false
