blob: 6b51669e4ad24f832e5a145baccb77a9975ebb64 [file] [log] [blame]
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:
name: xos-rest-gateway
image: xosproject/xos-rest-gw
command: npm start -- --config gateway-config.yml
ports: 3000:3000
/var/www/src/config/gateway-config.yml:
type: tosca.nodes.ComponentVolume
properties:
host_path: { path_join: [ SELF, CONFIG_DIR, ./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: mcordbs_xos_redis_1
alias: redis
kind: external
requirements:
- xos:
node: xos-rest-gateway
relationship: tosca.relationships.LinkOfComponent
# UI Container
xos-spa-gui:
type: tosca.nodes.Component
properties:
# command: cd /var/www; BRAND=opencloud npm run build
name: xos-spa-gui
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