blob: 932831eae1712ec42bd3a9f5262f46920d2d2b3b [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: frontendbs_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:
name: xos-spa-gui
image: xosproject/xos-gui
ports: 80:80
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