# 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: ~8.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: certInitializer
    version: ~8.x-0
    repository: '@local'
  - name: readinessCheck
    version: ~8.x-0
    repository: '@local'
  - name: mariadb-galera
    version: ~8.x-0
    repository: '@local'
    condition: global.mariadbGalera.localCluster
  - name: repositoryGenerator
    version: ~8.x-0
    repository: '@local'
  - name: soHelpers
    version: ~8.x-0
    repository: 'file://components/soHelpers'
  - name: so-admin-cockpit
    version: ~8.x-0
    repository: 'file://components/so-admin-cockpit'
    condition: so-admin-cockpit.enabled
  - name: so-appc-orchestrator
    version: ~8.x-0
    repository: 'file://components/so-appc-orchestrator'
    condition: so-appc-orchestrator.enabled
  - name: so-bpmn-infra
    version: ~8.x-0
    repository: 'file://components/so-bpmn-infra'
  - name: so-catalog-db-adapter
    version: ~8.x-0
    repository: 'file://components/so-catalog-db-adapter'
    condition: so-catalog-db-adapter.enabled
  - name: so-cnf-adapter
    version: ~8.x-0
    repository: "file://components/so-cnf-adapter"
    condition: so-cnf-adapter.enabled
  - name: so-etsi-nfvo-ns-lcm
    version: ~8.x-0
    repository: 'file://components/so-etsi-nfvo-ns-lcm'
    condition: so-etsi-nfvo-ns-lcm.enabled
  - name: so-etsi-sol003-adapter
    version: ~8.x-0
    repository: 'file://components/so-etsi-sol003-adapter'
    condition: so-etsi-sol003-adapter.enabled
  - name: so-mariadb
    version: ~8.x-0
    repository: 'file://components/so-mariadb'
  - name: so-nssmf-adapter
    version: ~8.x-0
    repository: 'file://components/so-nssmf-adapter'
    condition: so-nssmf-adapter.enabled
  - name: so-oof-adapter
    version: ~8.x-0
    repository: 'file://components/so-oof-adapter'
    condition: so-oof-adapter.enabled
  - name: so-openstack-adapter
    version: ~8.x-0
    repository: 'file://components/so-openstack-adapter'
    condition: so-openstack-adapter.enabled
  - name: so-request-db-adapter
    version: ~8.x-0
    repository: 'file://components/so-request-db-adapter'
  - name: so-sdc-controller
    version: ~8.x-0
    repository: 'file://components/so-sdc-controller'
  - name: so-sdnc-adapter
    version: ~8.x-0
    repository: 'file://components/so-sdnc-adapter'
    condition: so-sdnc-adapter.enabled
  - name: so-ve-vnfm-adapter
    version: ~8.x-0
    repository: 'file://components/so-ve-vnfm-adapter'
    condition: so-ve-vnfm-adapter.enabled
  - name: so-etsi-sol005-adapter
    version: ~8.x-0
    repository: 'file://components/so-etsi-sol005-adapter'
    condition: so-etsi-sol005-adapter.enabled
  - name: serviceAccount
    version: ~8.x-0
    repository: '@local'
