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

Change-Id: I30166503fbe23e0864029df5fb8d051e586a7881
diff --git a/roles/xos-gui-extension-build/templates/xos-gui-extensions-onboard.yml.j2 b/roles/xos-gui-extension-build/templates/xos-gui-extensions-onboard.yml.j2
new file mode 100644
index 0000000..435daa3
--- /dev/null
+++ b/roles/xos-gui-extension-build/templates/xos-gui-extensions-onboard.yml.j2
@@ -0,0 +1,28 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard xos-sample-gui-extension
+
+imports:
+   - custom_types/xos.yaml
+
+topology_template:
+  node_templates:
+
+    # UI Extensions
+{% for ext in enabled_gui_extensions %}
+    gui-extensions-{{ext.name}}:
+      type: tosca.nodes.Component
+      properties:
+        image: xosproject/gui-extension-{{ ext.name }}
+        command: npm run build
+
+    gui-extensions-store-{{ ext.name }}:
+      type: tosca.nodes.ComponentVolumeContainer
+      properties:
+          container: gui-extensions-store
+      requirements:
+          - xos:
+             node: gui-extensions-{{ext.name}}
+             relationship: tosca.relationships.VolumeContainerOfComponent
+{% endfor %}
+