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

pull_docker_registry:
k8s_docker_registry: 'k8s.gcr.io/'

imagePullPolicy: Always

replicas:
  vcore: 1
  vcli: 1
  ofagent: 1
  netconf: 1
  envoy_for_etcd: 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
        - name: mystery2
          port: 8443
          targetPort: 8443
          nodePort: 32443
        - name: grpc
          port: 50555
          targetPort: 50555

kafka:
  enabled: false
  persistence:
    enabled: false
  zookeeper:
    persistence:
      enabled: false

etcd:
  operator:
    enabled: true
etcd-operator:
  customResources:
    size: 1
    createEtcdClusterCRD: true

kafkaReleaseName: voltha-kafka
etcdReleaseName: voltha-etcd

consul:
  enabled: false

envoyForEtcdImage: 'voltha/voltha-envoy:1.4.0'
freeradiusImage: 'tpdock/freeradius:latest'
netconfImage: 'voltha/voltha-netconf:1.4.0'
ofagentImage: 'voltha/voltha-ofagent:1.4.0'
vcliImage: 'voltha/voltha-cli:1.4.0'
vcoreImage: 'voltha/voltha-voltha:1.4.0'

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

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

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

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