1 heat_template_version: 2013-05-23
4 This TOSCA simple profile deploys nodejs, mongodb, elasticsearch, logstash and
5 kibana each on a separate server with monitoring enabled for nodejs server where
6 a sample nodejs application is running. The rsyslog and collectd are installed
12 description: The URL to download nodejs.
13 default: http://github.com/paypal/rest-api-sample-app-nodejs.git
17 description: Number of CPUs for the server.
29 type: OS::Heat::SoftwareDeployment
32 get_resource: nodejs_create_config
34 get_resource: app_server
37 type: OS::Heat::SoftwareConfig
40 get_file: ../Scripts/nodejs/create.sh
43 paypal_pizzastore_configure_deploy:
44 type: OS::Heat::SoftwareDeployment
47 get_resource: paypal_pizzastore_configure_config
58 get_resource: app_server
60 - nodejs_create_deploy
61 - mongo_db_create_deploy
63 paypal_pizzastore_configure_config:
64 type: OS::Heat::SoftwareConfig
67 get_file: ../Scripts/nodejs/config.sh
70 paypal_pizzastore_start_deploy:
71 type: OS::Heat::SoftwareDeployment
74 get_resource: paypal_pizzastore_start_config
76 get_resource: app_server
78 - paypal_pizzastore_configure_deploy
80 paypal_pizzastore_start_config:
81 type: OS::Heat::SoftwareConfig
84 get_file: ../Scripts/nodejs/start.sh
88 mongo_dbms_create_deploy:
89 type: OS::Heat::SoftwareDeployment
92 get_resource: mongo_dbms_create_config
94 get_resource: mongo_server
96 mongo_dbms_create_config:
97 type: OS::Heat::SoftwareConfig
100 get_file: ../Scripts/mongodb/create.sh
103 mongo_dbms_configure_deploy:
104 type: OS::Heat::SoftwareDeployment
107 get_resource: mongo_dbms_configure_config
116 get_resource: mongo_server
118 - mongo_dbms_create_deploy
120 mongo_dbms_configure_config:
121 type: OS::Heat::SoftwareConfig
124 get_file: ../Scripts/mongodb/config.sh
127 mongo_dbms_start_deploy:
128 type: OS::Heat::SoftwareDeployment
131 get_resource: mongo_dbms_start_config
133 get_resource: mongo_server
135 - mongo_dbms_configure_deploy
137 mongo_dbms_start_config:
138 type: OS::Heat::SoftwareConfig
141 get_file: ../Scripts/mongodb/start.sh
144 mongo_db_create_deploy:
145 type: OS::Heat::SoftwareDeployment
148 get_resource: mongo_db_create_config
150 get_resource: mongo_server
152 - mongo_dbms_start_deploy
154 mongo_db_create_config:
155 type: OS::Heat::SoftwareConfig
158 get_file: ../Scripts/mongodb/create_database.sh
162 app_collectd_create_deploy:
163 type: OS::Heat::SoftwareDeployment
166 get_resource: app_collectd_create_config
168 get_resource: app_server
170 - logstash_start_deploy
172 app_collectd_create_config:
173 type: OS::Heat::SoftwareConfig
176 get_file: ../Scripts/collectd/create.sh
179 app_collectd_configure_deploy:
180 type: OS::Heat::SoftwareDeployment
183 get_resource: app_collectd_configure_config
192 get_resource: app_server
194 - app_collectd_create_deploy
196 app_collectd_configure_config:
197 type: OS::Heat::SoftwareConfig
200 get_file: ../Python/collectd/config.py
203 app_collectd_start_deploy:
204 type: OS::Heat::SoftwareDeployment
207 get_resource: app_collectd_start_config
209 get_resource: app_server
211 - app_collectd_configure_deploy
213 app_collectd_start_config:
214 type: OS::Heat::SoftwareConfig
217 get_file: ../Scripts/collectd/start.sh
220 app_collectd_logstash_connect_deploy:
221 type: OS::Heat::SoftwareDeployment
224 get_resource: app_collectd_logstash_connect_config
226 get_resource: logstash_server
228 - logstash_create_deploy
230 app_collectd_logstash_connect_config:
231 type: OS::Heat::SoftwareConfig
234 get_file: ../Python/logstash/configure_collectd.py
238 app_rsyslog_create_deploy:
239 type: OS::Heat::SoftwareDeployment
242 get_resource: app_rsyslog_create_config
244 get_resource: app_server
246 - logstash_start_deploy
248 app_rsyslog_create_config:
249 type: OS::Heat::SoftwareConfig
252 get_file: ../Scripts/rsyslog/create.sh
255 app_rsyslog_start_deploy:
256 type: OS::Heat::SoftwareDeployment
259 get_resource: app_rsyslog_start_config
261 get_resource: app_server
263 - app_rsyslog_configure_deploy
265 app_rsyslog_start_config:
266 type: OS::Heat::SoftwareConfig
269 get_file: ../Scripts/rsyslog/start.sh
272 app_rsyslog_configure_deploy:
273 type: OS::Heat::SoftwareDeployment
276 get_resource: app_rsyslog_configure_config
285 get_resource: app_server
287 - app_rsyslog_create_deploy
289 app_rsyslog_configure_config:
290 type: OS::Heat::SoftwareConfig
293 get_file: ../Scripts/rsyslog/config.sh
296 app_rsyslog_logstash_connect_deploy:
297 type: OS::Heat::SoftwareDeployment
300 get_resource: app_rsyslog_logstash_connect_config
302 get_resource: logstash_server
304 - logstash_create_deploy
306 app_rsyslog_logstash_connect_config:
307 type: OS::Heat::SoftwareConfig
310 get_file: ../Python/logstash/configure_rsyslog.py
314 logstash_create_deploy:
315 type: OS::Heat::SoftwareDeployment
318 get_resource: logstash_create_config
320 get_resource: logstash_server
322 - elasticsearch_start_deploy
324 logstash_create_config:
325 type: OS::Heat::SoftwareConfig
328 get_file: ../Scripts/logstash/create.sh
331 logstash_start_deploy:
332 type: OS::Heat::SoftwareDeployment
335 get_resource: logstash_start_config
337 get_resource: logstash_server
339 - logstash_create_deploy
341 logstash_start_config:
342 type: OS::Heat::SoftwareConfig
345 get_file: ../Scripts/logstash/start.sh
348 logstash_elasticsearch_connect_deploy:
349 type: OS::Heat::SoftwareDeployment
352 get_resource: logstash_elasticsearch_connect_config
356 - elasticsearch_server
361 get_resource: logstash_server
363 - logstash_create_deploy
365 logstash_elasticsearch_connect_config:
366 type: OS::Heat::SoftwareConfig
369 get_file: ../Python/logstash/configure_elasticsearch.py
373 elasticsearch_create_deploy:
374 type: OS::Heat::SoftwareDeployment
377 get_resource: elasticsearch_create_config
379 get_resource: elasticsearch_server
381 elasticsearch_create_config:
382 type: OS::Heat::SoftwareConfig
385 get_file: ../Scripts/elasticsearch/create.sh
388 elasticsearch_start_deploy:
389 type: OS::Heat::SoftwareDeployment
392 get_resource: elasticsearch_start_config
394 get_resource: elasticsearch_server
396 - elasticsearch_create_deploy
398 elasticsearch_start_config:
399 type: OS::Heat::SoftwareConfig
402 get_file: ../Scripts/elasticsearch/start.sh
406 kibana_create_deploy:
407 type: OS::Heat::SoftwareDeployment
410 get_resource: kibana_create_config
412 get_resource: kibana_server
414 - elasticsearch_start_deploy
416 kibana_create_config:
417 type: OS::Heat::SoftwareConfig
420 get_file: ../Scripts/kibana/create.sh
423 kibana_configure_deploy:
424 type: OS::Heat::SoftwareDeployment
427 get_resource: kibana_configure_config
431 - elasticsearch_server
442 get_resource: kibana_server
444 - kibana_create_deploy
446 kibana_configure_config:
447 type: OS::Heat::SoftwareConfig
450 get_file: ../Scripts/kibana/config.sh
454 type: OS::Heat::SoftwareDeployment
457 get_resource: kibana_start_config
459 get_resource: kibana_server
461 - kibana_configure_deploy
464 type: OS::Heat::SoftwareConfig
467 get_file: ../Scripts/kibana/start.sh
472 type: OS::Nova::Server
475 image: ubuntu-software-config-os-init
476 user_data_format: SOFTWARE_CONFIG
479 type: OS::Nova::Server
482 image: ubuntu-software-config-os-init
483 user_data_format: SOFTWARE_CONFIG
486 type: OS::Nova::Server
489 image: ubuntu-software-config-os-init
490 user_data_format: SOFTWARE_CONFIG
492 elasticsearch_server:
493 type: OS::Nova::Server
496 image: ubuntu-software-config-os-init
497 user_data_format: SOFTWARE_CONFIG
500 type: OS::Nova::Server
503 image: ubuntu-software-config-os-init
504 user_data_format: SOFTWARE_CONFIG
508 description: URL for the nodejs server, http://<IP>:3000
517 description: URL for the mongodb server.
526 description: URL for the logstash server.
535 description: URL for the elasticsearch server.
538 - elasticsearch_server
544 description: URL for the kibana server.