-
Notifications
You must be signed in to change notification settings - Fork 46
Expand file tree
/
Copy pathsimple-blueprint.yaml
More file actions
115 lines (89 loc) · 3.03 KB
/
simple-blueprint.yaml
File metadata and controls
115 lines (89 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
tosca_definitions_version: cloudify_dsl_1_3
description: >
This blueprint installs the Node Cellar application
on hosts with known IP addresses.
imports:
- http://www.getcloudify.org/spec/cloudify/3.4m5/types.yaml
- http://www.getcloudify.org/spec/diamond-plugin/1.3.2/plugin.yaml
- types/nodecellar.yaml
- types/simple-types.yaml
#####################################################################################
# The inputs section allows the user to use same blueprint for creating different
# deployments, each one with its own parameters.
#
# To specify deployment inputs run:
# - cfy deployments create -b <blueprint_id> -d <deployment_id> -i inputs.yaml
#####################################################################################
inputs:
nodejs_host_ip:
description: >
IP address of nodejs_host
mongod_host_ip:
description: >
IP address of mongod_host
agent_user:
description: >
Username for SSH connections to hosts from Cloudify Manager
agent_private_key_path:
description: >
Path to private key used for SSH connections to hosts
(must be accessible by Cloudify Manager)
node_templates:
nodecellar:
type: nodecellar.nodes.NodecellarApplicationModule
relationships:
################################
# Connected to mongod node
################################
- type: node_connected_to_mongo
target: mongod
################################
# Contained in nodejs node
################################
- type: node_contained_in_nodejs
target: nodejs
nodejs:
type: nodecellar.nodes.NodeJSServer
relationships:
################################
# Contained in nodejs host
################################
- type: cloudify.relationships.contained_in
target: nodejs_host
mongod:
type: nodecellar.nodes.MonitoredMongoDatabase
relationships:
################################
# Contained in mongod host
################################
- type: cloudify.relationships.contained_in
target: mongod_host
############
# Hosts
############
nodejs_host:
type: nodecellar.nodes.MonitoredServer
properties:
ip: { get_input: nodejs_host_ip }
agent_config:
user: { get_input: agent_user }
key: { get_input: agent_private_key_path }
mongod_host:
type: nodecellar.nodes.MonitoredServer
properties:
ip: { get_input: mongod_host_ip }
agent_config:
user: { get_input: agent_user }
key: { get_input: agent_private_key_path }
###########################################################
# The outputs section exposes the application endpoint.
#
# You can access it by running:
# - cfy deployments -d <deployment_id> outputs
###########################################################
outputs:
endpoint:
description: Web application endpoint
value:
ip_address: { get_property: [ nodejs_host, ip ] }
port: { get_property: [ nodecellar, port ] }