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

# Set all image tags to "candidate" to use locally built images

# in xos-core chart
xos_coreImage: 'xosproject/xos-core:candidate'
xos_chameleonImage: 'xosproject/chameleon:candidate'
xos_toscaImage: 'xosproject/xos-tosca:candidate'
xos_api_testerImage: 'xosproject/xos-api-tester:candidate'

# in xos-gui sub-chart required by xos-core chart
xos-gui:
  xos_guiImage: 'xosproject/xos-gui:candidate'
  xos_wsImage: 'xosproject/xos-ws:candidate'

# in RCORD service chart
addressmanager:
  addressmanager_synchronizerImage: 'xosproject/addressmanager-synchronizer:candidate'
fabric:
  fabric_synchronizerImage: 'xosproject/fabric-synchronizer:candidate'
onos-service:
  onos_synchronizerImage: 'xosproject/onos-synchronizer:candidate'
volt:
  volt_synchronizerImage: 'xosproject/volt-synchronizer:candidate'
vsg-hw:
  vsg_hw_synchronizerImage: 'xosproject/vsg-hw-synchronizer:candidate'
vrouter:
  vrouter_synchronizerImage: 'xosproject/vrouter-synchronizer:candidate'
rcord:
  rcord_synchronizerImage: 'xosproject/rcord-synchronizer:candidate'

# in BASE-OPENSTACK chart
openstack:
  openstack_synchronizerImage: 'xosproject/openstack-synchronizer:candidate'
vtn-service:
  vtn_synchronizerImage: 'xosproject/vtn-synchronizer:candidate'

# in MCORD
vmme:
  synchronizerImage: "xosproject/vmme-synchronizer:candidate"
vspgwc:
  synchronizerImage: "xosproject/vspgwc-synchronizer:candidate"
vspgwu:
  synchronizerImage: "xosproject/vspgwu-synchronizer:candidate"
vhss:
  synchronizerImage: "xosproject/vhss-synchronizer:candidate"
hssdb:
  synchronizerImage: "xosproject/hssdb-synchronizer:candidate"
internetemulator:
  synchronizerImage: "xosproject/internetemulator-synchronizer:candidate"
sdncontroller:
  synchronizerImage: "xosproject/sdncontroller-synchronizer:candidate"
epc-service:
  synchronizerImage: "xosproject/vepc-synchronizer:candidate"
mcord-subscriber:
  synchronizerImage: "xosproject/mcord-synchronizer:candidate"
progran:
  synchronizerImage: "xosproject/progran-synchronizer:candidate"

# others  
kubernetes:
  kubernetes_synchronizerImage: 'xosproject/kubernetes-synchronizer:candidate'
exampleservice:
  exampleservice_synchronizerImage: 'xosproject/exampleservice-synchronizer:candidate'
simpleexampleservice:
  simpleexampleservice_synchronizerImage: 'xosproject/simpleexampleservice-synchronizer:candidate'
hippieOSS:
  hippieOSS_synchronizerImage: 'xosproject/hippie-oss-synchronizer:candidate'

