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

# profile_manifests/ecord-global.yml
# Global E-CORD Profile Manifest
#
# Note: supports the `single` scenario, but not the virtual/physical scenarios
# (requires ONOS, but not MaaS/OpenStack)

# Site configuration
site_name: ecordglobal
site_humanname: "Global E-CORD"
site_suffix: "{{ site_name }}.cord.lab"
deployment_type: "global_ecord"

# Feature toggles
use_maas: True
use_apt_cache: True

# XOS config
xos_tosca_config_templates:
  - onos-global-service.yaml
  - vnaasglobal-service.yaml
  - xos-gui-extensions.yml
  - carrierethernet-global-app.yaml


xos_other_templates:
 - fabric-network-cfg.json

# GUI Config [new GUI]
gui_project_name: "Global E-CORD"
gui_background: "cord-bg.jpg" # TODO find ecord image
gui_payoff: "Your Enterprise Global VNF orchestrator"

enabled_gui_extensions:
  - name: vnaas
    path: orchestration/xos_services/vnaas/xos/gui
    extra_files:
      - app/style/style.css
      - mapconstants.js

# paths defined in manifest/default.xml
xos_services:
  - name: onos
    path: orchestration/xos_services/onos-service
  - name: vnaas
    path: orchestration/xos_services/vnaas

# VTN network configuration
management_network_ip: 172.27.0.1/24
data_plane_ip: 10.168.0.253/24
