# Copyright © 2018 AT&T
# Copyright (C) 2020 Wipro Limited.
#
# 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.

dependencies:
  - name: common
    version: ~7.x-0
    # local reference to common chart, as it is
    # a part of this chart's package and will not
    # be published independently to a repo (at this point)
    repository: '@local'
  - name: mariadb-galera
    version: ~7.x-0
    repository: '@local'
  - name: mariadb-init
    version: ~7.x-0
    repository: '@local'
  - name: oof-cmso-optimizer
    version: ~7.x-0
    repository: 'file://components/oof-cmso-optimizer'
    condition: oof-cmso-optimizer.enabled
  - name: oof-cmso-service
    version: ~7.x-0
    repository: 'file://components/oof-cmso-service'
    condition: oof-cmso-service.enabled
  - name: oof-cmso-ticketmgt
    version: ~7.x-0
    repository: 'file://components/oof-cmso-ticketmgt'
    condition: oof-cmso-ticketmgt.enabled
  - name: oof-cmso-topology
    version: ~7.x-0
    repository: 'file://components/oof-cmso-topology'
    condition: oof-cmso-topology.enabled
  - name: repositoryGenerator
    version: ~7.x-0
    repository: '@local'
