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

replicas:
  vcore: 1
  vcli: 1
  ofagent: 1
  netconf: 1
  envoy_for_etcd: 1
  alarm_generator: 1

node_ports:
  vcli_port: 30110

services:
  envoy:
    serviceType: NodePort
    serviceInfo:
      ports:
        - name: rest
          port: 8882
          targetPort: 8882
          nodePort: 30125
        - name: mystery
          port: 8001
          targetPort: 8001
          nodePort: 30126
        - name: mystery2
          port: 8443
          targetPort: 8443
          nodePort: 32443
        - name: grpc
          port: 50555
          targetPort: 50555
          nodePort: 30127

etcd:
  cluster:
    enabled: true

freeradius:
  enabled: true

kafkaReleaseName: cord-kafka
etcdReleaseName: etcd-cluster

loglevel: "DEBUG"

images:
  vcore:
    repository: 'voltha/voltha-voltha'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  vcli:
    repository: 'voltha/voltha-cli'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  ofagent:
    repository: 'voltha/voltha-ofagent'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  netconf:
    repository: 'voltha/voltha-netconf'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  envoy_for_etcd:
    repository: 'voltha/voltha-envoy'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  alarm_generator:
    repository: 'voltha/voltha-alarm-generator'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'

  freeradius:
    repository: 'tpdock/freeradius'
    tag: '2.2.9'
    pullPolicy: 'Always'

  http_backend:
    repository: 'gcr.io/google_containers/defaultbackend'
    tag: '1.4'
    pullPolicy: 'Always'

  ingress_controller:
    repository: 'quay.io/kubernetes-ingress-controller/nginx-ingress-controller'
    tag: '0.10.2'
    pullPolicy: 'Always'

  ingress_controller_base:
    repository: 'alpine'
    tag: '3.6'
    pullPolicy: 'Always'

# Need the namespace global for kafka
global:
  namespace: voltha
  registry: ''

vcli_args:
- "/cli/cli/setup.sh"
- "-C consul:8500"
- "-g voltha:50555"
- "-s voltha:18880"
- "-G"

ofagent_args:
- "/ofagent/ofagent/main.py"
- "--consul=consul.$(NAMESPACE).svc.cluster.local:8500"
- "--controller=onos-openflow.default.svc.cluster.local:6653"
- "--grpc-endpoint=vcore.$(NAMESPACE).svc.cluster.local:50556"

netconf_args:
- "/netconf/netconf/main.py"
- "--consul=consul:8500"
- "--grpc-endpoint=voltha:50555"

# set alarm_generator_enable to true to enable alarm generator container.
# uncomment the intf_id and onu_id arguments if no olt is physically present, and a fake onu_id should be used.

alarm_generator_enable: false
alarm_generator_args:
- "--consul=consul:8500"
- "--grpc-endpoint=voltha:50555"
- "--global_request"
- "--rate=1"
- "--duration=2"
#- "--intf_id=0"
#- "--onu_id=00012bc90d6552dd"
