---

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

# Default values for the rcord-lite profile.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

replicaCount: 1

pull_docker_registry:

image:
  toscaLoader:
    repository: clue/httpie
    tag: latest
    pullPolicy: IfNotPresent
  rcordSynchronizer:
    repository: xosproject/rcord-synchronizer
    tag: master
    pullPolicy: IfNotPresent

xosAdminUser: admin@opencord.org
xosAdminPassword: letmein

# Service-specific configuration.
addressmanager:
  serviceConfig:
    accessor:
      username: admin@opencord.org
      password: letmein
fabric:
  serviceConfig:
    accessor:
      username: admin@opencord.org
      password: letmein
onos-service:
  serviceConfig:
    accessor:
      username: admin@opencord.org
      password: letmein
volt:
  serviceConfig:
    accessor:
      username: admin@opencord.org
      password: letmein
vsg-hw:
  serviceConfig:
    accessor:
      username: admin@opencord.org
      password: letmein

# The R-CORD synchronizer loads R-CORD-specific models into the core
serviceConfig:
  name: rcord
  accessor:
    username: admin@opencord.org
    password: letmein
    endpoint: xos-core:50051
  dependency_graph: "/opt/xos/synchronizers/rcord/model-deps"
  sys_dir: "/opt/xos/synchronizers/rcord/sys"
  models_dir: "/opt/xos/synchronizers/rcord/models"
  model_policies_dir: "/opt/xos/synchronizers/rcord/model_policies"

# TOSCA recipes for the tosca-loader
toscaRecipes:
  fixtures:
    tosca_definitions_version: tosca_simple_yaml_1_0
    description: Some basic fixtures
    imports:
      - custom_types/siterole.yaml
      - custom_types/slicerole.yaml
      - custom_types/networkparametertype.yaml
      - custom_types/networktemplate.yaml
    topology_template:
      node_templates:
    # -----------------------------------------------------------------------------
    # Network Parameter Types
    # -----------------------------------------------------------------------------
        s_tag:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: s_tag
        c_tag:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: c_tag
        next_hop:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: next_hop
        device:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: device
        bridge:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: bridge
        neutron_port_name:
          type: tosca.nodes.NetworkParameterType
          properties:
            name: neutron_port_name
    # ----------------------------------------------------------------------------
    # Roles
    # ----------------------------------------------------------------------------
        siterole#admin:
          type: tosca.nodes.SiteRole
          properties:
            role: admin
        siterole#pi:
          type: tosca.nodes.SiteRole
          properties:
            role: pi
        siterole#tech:
          type: tosca.nodes.SiteRole
          properties:
            role: tech
        slicerole#admin:
          type: tosca.nodes.SliceRole
          properties:
            role: admin
        slicerole#access:
          type: tosca.nodes.SliceRole
          properties:
            role: access
    # -----------------------------------------------------------------------------
    # Network Templates
    # -----------------------------------------------------------------------------
        Private:
          type: tosca.nodes.NetworkTemplate
          properties:
            name: Private
            visibility: private
            translation: none
        Public shared IPv4:
          type: tosca.nodes.NetworkTemplate
          properties:
            name: Public shared IPv4
            visibility: private
            translation: NAT
            shared_network_name: nat-net
        Public dedicated IPv4:
          type: tosca.nodes.NetworkTemplate
          properties:
            name: Public dedicated IPv4
            visibility: public
            translation: none
            shared_network_name: ext-net

  deployment:
    tosca_definitions_version: tosca_simple_yaml_1_0
    imports:
       - custom_types/deployment.yaml
    description: deployment config, generated by platform-install
    topology_template:
      node_templates:
        MyDeployment:
          type: tosca.nodes.Deployment
          properties:
            name: MyDeployment

  fabricService:
    tosca_definitions_version: tosca_simple_yaml_1_0
    imports:
      - custom_types/onosservice.yaml
      - custom_types/serviceattribute.yaml
      - custom_types/fabricservice.yaml
      - custom_types/onosapp.yaml
      - custom_types/serviceinstancelink.yaml
    description: fabric services, generated by rcord profile
    topology_template:
      node_templates:
        service#ONOS_Fabric:
          type: tosca.nodes.ONOSService
          properties:
              name: ONOS_Fabric
              kind: platform
              no_container: true
              rest_hostname: onos-fabric
        serviceattribute#fabric_network_cfg_json:
          type: tosca.nodes.ServiceAttribute
          requirements:
              - service:
                  node: service#ONOS_Fabric
                  relationship: tosca.relationships.BelongsToOne
          properties:
              name: rest_onos/v1/network/configuration/
              value: ''
        service#fabric:
          type: tosca.nodes.FabricService
          properties:
              name: fabric
              kind: platform
        Fabric_ONOS_app:
          type: tosca.nodes.ONOSApp
          requirements:
              - owner:
                  node: service#ONOS_Fabric
                  relationship: tosca.relationships.BelongsToOne
          properties:
              name: Fabric_ONOS_app
              dependencies: org.onosproject.drivers, org.onosproject.openflow, org.onosproject.netcfghostprovider, org.onosproject.segmentrouting
        Fabric_ONOS_app_ONOS_Fabric:
            type: tosca.nodes.ServiceInstanceLink
            requirements:
              - provider_service_instance:
                  node: Fabric_ONOS_app
                  relationship: tosca.relationships.BelongsToOne
              - subscriber_service:
                  node: service#fabric
                  relationship: tosca.relationships.BelongsToOne

  cordServices:
    tosca_definitions_version: tosca_simple_yaml_1_0
    description: Set up VOLT, AddressManager, and RCORD services
    imports:
      - custom_types/addressmanagerservice.yaml
      - custom_types/addresspool.yaml
      - custom_types/image.yaml
      - custom_types/network.yaml
      - custom_types/networkslice.yaml
      - custom_types/networktemplate.yaml
      - custom_types/nodelabel.yaml
      - custom_types/onosapp.yaml
      - custom_types/onosservice.yaml
      - custom_types/site.yaml
      - custom_types/service.yaml
      - custom_types/servicedependency.yaml
      - custom_types/serviceinstanceattribute.yaml
      - custom_types/serviceinstancelink.yaml
      - custom_types/slice.yaml
      - custom_types/voltservice.yaml
      - custom_types/vsghwservice.yaml
    topology_template:
      node_templates:
        service#rcord:
          type: tosca.nodes.Service
          properties:
            name: rcord
        rcord_volt:
          type: tosca.nodes.ServiceDependency
          properties:
            connect_method: None
          requirements:
            - subscriber_service:
                node: service#rcord
                relationship: tosca.relationships.BelongsToOne
            - provider_service:
                node: service#volt
                relationship: tosca.relationships.BelongsToOne
        service#volt:
          type: tosca.nodes.VOLTService
          properties:
            name: volt
            kind: rcord
        service#vsg-hw:
          type: tosca.nodes.VSGHWService
          properties:
            name: vsg-hw
        service#addressmanager:
          type: tosca.nodes.AddressManagerService
          properties:
            name: addressmanager
        volt_vsg-hw:
          type: tosca.nodes.ServiceDependency
          properties:
            connect_method: None
          requirements:
            - subscriber_service:
                node: service#volt
                relationship: tosca.relationships.BelongsToOne
            - provider_service:
                node: service#vsg-hw
                relationship: tosca.relationships.BelongsToOne
        vsg-hw_addressmanager:
          type: tosca.nodes.ServiceDependency
          properties:
            connect_method: None
          requirements:
            - subscriber_service:
                node: service#vsg-hw
                relationship: tosca.relationships.BelongsToOne
            - provider_service:
                node: service#addressmanager
                relationship: tosca.relationships.BelongsToOne

  serviceGraphConstraints:
    tosca_definitions_version: tosca_simple_yaml_1_0
    imports:
       - custom_types/servicegraphconstraint.yaml
    description: Constraints on the Services position in the graph
    topology_template:
      node_templates:
        constraints:
          type: tosca.nodes.ServiceGraphConstraint
          properties:
            constraints: '[[null, "rcord"], [null, "volt"], ["addressmanager", "vsg-hw"]]'
