# Copyright 2022-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:
  log_level: "WARN"
  image_registry: ""
  image_tag: ~
  image_org: "voltha/"
  image_pullPolicy: "Always"
  voltha_infra_name: "voltha-infra"
  voltha_infra_namespace: "infra"
  voltha_stack_name: "voltha"
  voltha_stack_namespace: "voltha"

  # 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: false
  fsGroup: 1001
  runAsUser: 1001
  runAsGroup: 1001

# Define connectivity to required services
services:
  kafka:
      cluster:
        address: "{{ .Values.global.voltha_infra_name }}-kafka.{{ .Values.global.voltha_infra_namespace }}.svc:9092"
  # Define Tracing Agent connection details
  tracing_agent:
      address: "{{ .Values.global.voltha_infra_name }}-voltha-tracing-jaeger-agent.{{ .Values.global.voltha_infra_namespace }}.svc:6831"

# Define the replica count for everything
replicas:
  bbf_adapter: 1

voltha_northbound_bbf_adapter:
  log_netopeer2: false # If set to true netopeer2.log is created in the root of the container
  log_level: '{{ .Values.global.log_level }}'
  voltha_nbi_port: 55555
  tls_enabled: false
  tls_verify: false
  onos_rest_port: 8181
  onos_user: onos
  onos_pass: rocks
  schema_mount_path: "/schema-mount.xml"

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

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