CORD-772 Added make target and TOSCA spec for example UI extension
Change-Id: If26ccc840259e82edcec11df2949fd6798bcdfbc
diff --git a/opencloud/Makefile b/opencloud/Makefile
index 4b2e571..6078f14 100644
--- a/opencloud/Makefile
+++ b/opencloud/Makefile
@@ -11,7 +11,7 @@
# Include common functions
include $(COMMON_DIR)/Makefile
-xos: prereqs config_dirs xos_download opencloud_services bootstrap onboarding
+xos: prereqs config_dirs xos_download opencloud_services bootstrap onboarding rest-gw ui
opencloud_services: $(SERVICE_DIR) \
$(SERVICE_DIR)/onos-service \
diff --git a/opencloud/ui-style-config.js b/opencloud/ui-style-config.js
new file mode 100644
index 0000000..e44a76d
--- /dev/null
+++ b/opencloud/ui-style-config.js
@@ -0,0 +1,18 @@
+angular.module('app')
+ .constant('StyleConfig', {
+ projectName: 'OpenCloud',
+ favicon: 'opencloud-favicon.png',
+ background: 'opencloud-bg.jpg',
+ payoff: 'Your OS resource manager',
+ logo: 'opencloud-logo.png',
+ routes: [
+ {
+ label: 'Slices',
+ state: 'xos.core.slices'
+ },
+ {
+ label: 'Sites',
+ state: 'xos.core.sites'
+ }
+ ]
+});
diff --git a/opencloud/xos-gui.yaml b/opencloud/xos-gui.yaml
new file mode 100644
index 0000000..0321d03
--- /dev/null
+++ b/opencloud/xos-gui.yaml
@@ -0,0 +1,38 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the exampleservice
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+
+ # UI Container
+ xos-spa-gui:
+ type: tosca.nodes.Component
+ properties:
+ image: xosproject/xos-gui
+ ports: 4000:4000
+
+ # UI Style Config
+ /var/www/dist/style.config.js:
+ type: tosca.nodes.ComponentVolume
+ properties:
+ host_path: { path_join: [ SELF, CONFIG_DIR, ./ui-style-config.js, ENV_VAR ] }
+ read_only: false
+ requirements:
+ - xos:
+ node: xos-spa-gui
+ relationship: tosca.relationships.VolumeOfComponent
+
+ gui-to-gw:
+ type: tosca.nodes.ComponentLink
+ properties:
+ container: xos-rest-gateway
+ alias: xos-rest-gw
+ kind: internal
+ requirements:
+ - xos:
+ node: xos-spa-gui
+ relationship: tosca.relationships.LinkOfComponent
\ No newline at end of file
diff --git a/opencloud/xos-rest-gw.yaml b/opencloud/xos-rest-gw.yaml
new file mode 100644
index 0000000..7e1f062
--- /dev/null
+++ b/opencloud/xos-rest-gw.yaml
@@ -0,0 +1,50 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Onboard the exampleservice
+
+imports:
+ - custom_types/xos.yaml
+
+topology_template:
+ node_templates:
+
+ # API Gateway
+ xos-rest-gateway:
+ type: tosca.nodes.Component
+ properties:
+ image: xosproject/xos-rest-gw
+ command: npm start -- --config gateway-config.yml
+ ports: 3000:3000
+
+ # API Gateway config file
+ /var/www/src/config/gateway-config.yml:
+ type: tosca.nodes.ComponentVolume
+ properties:
+ host_path: { path_join: [ SELF, CONFIG_DIR, ./../common/gateway-config.yml, ENV_VAR ] }
+ read_only: false
+ requirements:
+ - xos:
+ node: xos-rest-gateway
+ relationship: tosca.relationships.VolumeOfComponent
+
+ gw-to-xos:
+ type: tosca.nodes.ComponentLink
+ properties:
+ container: xos_ui
+ alias: xos
+ kind: internal
+ requirements:
+ - xos:
+ node: xos-rest-gateway
+ relationship: tosca.relationships.LinkOfComponent
+
+ gw-to-redis:
+ type: tosca.nodes.ComponentLink
+ properties:
+ container: frontendbs_xos_redis_1
+ alias: redis
+ kind: external
+ requirements:
+ - xos:
+ node: xos-rest-gateway
+ relationship: tosca.relationships.LinkOfComponent
\ No newline at end of file