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

# Values file for deploying SEBA with Ponsim
# Use this file to deploy the 'master' (dev) versions of all services.
# This is mainly useful for testing.

etcd-operator:
  etcdCluster:
    size: 1

# att-workflow
kafkaAppUrl: 'http://www.vicci.org/cord/kafka-1.0.0-SNAPSHOT.oar'

# in xos-core chart and other charts with multiple images
images:
  xos_core:
    tag: 'master'
  xos_chameleon:
    tag: 'master'
  xos_tosca:
    tag: 'master'
  xos_api_tester:
    tag: 'master'
  tosca_loader:
    tag: 'master'

# Ponsimv2
  olt:
    repository: "voltha/voltha-ponsim"
    tag: "latest"
  onu:
   repository: "voltha/voltha-ponsim"
   tag: "latest"

# in xos-gui sub-chart required by xos-core chart
xos-gui:
  images:
    xos_gui:
      tag: 'master'
    xos_ws:
      tag: 'master'

# in att-workflow service chart
att-workflow-driver:
  image:
    tag: 'master'
fabric:
  image:
    tag: 'master'
fabric-crossconnect:
  image:
    tag: 'master'
onos-service:
  image:
    tag: 'master'
sadis-server:
  image:
    tag: 'latest'
volt:
  image:
    tag: 'master'
rcord:
  image:
    tag: 'master'


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

