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

nameOverride: ""
fullnameOverride: ""

imagePullPolicy: 'IfNotPresent'

rcord_synchronizerImage: "xosproject/rcord-synchronizer:master"
httpieImage: "clue/httpie:latest"

xosAdminUser: "admin@opencord.org"
xosAdminPassword: "letmein"

# 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-ui
              rest_port: 8181
        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/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/vrouterservice.yaml
      - custom_types/vsghwservice.yaml
    topology_template:
      node_templates:
        service#ONOS_Fabric:
          type: tosca.nodes.ONOSService
          properties:
              name: ONOS_Fabric
              must-exist: true
        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
            voltha_url: voltha.voltha.svc.cluster.local:8882
            p_onos_url: onos-voltha-ui.voltha.svc.cluster.local:8181
            p_onos_user: karaf
            p_onos_pass: karaf
        service#vsg-hw:
          type: tosca.nodes.VSGHWService
          properties:
            name: vsg-hw
        service#vrouter:
          type: tosca.nodes.VRouterService
          properties:
            name: vrouter
            kind: rcord
            rest_hostname: onos-fabric-ui
            rest_port: 8181
            rest_user: karaf
            rest_pass: karaf
        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
        onos_fabric_vsg-hw:
          type: tosca.nodes.ServiceDependency
          properties:
            connect_method: None
          requirements:
            - subscriber_service:
                node: service#vsg-hw
                relationship: tosca.relationships.BelongsToOne
            - provider_service:
                node: service#ONOS_Fabric
                relationship: tosca.relationships.BelongsToOne
        vsg-hw_vrouter:
          type: tosca.nodes.ServiceDependency
          properties:
            connect_method: None
          requirements:
            - subscriber_service:
                node: service#vsg-hw
                relationship: tosca.relationships.BelongsToOne
            - provider_service:
                node: service#vrouter
                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"], ["ONOS_Fabric", "vsg-hw"], [null, "vrouter"]]'
