# Copyright © 2017 Amdocs, Bell Canada
#
# 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: ~6.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: ~6.x-0
    repository: "@local"
    condition: global.mariadbGalera.localCluster
  - name: soHelpers
    version: ~6.x-0
    repository: "file://components/soHelpers"
  - name: so-appc-orchestrator
    version: ~6.x-0
    repository: "file://components/so-appc-orchestrator"
    condition: so-appc-orchestrator.enabled
  - name: so-bpmn-infra
    version: ~6.x-0
    repository: "file://components/so-bpmn-infra"
  - name: so-catalog-db-adapter
    version: ~6.x-0
    repository: "file://components/so-catalog-db-adapter"
    condition: so-catalog-db-adapter.enabled
  - name: so-cnf-adapter
    version: ~6.x-0
    repository: "file://components/so-cnf-adapter"
    condition: so-cnf-adapter.enabled
  - name: so-etsi-nfvo-ns-lcm
    version: ~6.x-0
    repository: 'file://components/so-etsi-nfvo-ns-lcm'
    condition: so-etsi-nfvo-ns-lcm.enabled
  - name: so-mariadb
    version: ~6.x-0
    repository: "file://components/so-mariadb"
  - name: so-monitoring
    version: ~6.x-0
    repository: "file://components/so-monitoring"
    condition: so-monitoring.enabled
  - name: so-nssmf-adapter
    version: ~6.x-0
    repository: "file://components/so-nssmf-adapter"
    condition: so-nssmf-adapter.enabled
  - name: so-oof-adapter
    version: ~6.x-0
    repository: 'file://components/so-oof-adapter'
    condition: so-oof-adapter.enabled
  - name: so-openstack-adapter
    version: ~6.x-0
    repository: "file://components/so-openstack-adapter"
    condition: so-openstack-adapter.enabled
  - name: so-request-db-adapter
    version: ~6.x-0
    repository: "file://components/so-request-db-adapter"
  - name: so-sdc-controller
    version: ~6.x-0
    repository: "file://components/so-sdc-controller"
  - name: so-sdnc-adapter
    version: ~6.x-0
    repository: "file://components/so-sdnc-adapter"
    condition: so-sdnc-adapter.enabled
  - name: so-ve-vnfm-adapter
    version: ~6.x-0
    repository: "file://components/so-ve-vnfm-adapter"
    condition: so-ve-vnfm-adapter.enabled
  - name: so-vfc-adapter
    version: ~6.x-0
    repository: "file://components/so-vfc-adapter"
    condition: so-vfc-adapter.enabled
  - name: so-vnfm-adapter
    version: ~6.x-0
    repository: "file://components/so-vnfm-adapter"
    condition: so-vnfm-adapter.enabled
