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

---
serviceaccount: voltha-serviceaccount
private_etcd_cluster: true
private_kafka_cluster: true

# Default overrides
defaults:
  log_level: "ERROR"
  image_registry: ''
  image_org: "voltha/"
  image_pullPolicy: "Always"
  rw_core:
    timeout: "8000"

# Configure the Kafka sub-chart (if it is used)
kafka:
  configurationOverrides:
    "offsets.topic.replication.factor": 1
    "log.retention.hours": 4
    "log.message.timestamp.type": "LogAppendTime"
  persistence:
    enabled: false
  zookeeper:
    replicaCount: 1
    persistence:
      enabled: false
  replicas: 1

# Define connectivity to services on which VOLTHA depends
services:
  kafka:
    adapter:
      service: voltha-kafka.voltha.svc.cluster.local
      port: 9092
    cluster:
      service: voltha-kafka.voltha.svc.cluster.local
      port: 9092

  # Define connectivity to etcd
  etcd:
    service: voltha-etcd-cluster-client.voltha.svc.cluster.local
    port: 2379

  # Define controller to which to connect
  controller:
    service: onos-openflow.default.svc.cluster.local
    port: 6653

# Define the recplica 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
  cli: 1
  ofagent: 1
  ro_core: 1
  afrouter: 1
  afrouterd: 1

ro_core:
  log_level: '{{ .Values.defaults.log_level }}'

rw_core:
  log_level: '{{ .Values.defaults.log_level }}'
  core_timeout: '{{ .Values.defaults.rw_core.timeout }}'
  timeout_long_request: '{{ .Values.defaults.rw_core.timeout }}'
  timeout_request: '{{ .Values.defaults.rw_core.timeout }}'

api_server:
  kafka_topic: 'affinityRouter'

# Define Docker images to be used
images:
  cli:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-cli'
    tag: '2.1.3'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'

  ofagent:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-ofagent'
    tag: '2.1.3'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'

  ro_core:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-ro-core'
    tag: '2.1.3'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'

  rw_core:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-rw-core'
    tag: '2.1.3'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'

  afrouter:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-afrouter'
    tag: '2.2.0'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'

  afrouterd:
    registry: '{{ .Values.defaults.image_registry }}'
    repository: '{{ .Values.defaults.image_org }}voltha-afrouterd'
    tag: '2.2.0'
    pullPolicy: '{{ .Values.defaults.image_pullPolicy }}'
    restartPolicy: 'Always'
