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

# Profile info located in orchestration/profiles/<cord_use_case>
cord_use_case: ecord

# 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
  - carrierethernet-global-app.yaml
  - service-graph-constraints.yaml
  - xos-gui-extensions.yml

# 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

# service graph gui constraints
xos_gui_service_graph_constraints: '["vnaas"]'

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