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

images:
  olt:
    repository: 'voltha/voltha-ponsim'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'
  onu:
    repository: 'voltha/voltha-ponsim'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'
  rg:
    repository: 'voltha/voltha-tester'
    tag: '{{ .Chart.AppVersion }}'
    pullPolicy: 'Always'
  pon0:
    repository: 'gopinatht/pon0-network'
    tag: 'latest'
    pullPolicy: 'Always'

global:
  namespace: voltha
  registry: ''

# numOlts > 1 only works with voltha-1.7 or greater
numOlts: 1

# legacyPonsim == true means that we are using voltha-1.6
legacyPonsim: true
