-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathobjectrocket-demo.yaml
112 lines (93 loc) · 3.65 KB
/
objectrocket-demo.yaml
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
heat_template_version: 2013-05-23
description: |
Demo template for deploying a MongoDB based CMS (Keystone) and a MongoDB based e-commerce application (Forward)
parameters:
key-name:
type: string
description: Name of a nova ssh keypair to use for server access
cms_server_name:
description: Base name for the application servers
type: string
default: cms-server
ecommerce_server_name:
description: Base name for the web servers
type: string
default: ecommerce-server
search_server_name:
description: Base name for the search index servers
type: string
default: search-server
image:
type: string
description: Server image id to use
default: c9c7732f-5129-4930-a835-3781255fb1e2
constraints:
# Ubuntu 12.04, Ubuntu 12.10 and 13.10. PVHVM
- allowed_values:
- c9c7732f-5129-4930-a835-3781255fb1e2
- 3dfff025-724f-44d9-af75-f94e7f09eae6
- 6110edfe-8589-4bb1-aa27-385f12242627
description: Use only Ubuntu based images
cms_server_flavor:
description: Server flavor for the CMS server
type: string
default: performance1-8
ecommerce_server_flavor:
description: Server flavor for the Ecommerce server
type: string
default: performance1-8
search_server_flavor:
description: Server flavor for the Search server
type: string
default: performance1-4
# END PARAMS SECTION ###########################################
# START RESOURCES SECTION ######################################
resources:
cms_server:
type: "Rackspace::Cloud::Server"
properties:
flavor: { get_param: cms_server_flavor }
image: { get_param: image }
name: { get_param: cms_server_name }
key_name: { get_param: key-name }
user_data: |
apt-get -y install mongodb php5 apache2 unzip php5-dev php5-gd memcached php-pear git
pecl install mongo
wget http://be993826cb42b92a4717-204141c019a23f5f74ab32ea11a635bb.r23.cf5.rackcdn.com/mongopress.0.2.3.zip
unzip mongopress.0.2.3.zip -d /var/www/
rm /var/www/index.html
git clone https://github.com/objectrocket/rockettop.git
mv rockettop/rockettop /usr/local/bin/
git clone https://github.com/objectrocket/rocketstat.git
mv rocketstat/rocketstat /usr/local/bin/
echo "hello world" > /etc/hello_world
ecommerce_server:
type: "Rackspace::Cloud::Server"
properties:
flavor: { get_param: ecommerce_server_flavor }
image: { get_param: image }
name: { get_param: ecommerce_server_name }
key_name: { get_param: key-name }
user_data: |
apt-get -y install mongodb php5 apache2 unzip php5-dev php5-gd memcached php-pear git
pecl install mongo
wget http://be993826cb42b92a4717-204141c019a23f5f74ab32ea11a635bb.r23.cf5.rackcdn.com/fwdcommerce-0.1.zip
unzip fwdcommerce-0.1.zip -d /var/www/
git clone https://github.com/objectrocket/rockettop.git
mv rockettop/rockettop /usr/local/bin/
git clone https://github.com/objectrocket/rocketstat.git
mv rocketstat/rocketstat /usr/local/bin/
echo "hello world" > /etc/hello_world
outputs:
cms_public_ip:
value: { get_attr: [ cms_server, accessIPv4 ] }
description: The public ip address of the CMS server
cms_private_ip:
value: { get_attr: [ cms_server, privateIPv4 ] }
description: The private ip address of the server
ecommerce_public_ip:
value: { get_attr: [ ecommerce_server, accessIPv4 ] }
description: The public ip address of the CMS server
ecommerce_private_ip:
value: { get_attr: [ ecommerce_server, privateIPv4 ] }
description: The private ip address of the server