engineyard-metadata 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/spec_helper.rb CHANGED
@@ -3,12 +3,11 @@ require 'rspec'
3
3
  require 'active_support/json/encoding'
4
4
  require 'fakeweb'
5
5
  require 'fakefs/safe'
6
+ require 'eat' # otherwise it's loaded when fakefs is already active
6
7
 
7
- PRESENT_PUBLIC_HOSTNAME = 'app_master.compute-1.amazonaws.com'
8
- PRESENT_SECURITY_GROUP = 'ey-data1_production-1-2-3'
9
- PRESENT_INSTANCE_ID = 'i-deadbeef'
10
- FAKE_CLOUD_TOKEN = 'FAKE_EY_CLOUD_TOKEN'
11
- FAKE_ENVIRONMENT_NAME = 'FAKE_ENVIRONMENT_NAME'
8
+ FAKE_SECURITY_GROUP = 'ey-cm1_production_blue-1294775925-1371-55979'
9
+ FAKE_INSTANCE_ID = 'i-ff17d493'
10
+ FAKE_CLOUD_TOKEN = 'justareallygreatsecret'
12
11
 
13
12
  def pretend_we_are_on_a_developer_machine
14
13
  FakeWeb.allow_net_connect = false
@@ -31,13 +30,13 @@ def pretend_we_are_on_an_engineyard_appcloud_ec2_instance
31
30
  FakeWeb.register_uri :get,
32
31
  "http://169.254.169.254/latest/meta-data/security-groups",
33
32
  :status => ["200", "OK"],
34
- :body => PRESENT_SECURITY_GROUP
33
+ :body => FAKE_SECURITY_GROUP
35
34
 
36
35
  # fake call to amazon ec2 api to get present instance id
37
36
  FakeWeb.register_uri :get,
38
37
  "http://169.254.169.254/latest/meta-data/instance-id",
39
38
  :status => ["200", "OK"],
40
- :body => PRESENT_INSTANCE_ID
39
+ :body => FAKE_INSTANCE_ID
41
40
 
42
41
  # first read a file from the real file system...
43
42
  dna_json = File.read File.join(File.dirname(__FILE__), 'support', 'dna.json')
@@ -2,25 +2,24 @@
2
2
  "db_slaves": [
3
3
 
4
4
  ],
5
- "aws_secret_key": "AWS-SECRET-KEY",
6
- "ruby_version": "Ruby 1.8.7",
5
+ "aws_secret_key": "aidjaoisjaoisdoaisjdoij",
6
+ "ruby_version": "Ruby 1.9.2",
7
7
  "user_ssh_key": [
8
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-a",
9
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-b",
10
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-c"
8
+ "ssh-rsa a",
9
+ "ssh-rsa b",
10
+ "ssh-rsa c",
11
+ "ssh-rsa d",
12
+ "ssh-rsa e"
11
13
  ],
12
14
  "backup_interval": 24,
13
- "admin_ssh_key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB ey-cloud-production\n",
14
- "internal_ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB \n",
15
- "internal_ssh_private_key": "-----BEGIN RSA PRIVATE KEY-----\nPRIVATE-KEY\n-----END RSA PRIVATE KEY-----\n",
15
+ "admin_ssh_key": "ssh-rsa f\n",
16
+ "internal_ssh_public_key": "ssh-rsa d\n",
17
+ "internal_ssh_private_key": "-----BEGIN RSA PRIVATE KEY-----ddd-----END RSA PRIVATE KEY-----\n",
18
+ "mailserver": "smtp.engineyard.com",
16
19
  "utility_instances": [
17
- {
18
- "name": "FAKE_ENVIRONMENT_NAME_util_1",
19
- "hostname": "internal_util_1.compute-1.internal"
20
- }
20
+
21
21
  ],
22
22
  "instance_role": "app_master",
23
- "mailserver": "smtp.engineyard.com",
24
23
  "crons": [
25
24
 
26
25
  ],
@@ -28,31 +27,31 @@
28
27
 
29
28
  ],
30
29
  "backup_window": 10,
31
- "members": [
32
- "internal_app_master.compute-1.internal"
33
- ],
34
- "alert_email": "ALERT-EMAIL",
35
30
  "gems_to_install": [
36
31
  {
37
32
  "name": "rails",
38
- "version": "3.0.0"
33
+ "version": "3.0.3"
34
+ },
35
+ {
36
+ "name": "rails",
37
+ "version": "3.0.3"
39
38
  }
40
39
  ],
41
40
  "applications": {
42
- "APP-NAME": {
41
+ "cm1_master_blue": {
43
42
  "auth": {
44
43
  "active": false
45
44
  },
46
45
  "newrelic": false,
47
46
  "https_bind_port": 443,
48
- "repository_name": "FAKE_REPOSITORY_URI",
47
+ "repository_name": "git@github.com:brighterplanet/cm1.git",
49
48
  "type": "rack",
50
49
  "migration_command": "rake db:migrate",
51
50
  "http_bind_port": 80,
52
51
  "revision": "",
53
52
  "run_deploy": false,
54
53
  "branch": "HEAD",
55
- "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nAPPS-0-DEPLOY-KEY\n-----END RSA PRIVATE KEY-----\n",
54
+ "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nijd-----END RSA PRIVATE KEY-----\n",
56
55
  "deploy_action": "deploy",
57
56
  "run_migrations": false,
58
57
  "services": [
@@ -72,197 +71,263 @@
72
71
  "memcached",
73
72
  "monit",
74
73
  "nginx",
75
- "nginx-passenger"
74
+ "unicorn"
76
75
  ],
77
76
  "vhosts": [
78
77
  {
79
78
  "name": "_",
80
- "role": "FAKE_ENVIRONMENT_NAME"
79
+ "role": "cm1_production_blue"
80
+ },
81
+ {
82
+ "name": "_",
83
+ "chain": "-----BEGIN CERTIFICATE-----\r\ndd\r\n-----END CERTIFICATE-----",
84
+ "role": "cm1_production_blue",
85
+ "crt": "-----BEGIN CERTIFICATE-----\nsd\n-----END CERTIFICATE-----",
86
+ "key": "-----BEGIN RSA PRIVATE KEY-----\nsd\n-----END RSA PRIVATE KEY-----"
87
+ }
88
+ ]
89
+ },
90
+ "cm1_certified_blue": {
91
+ "auth": {
92
+ "active": false
93
+ },
94
+ "newrelic": false,
95
+ "https_bind_port": 443,
96
+ "repository_name": "git@github.com:brighterplanet/cm1.git",
97
+ "type": "rack",
98
+ "migration_command": "rake db:migrate",
99
+ "http_bind_port": 80,
100
+ "revision": "",
101
+ "run_deploy": false,
102
+ "branch": "HEAD",
103
+ "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nsdad\n-----END RSA PRIVATE KEY-----\n",
104
+ "deploy_action": "deploy",
105
+ "run_migrations": false,
106
+ "services": [
107
+ {
108
+ "resource": "mongrel",
109
+ "mongrel_base_port": 5000,
110
+ "mongrel_mem_limit": 150,
111
+ "mongrel_instance_count": 3
112
+ },
113
+ {
114
+ "resource": "memcached",
115
+ "base_port": 11211,
116
+ "mem_limit": 128
117
+ }
118
+ ],
119
+ "recipes": [
120
+ "memcached",
121
+ "monit",
122
+ "nginx",
123
+ "unicorn"
124
+ ],
125
+ "vhosts": [
126
+ {
127
+ "name": "certified.cm1-production-blue.carbon.brighterplanet.com",
128
+ "role": "cm1_production_blue"
81
129
  }
82
130
  ]
83
131
  }
84
132
  },
85
- "aws_secret_id": "AWS-SECRET-ID",
133
+ "members": [
134
+ "ip-10-126-17-47.ec2.internal"
135
+ ],
136
+ "alert_email": "a@a.com",
137
+ "aws_secret_id": "asdjaoisd",
86
138
  "users": [
87
139
  {
88
140
  "gid": "1000",
89
- "username": "FAKE_SSH_USERNAME",
141
+ "username": "deploy",
90
142
  "uid": "1000",
91
143
  "comment": "",
92
144
  "password": "USERS-0-PASSWORD"
93
145
  }
94
146
  ],
95
- "environment": {
96
- "name": "FAKE_ENVIRONMENT_NAME",
97
- "stack": "FAKE_STACK_NAME",
98
- "framework_env": "production"
99
- },
100
147
  "master_app_server": {
101
- "private_dns_name": "internal_app_master.compute-1.internal",
102
- "public_ip": "external_app_master.compute-1.amazonaws.com"
148
+ "public_ip": "ec2-174-129-212-130.compute-1.amazonaws.com",
149
+ "private_dns_name": "ip-10-126-17-47.ec2.internal"
103
150
  },
104
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
151
+ "environment": {
152
+ "name": "cm1_production_blue",
153
+ "framework_env": "production",
154
+ "stack": "nginx_unicorn"
155
+ },
156
+ "reporting_url": "https://cloud.engineyard.com/reporting/asdasdasdasd",
105
157
  "packages_to_install": [
106
- {
107
- "name": "dev-libs/oniguruma"
108
- }
158
+
109
159
  ],
110
- "db_host": "FAKE_DB_HOST",
111
- "haproxy": {
112
- "username": "HAPROXY-USERNAME",
113
- "password": "HAPROXY-PASSWORD"
114
- },
160
+ "db_host": "ec2-67-202-19-255.compute-1.amazonaws.com",
115
161
  "engineyard": {
162
+ "this": "i-ff17d493",
116
163
  "environment": {
117
164
  "apps": [
118
165
  {
119
- "name": "FAKE_APP_NAME",
166
+ "name": "cm1_certified_blue",
120
167
  "newrelic": false,
121
168
  "components": [
169
+ {
170
+ "collection": [
122
171
 
172
+ ],
173
+ "key": "addons"
174
+ }
123
175
  ],
124
- "database_name": "FAKE_APP_NAME",
176
+ "database_name": "cm1_certified_blue",
125
177
  "migration_command": "rake db:migrate",
126
178
  "type": "rack",
127
- "repository_name": "FAKE_REPOSITORY_URI",
179
+ "repository_name": "git@github.com:brighterplanet/cm1.git",
128
180
  "run_deploy": false,
129
181
  "revision": "",
130
182
  "bundled": null,
131
183
  "branch": "HEAD",
132
184
  "run_migrations": false,
133
185
  "deploy_action": "deploy",
134
- "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nAPPS-0-DEPLOY-KEY\n-----END RSA PRIVATE KEY-----\n",
186
+ "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nasdasd\n-----END RSA PRIVATE KEY-----\n",
135
187
  "gems": [
136
188
  {
137
189
  "name": "rails",
138
- "version": "3.0.0",
190
+ "version": "3.0.3",
139
191
  "source": null
140
192
  }
141
193
  ],
142
194
  "vhosts": [
143
195
  {
144
196
  "ssl_cert": null,
145
- "domain_name": "_"
197
+ "domain_name": "certified.cm1-production-blue.carbon.brighterplanet.com"
146
198
  }
147
199
  ],
148
200
  "ebuilds": [
149
- {
150
- "name": "dev-libs/oniguruma"
151
- }
201
+
152
202
  ]
153
- }
154
- ],
155
- "aws_secret_key": "AWS-SECRET-KEY",
156
- "name": "FAKE_ENVIRONMENT_NAME",
157
- "ssh_keys": [
158
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-a",
159
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-b",
160
- "ssh-rsa AAAAB3NzaC1yc2EAAAAB key-c"
161
- ],
162
- "instances": [
203
+ },
163
204
  {
164
- "name": null,
165
- "public_hostname": "app_master.compute-1.amazonaws.com",
205
+ "name": "cm1_master_blue",
206
+ "newrelic": false,
166
207
  "components": [
167
208
  {
168
- "key": "ssmtp"
209
+ "collection": [
210
+
211
+ ],
212
+ "key": "addons"
169
213
  }
170
214
  ],
171
- "role": "app_master",
172
- "enabled": true,
173
- "id": "i-deadbeef",
174
- "private_hostname": "internal_app_master.compute-1.internal",
175
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
176
- "awsm_token": "app_master-aws_token"
177
- },
178
- {
179
- "name": null,
180
- "public_hostname": "app_1.compute-1.amazonaws.com",
181
- "components": [
215
+ "database_name": "cm1_master_blue",
216
+ "migration_command": "rake db:migrate",
217
+ "type": "rack",
218
+ "repository_name": "git@github.com:brighterplanet/cm1.git",
219
+ "run_deploy": false,
220
+ "revision": "",
221
+ "bundled": null,
222
+ "branch": "HEAD",
223
+ "run_migrations": false,
224
+ "deploy_action": "deploy",
225
+ "deploy_key": "-----BEGIN RSA PRIVATE KEY-----\nasdsd\n-----END RSA PRIVATE KEY-----\n",
226
+ "gems": [
182
227
  {
183
- "key": "ssmtp"
228
+ "name": "rails",
229
+ "version": "3.0.3",
230
+ "source": null
184
231
  }
185
232
  ],
186
- "role": "app",
187
- "enabled": true,
188
- "id": "i-app_1",
189
- "private_hostname": "internal_app_master.compute-1.internal",
190
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
191
- "awsm_token": "app_1-aws_token"
192
- },
193
- {
194
- "name": null,
195
- "public_hostname": "FAKE_DB_MASTER_PUBLIC_HOSTNAME",
196
- "components": [
233
+ "vhosts": [
197
234
  {
198
- "key": "ssmtp"
235
+ "ssl_cert": {
236
+ "certificate": "-----BEGIN CERTIFICATE-----\n\n-----END CERTIFICATE-----",
237
+ "certificate_chain": "-----BEGIN CERTIFICATE-----\r\n\r\n-----END CERTIFICATE-----",
238
+ "private_key": "-----BEGIN RSA PRIVATE KEY-----\n\n-----END RSA PRIVATE KEY-----"
239
+ },
240
+ "domain_name": "_"
199
241
  }
200
242
  ],
201
- "role": "db_master",
202
- "enabled": true,
203
- "id": "i-db_master",
204
- "private_hostname": "internal_db_master.compute-1.internal",
205
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
206
- "awsm_token": "db_master-aws_token"
207
- },
243
+ "ebuilds": [
244
+
245
+ ]
246
+ }
247
+ ],
248
+ "aws_secret_key": "BeqxA/9O7/sz3ENzXOwLiSsPsqbHECHdySjZQhIK",
249
+ "name": "cm1_production_blue",
250
+ "ssh_keys": [
251
+ "ssh-rsa a",
252
+ "ssh-rsa b",
253
+ "ssh-rsa c",
254
+ "ssh-rsa d",
255
+ "ssh-rsa e"
256
+ ],
257
+ "instances": [
208
258
  {
209
259
  "name": null,
210
- "public_hostname": "db_slave_1.compute-1.amazonaws.com",
260
+ "public_hostname": "ec2-174-129-212-130.compute-1.amazonaws.com",
211
261
  "components": [
212
262
  {
213
263
  "key": "ssmtp"
214
264
  }
215
265
  ],
216
- "role": "db_slave",
266
+ "stonith_config": {
267
+ "endpoint_uri": "https://cloud.engineyard.com/stonith",
268
+ "endpoint_token": "asdasd",
269
+ "monitor_host": "ip-10-126-17-47.ec2.internal",
270
+ "endpoint_id": "i-ff17d493"
271
+ },
272
+ "role": "app_master",
217
273
  "enabled": true,
218
- "id": "i-db_slave_1",
219
- "private_hostname": "internal_db_slave_1.compute-1.internal",
220
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
221
- "awsm_token": "db_slave_1-aws_token"
274
+ "id": "i-ff17d493",
275
+ "private_hostname": "ip-10-126-17-47.ec2.internal",
276
+ "reporting_url": "https://cloud.engineyard.com/reporting/asdasd",
277
+ "awsm_token": "asasdasd"
222
278
  },
223
279
  {
224
- "name": "foobarfoo",
225
- "public_hostname": "FAKE_UTIL_1_PUBLIC_HOSTNAME",
280
+ "name": null,
281
+ "public_hostname": "ec2-67-202-19-255.compute-1.amazonaws.com",
226
282
  "components": [
227
283
  {
228
284
  "key": "ssmtp"
229
285
  }
230
286
  ],
231
- "role": "util",
287
+ "stonith_config": {
288
+ "endpoint_uri": "https://cloud.engineyard.com/stonith",
289
+ "endpoint_token": "asdasd",
290
+ "monitor_host": "ip-10-126-17-47.ec2.internal",
291
+ "endpoint_id": "i-f917d495"
292
+ },
293
+ "role": "db_master",
232
294
  "enabled": true,
233
- "id": "i-util_1",
234
- "private_hostname": "internal_util_1.compute-1.internal",
235
- "reporting_url": "https://cloud.engineyard.com/reporting/abcde",
236
- "awsm_token": "util_1-aws_token"
295
+ "id": "i-f917d495",
296
+ "private_hostname": "ip-10-126-18-67.ec2.internal",
297
+ "reporting_url": "https://cloud.engineyard.com/reporting/asdasd",
298
+ "awsm_token": "asasd"
237
299
  }
238
300
  ],
239
301
  "stonith_endpoint": "https://cloud.engineyard.com/stonith",
240
302
  "ruby_version": null,
241
303
  "framework_env": "production",
242
304
  "backup_interval": 24,
243
- "admin_ssh_key": "ssh-rsa AAAAB3NzaC1 ey-cloud-production\n",
244
- "internal_ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAAB \n",
245
- "ssh_username": "FAKE_SSH_USERNAME",
246
- "internal_ssh_private_key": "-----BEGIN RSA PRIVATE KEY-----\nINTERNAL-SSH-PRIVATE-KEY\n-----END RSA PRIVATE KEY-----\n",
305
+ "admin_ssh_key": "ssh-rsa asdasd\n",
306
+ "internal_ssh_public_key": "ssh-rsa asdasd \n",
307
+ "ssh_username": "deploy",
308
+ "internal_ssh_private_key": "-----BEGIN RSA PRIVATE KEY-----\nasasd-----END RSA PRIVATE KEY-----\n",
247
309
  "mailserver": "smtp.engineyard.com",
248
310
  "components": [
249
311
  {
250
- "key": "ruby_187"
312
+ "key": "ruby_192"
251
313
  }
252
314
  ],
253
- "stats_password": "STATS-PASSWORD",
254
315
  "crons": [
255
316
 
256
317
  ],
318
+ "stats_password": "asdasdasd",
257
319
  "backup_window": 10,
258
- "stack_name": "FAKE_STACK_NAME",
259
- "alert_email": "ALERT-EMAIL",
260
- "ssh_password": "SSH-PASSWORD",
320
+ "stack_name": "nginx_unicorn",
321
+ "alert_email": "a@a.com",
322
+ "ssh_password": "USERS-0-PASSWORD",
261
323
  "db_stack_name": "mysql",
262
- "aws_secret_id": "AWS-SECRET-ID",
324
+ "aws_secret_id": "asasd",
263
325
  "newrelic_key": null,
264
326
  "monitoring": "monit"
265
- },
266
- "this": "i-deadbeef"
327
+ }
328
+ },
329
+ "haproxy": {
330
+ "username": "deploy",
331
+ "password": "asdasasd"
267
332
  }
268
333
  }