# 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:latest'
freeradiusImage: 'tpdock/freeradius:latest'
grafanaImage: 'kamon/grafana_graphite:3.0'
netconfImage: 'voltha/voltha-netconf:latest'
ofagentImage: 'voltha/voltha-ofagent:latest'
dashdImage: 'voltha/voltha-dashd:latest'
shovelImage: 'voltha/voltha-shovel:latest'
vcliImage: 'voltha/voltha-cli:latest'
vcoreImage: 'voltha/voltha-voltha:latest'

# 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:6653"
- "--grpc-endpoint=vcore.$(NAMESPACE).svc.cluster.local:50556"
- "--enable-tls"
- "--key-file=/ofagent/pki/voltha.key"
- "--cert-file=/ofagent/pki/voltha.crt"

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