[CORD-869] Building and deploying UI Extensions in platform install (separate playbook)

Change-Id: I30166503fbe23e0864029df5fb8d051e586a7881
diff --git a/roles/cord-profile/tasks/main.yml b/roles/cord-profile/tasks/main.yml
index 2f3fd95..de66651 100644
--- a/roles/cord-profile/tasks/main.yml
+++ b/roles/cord-profile/tasks/main.yml
@@ -89,6 +89,7 @@
     - xos.yaml
     - xos-bootstrap-docker-compose.yaml
     - onboard-chameleon.yaml
+    - onboard-gui-extensions-store.yaml
     - onboard-xos-gui.yaml
     - onboard-xos-rest-gw.yaml
     - gateway-config.yml
diff --git a/roles/cord-profile/templates/onboard-gui-extensions-store.yaml.j2 b/roles/cord-profile/templates/onboard-gui-extensions-store.yaml.j2
new file mode 100644
index 0000000..0e83718
--- /dev/null
+++ b/roles/cord-profile/templates/onboard-gui-extensions-store.yaml.j2
@@ -0,0 +1,26 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the exampleservice
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+
+    # UI Extension Store
+    gui-extensions-store:
+      type: tosca.nodes.Component
+      properties:
+        image: node:argon
+        command: /bin/true
+
+    /var/www/dist/extensions:
+      type: tosca.nodes.ComponentVolume
+      properties:
+          host_path: ""
+          read_only: false
+      requirements:
+          - xos:
+             node: gui-extensions-store
+             relationship: tosca.relationships.VolumeOfComponent
\ No newline at end of file
diff --git a/roles/cord-profile/templates/onboard-xos-gui.yaml.j2 b/roles/cord-profile/templates/onboard-xos-gui.yaml.j2
index e2dd0d3..bcaf3c3 100644
--- a/roles/cord-profile/templates/onboard-xos-gui.yaml.j2
+++ b/roles/cord-profile/templates/onboard-xos-gui.yaml.j2
@@ -37,6 +37,16 @@
              node: xos-spa-gui
              relationship: tosca.relationships.VolumeOfComponent
 
+    # Mounting volume from volume container
+    gui-extensions-store:
+      type: tosca.nodes.ComponentVolumeContainer
+      properties:
+          container: gui-extensions-store
+      requirements:
+          - xos:
+             node: xos-spa-gui
+             relationship: tosca.relationships.VolumeContainerOfComponent
+
     gui-to-chameleon:
       type: tosca.nodes.ComponentLink
       properties:
diff --git a/roles/cord-profile/templates/style.config.js.j2 b/roles/cord-profile/templates/style.config.js.j2
index 01a7624..976d88d 100644
--- a/roles/cord-profile/templates/style.config.js.j2
+++ b/roles/cord-profile/templates/style.config.js.j2
@@ -6,14 +6,14 @@
     payoff: '{{ gui_payoff }}',
     logo: '{{ gui_logo }}',
     routes: [
-    {% for route in gui_routes %}
-    {
+{% for route in gui_routes %}
+        {
             label: '{{ route.label }}',
             state: '{{ route.state }}',
-            {% if route.parent is defined %}
+{% if route.parent is defined %}
             parent: '{{ route.parent }}'
-            {% endif %}
-    },
-    {% endfor %}
+{% endif %}
+        },
+{% endfor %}
     ]
 });
\ No newline at end of file