[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 %}
+
diff --git a/roles/xos-gui-extension-build/templates/xos-gui-extensions.yml.j2 b/roles/xos-gui-extension-build/templates/xos-gui-extensions.yml.j2
new file mode 100644
index 0000000..6b5be5e
--- /dev/null
+++ b/roles/xos-gui-extension-build/templates/xos-gui-extensions.yml.j2
@@ -0,0 +1,17 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Persist xos-sample-gui-extension
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+
+ # UI Extension
+{% for ext in enabled_gui_extensions %}
+ {{ext.name}}:
+ type: tosca.nodes.XOSGuiExtension
+ properties:
+ files: /spa/extensions/{{ext.name}}/vendor.js, /spa/extensions/{{ext.name}}/app.js
+{% endfor %}