simple_deploy 0.7.2 → 0.7.3

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.
Files changed (89) hide show
  1. data/.gitignore +3 -0
  2. data/CHANGELOG.md +6 -0
  3. data/lib/simple_deploy/aws/cloud_formation/error.rb +32 -0
  4. data/lib/simple_deploy/aws/cloud_formation.rb +76 -0
  5. data/lib/simple_deploy/aws/instance_reader.rb +59 -0
  6. data/lib/simple_deploy/aws/simpledb.rb +52 -0
  7. data/lib/simple_deploy/aws.rb +4 -0
  8. data/lib/simple_deploy/cli/attributes.rb +7 -18
  9. data/lib/simple_deploy/cli/clone.rb +9 -19
  10. data/lib/simple_deploy/cli/create.rb +5 -14
  11. data/lib/simple_deploy/cli/deploy.rb +8 -11
  12. data/lib/simple_deploy/cli/destroy.rb +4 -10
  13. data/lib/simple_deploy/cli/environments.rb +1 -1
  14. data/lib/simple_deploy/cli/events.rb +5 -11
  15. data/lib/simple_deploy/cli/execute.rb +6 -9
  16. data/lib/simple_deploy/cli/instances.rb +4 -9
  17. data/lib/simple_deploy/cli/list.rb +5 -10
  18. data/lib/simple_deploy/cli/outputs.rb +5 -11
  19. data/lib/simple_deploy/cli/parameters.rb +5 -11
  20. data/lib/simple_deploy/cli/protect.rb +5 -10
  21. data/lib/simple_deploy/cli/resources.rb +5 -11
  22. data/lib/simple_deploy/cli/shared.rb +6 -6
  23. data/lib/simple_deploy/cli/status.rb +5 -11
  24. data/lib/simple_deploy/cli/template.rb +8 -13
  25. data/lib/simple_deploy/cli/update.rb +6 -10
  26. data/lib/simple_deploy/configuration.rb +102 -0
  27. data/lib/simple_deploy/entry.rb +71 -0
  28. data/lib/simple_deploy/entry_lister.rb +30 -0
  29. data/lib/simple_deploy/exceptions.rb +8 -0
  30. data/lib/simple_deploy/misc/attribute_merger.rb +2 -5
  31. data/lib/simple_deploy/notifier/campfire.rb +15 -12
  32. data/lib/simple_deploy/notifier.rb +6 -11
  33. data/lib/simple_deploy/stack/deployment/status.rb +5 -3
  34. data/lib/simple_deploy/stack/deployment.rb +8 -10
  35. data/lib/simple_deploy/stack/execute.rb +2 -3
  36. data/lib/simple_deploy/stack/output_mapper.rb +1 -4
  37. data/lib/simple_deploy/stack/ssh.rb +4 -4
  38. data/lib/simple_deploy/stack/{stack_attribute_formater.rb → stack_attribute_formatter.rb} +4 -6
  39. data/lib/simple_deploy/stack/stack_creator.rb +46 -0
  40. data/lib/simple_deploy/stack/stack_destroyer.rb +19 -0
  41. data/lib/simple_deploy/stack/stack_formatter.rb +25 -0
  42. data/lib/simple_deploy/stack/stack_lister.rb +18 -0
  43. data/lib/simple_deploy/stack/stack_reader.rb +56 -0
  44. data/lib/simple_deploy/stack/stack_updater.rb +67 -0
  45. data/lib/simple_deploy/stack/status.rb +53 -0
  46. data/lib/simple_deploy/stack.rb +89 -37
  47. data/lib/simple_deploy/version.rb +1 -1
  48. data/lib/simple_deploy.rb +31 -1
  49. data/simple_deploy.gemspec +6 -3
  50. data/spec/aws/cloud_formation/error_spec.rb +50 -0
  51. data/spec/aws/cloud_formation_spec.rb +207 -0
  52. data/spec/aws/instance_reader_spec.rb +96 -0
  53. data/spec/aws/simpledb_spec.rb +89 -0
  54. data/spec/cli/attributes_spec.rb +5 -15
  55. data/spec/cli/clone_spec.rb +14 -27
  56. data/spec/cli/create_spec.rb +11 -18
  57. data/spec/cli/deploy_spec.rb +24 -63
  58. data/spec/cli/destroy_spec.rb +7 -25
  59. data/spec/cli/outputs_spec.rb +12 -17
  60. data/spec/cli/protect_spec.rb +68 -106
  61. data/spec/cli/shared_spec.rb +12 -15
  62. data/spec/cli/update_spec.rb +9 -27
  63. data/spec/config_spec.rb +47 -14
  64. data/spec/contexts/config_contexts.rb +28 -0
  65. data/spec/contexts/logger_contexts.rb +9 -0
  66. data/spec/contexts/stack_contexts.rb +40 -0
  67. data/spec/entry_lister_spec.rb +31 -0
  68. data/spec/entry_spec.rb +86 -0
  69. data/spec/misc/attribute_merger_spec.rb +3 -8
  70. data/spec/notifier/campfire_spec.rb +21 -61
  71. data/spec/notifier_spec.rb +18 -40
  72. data/spec/spec_helper.rb +10 -0
  73. data/spec/stack/deployment/status_spec.rb +13 -13
  74. data/spec/stack/deployment_spec.rb +26 -21
  75. data/spec/stack/execute_spec.rb +7 -3
  76. data/spec/stack/output_mapper_spec.rb +3 -15
  77. data/spec/stack/ssh_spec.rb +14 -13
  78. data/spec/stack/{stack_attribute_formater_spec.rb → stack_attribute_formatter_spec.rb} +19 -16
  79. data/spec/stack/stack_creator_spec.rb +46 -0
  80. data/spec/stack/stack_destroyer_spec.rb +18 -0
  81. data/spec/stack/stack_formatter_spec.rb +37 -0
  82. data/spec/stack/stack_lister_spec.rb +17 -0
  83. data/spec/stack/stack_reader_spec.rb +81 -0
  84. data/spec/stack/stack_updater_spec.rb +79 -0
  85. data/spec/stack/status_spec.rb +106 -0
  86. data/spec/stack_spec.rb +160 -133
  87. metadata +112 -19
  88. data/.rvmrc +0 -1
  89. data/lib/simple_deploy/config.rb +0 -87
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_deploy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-21 00:00:00.000000000 Z
12
+ date: 2013-05-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fakefs
@@ -50,7 +50,7 @@ dependencies:
50
50
  requirements:
51
51
  - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 2.11.0
53
+ version: 2.13.0
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,7 +58,39 @@ dependencies:
58
58
  requirements:
59
59
  - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 2.11.0
61
+ version: 2.13.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: simplecov
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 0.7.1
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.7.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: timecop
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.6.1
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.6.1
62
94
  - !ruby/object:Gem::Dependency
63
95
  name: capistrano
64
96
  requirement: !ruby/object:Gem::Requirement
@@ -76,13 +108,29 @@ dependencies:
76
108
  - !ruby/object:Gem::Version
77
109
  version: 2.13.5
78
110
  - !ruby/object:Gem::Dependency
79
- name: stackster
111
+ name: esbit
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.4
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 0.0.4
126
+ - !ruby/object:Gem::Dependency
127
+ name: trollop
80
128
  requirement: !ruby/object:Gem::Requirement
81
129
  none: false
82
130
  requirements:
83
131
  - - '='
84
132
  - !ruby/object:Gem::Version
85
- version: 0.4.4
133
+ version: '2.0'
86
134
  type: :runtime
87
135
  prerelease: false
88
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,15 +138,15 @@ dependencies:
90
138
  requirements:
91
139
  - - '='
92
140
  - !ruby/object:Gem::Version
93
- version: 0.4.4
141
+ version: '2.0'
94
142
  - !ruby/object:Gem::Dependency
95
- name: tinder
143
+ name: fog
96
144
  requirement: !ruby/object:Gem::Requirement
97
145
  none: false
98
146
  requirements:
99
147
  - - '='
100
148
  - !ruby/object:Gem::Version
101
- version: 1.8.0
149
+ version: 1.10.0
102
150
  type: :runtime
103
151
  prerelease: false
104
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,15 +154,15 @@ dependencies:
106
154
  requirements:
107
155
  - - '='
108
156
  - !ruby/object:Gem::Version
109
- version: 1.8.0
157
+ version: 1.10.0
110
158
  - !ruby/object:Gem::Dependency
111
- name: trollop
159
+ name: xml-simple
112
160
  requirement: !ruby/object:Gem::Requirement
113
161
  none: false
114
162
  requirements:
115
163
  - - '='
116
164
  - !ruby/object:Gem::Version
117
- version: '2.0'
165
+ version: 1.1.2
118
166
  type: :runtime
119
167
  prerelease: false
120
168
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,7 +170,7 @@ dependencies:
122
170
  requirements:
123
171
  - - '='
124
172
  - !ruby/object:Gem::Version
125
- version: '2.0'
173
+ version: 1.1.2
126
174
  description: Opinionated gem for Managing AWS Cloud Formation stacks and deploying
127
175
  updates to Instances.
128
176
  email:
@@ -133,7 +181,6 @@ extensions: []
133
181
  extra_rdoc_files: []
134
182
  files:
135
183
  - .gitignore
136
- - .rvmrc
137
184
  - .travis.yml
138
185
  - CHANGELOG.md
139
186
  - Gemfile
@@ -143,6 +190,11 @@ files:
143
190
  - bin/simple_deploy
144
191
  - lib/simple_deploy.rb
145
192
  - lib/simple_deploy/artifact.rb
193
+ - lib/simple_deploy/aws.rb
194
+ - lib/simple_deploy/aws/cloud_formation.rb
195
+ - lib/simple_deploy/aws/cloud_formation/error.rb
196
+ - lib/simple_deploy/aws/instance_reader.rb
197
+ - lib/simple_deploy/aws/simpledb.rb
146
198
  - lib/simple_deploy/backoff.rb
147
199
  - lib/simple_deploy/cli.rb
148
200
  - lib/simple_deploy/cli/attributes.rb
@@ -163,7 +215,9 @@ files:
163
215
  - lib/simple_deploy/cli/status.rb
164
216
  - lib/simple_deploy/cli/template.rb
165
217
  - lib/simple_deploy/cli/update.rb
166
- - lib/simple_deploy/config.rb
218
+ - lib/simple_deploy/configuration.rb
219
+ - lib/simple_deploy/entry.rb
220
+ - lib/simple_deploy/entry_lister.rb
167
221
  - lib/simple_deploy/env.rb
168
222
  - lib/simple_deploy/exceptions.rb
169
223
  - lib/simple_deploy/logger.rb
@@ -177,11 +231,22 @@ files:
177
231
  - lib/simple_deploy/stack/execute.rb
178
232
  - lib/simple_deploy/stack/output_mapper.rb
179
233
  - lib/simple_deploy/stack/ssh.rb
180
- - lib/simple_deploy/stack/stack_attribute_formater.rb
234
+ - lib/simple_deploy/stack/stack_attribute_formatter.rb
235
+ - lib/simple_deploy/stack/stack_creator.rb
236
+ - lib/simple_deploy/stack/stack_destroyer.rb
237
+ - lib/simple_deploy/stack/stack_formatter.rb
238
+ - lib/simple_deploy/stack/stack_lister.rb
239
+ - lib/simple_deploy/stack/stack_reader.rb
240
+ - lib/simple_deploy/stack/stack_updater.rb
241
+ - lib/simple_deploy/stack/status.rb
181
242
  - lib/simple_deploy/template.rb
182
243
  - lib/simple_deploy/version.rb
183
244
  - simple_deploy.gemspec
184
245
  - spec/artifact_spec.rb
246
+ - spec/aws/cloud_formation/error_spec.rb
247
+ - spec/aws/cloud_formation_spec.rb
248
+ - spec/aws/instance_reader_spec.rb
249
+ - spec/aws/simpledb_spec.rb
185
250
  - spec/backoff_spec.rb
186
251
  - spec/cli/attributes_spec.rb
187
252
  - spec/cli/clone_spec.rb
@@ -194,6 +259,11 @@ files:
194
259
  - spec/cli/update_spec.rb
195
260
  - spec/cli_spec.rb
196
261
  - spec/config_spec.rb
262
+ - spec/contexts/config_contexts.rb
263
+ - spec/contexts/logger_contexts.rb
264
+ - spec/contexts/stack_contexts.rb
265
+ - spec/entry_lister_spec.rb
266
+ - spec/entry_spec.rb
197
267
  - spec/logger_spec.rb
198
268
  - spec/misc/attribute_merger_spec.rb
199
269
  - spec/notifier/campfire_spec.rb
@@ -204,7 +274,14 @@ files:
204
274
  - spec/stack/execute_spec.rb
205
275
  - spec/stack/output_mapper_spec.rb
206
276
  - spec/stack/ssh_spec.rb
207
- - spec/stack/stack_attribute_formater_spec.rb
277
+ - spec/stack/stack_attribute_formatter_spec.rb
278
+ - spec/stack/stack_creator_spec.rb
279
+ - spec/stack/stack_destroyer_spec.rb
280
+ - spec/stack/stack_formatter_spec.rb
281
+ - spec/stack/stack_lister_spec.rb
282
+ - spec/stack/stack_reader_spec.rb
283
+ - spec/stack/stack_updater_spec.rb
284
+ - spec/stack/status_spec.rb
208
285
  - spec/stack_spec.rb
209
286
  - spec/template_spec.rb
210
287
  homepage: ''
@@ -227,12 +304,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
304
  version: '0'
228
305
  requirements: []
229
306
  rubyforge_project: simple_deploy
230
- rubygems_version: 1.8.24
307
+ rubygems_version: 1.8.23
231
308
  signing_key:
232
309
  specification_version: 3
233
310
  summary: Opinionated gem for AWS resource management.
234
311
  test_files:
235
312
  - spec/artifact_spec.rb
313
+ - spec/aws/cloud_formation/error_spec.rb
314
+ - spec/aws/cloud_formation_spec.rb
315
+ - spec/aws/instance_reader_spec.rb
316
+ - spec/aws/simpledb_spec.rb
236
317
  - spec/backoff_spec.rb
237
318
  - spec/cli/attributes_spec.rb
238
319
  - spec/cli/clone_spec.rb
@@ -245,6 +326,11 @@ test_files:
245
326
  - spec/cli/update_spec.rb
246
327
  - spec/cli_spec.rb
247
328
  - spec/config_spec.rb
329
+ - spec/contexts/config_contexts.rb
330
+ - spec/contexts/logger_contexts.rb
331
+ - spec/contexts/stack_contexts.rb
332
+ - spec/entry_lister_spec.rb
333
+ - spec/entry_spec.rb
248
334
  - spec/logger_spec.rb
249
335
  - spec/misc/attribute_merger_spec.rb
250
336
  - spec/notifier/campfire_spec.rb
@@ -255,6 +341,13 @@ test_files:
255
341
  - spec/stack/execute_spec.rb
256
342
  - spec/stack/output_mapper_spec.rb
257
343
  - spec/stack/ssh_spec.rb
258
- - spec/stack/stack_attribute_formater_spec.rb
344
+ - spec/stack/stack_attribute_formatter_spec.rb
345
+ - spec/stack/stack_creator_spec.rb
346
+ - spec/stack/stack_destroyer_spec.rb
347
+ - spec/stack/stack_formatter_spec.rb
348
+ - spec/stack/stack_lister_spec.rb
349
+ - spec/stack/stack_reader_spec.rb
350
+ - spec/stack/stack_updater_spec.rb
351
+ - spec/stack/status_spec.rb
259
352
  - spec/stack_spec.rb
260
353
  - spec/template_spec.rb
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use ruby-1.9.3-p327@simple_deploy --create
@@ -1,87 +0,0 @@
1
- module SimpleDeploy
2
- class Config
3
-
4
- attr_accessor :config, :logger
5
-
6
- def initialize(args = {})
7
- self.config = args.fetch(:config) { load_config_file }
8
- self.logger = args[:logger] ||= SimpleDeployLogger.new
9
- end
10
-
11
- def artifacts
12
- ['chef_repo', 'cookbooks', 'app']
13
- end
14
-
15
- def artifact_deploy_variable(artifact)
16
- name_to_variable_map = { 'chef_repo' => 'CHEF_REPO_URL',
17
- 'app' => 'APP_URL',
18
- 'cookbooks' => 'COOKBOOKS_URL' }
19
- name_to_variable_map[artifact]
20
- end
21
-
22
- def artifact_cloud_formation_url(artifact)
23
- name_to_url_map = { 'chef_repo' => 'ChefRepoURL',
24
- 'app' => 'AppArtifactURL',
25
- 'cookbooks' => 'CookbooksURL' }
26
- name_to_url_map[artifact]
27
- end
28
-
29
- def deploy_script
30
- '/opt/intu/admin/bin/configure.sh'
31
- end
32
-
33
- def environments
34
- config['environments']
35
- end
36
-
37
- def environment(name)
38
- raise "Environment not found" unless environments.include? name
39
- environments[name]
40
- end
41
-
42
- def notifications
43
- config['notifications']
44
- end
45
-
46
- def region(name)
47
- environment(name)['region']
48
- end
49
-
50
- private
51
-
52
- def load_config_file
53
- begin
54
- YAML::load( File.open( config_file ) )
55
- rescue Errno::ENOENT
56
- raise "#{config_file} not found"
57
- rescue ArgumentError, Psych::SyntaxError => e
58
- raise "#{config_file} is corrupt"
59
- end
60
- end
61
-
62
- def env_home
63
- env.load 'HOME'
64
- end
65
-
66
- def env_user
67
- env.load 'USER'
68
- end
69
-
70
- def config_file
71
- env_config_file || default_config_file
72
- end
73
-
74
- def env_config_file
75
- env.load 'SIMPLE_DEPLOY_CONFIG_FILE'
76
- end
77
-
78
- def default_config_file
79
- "#{env.load 'HOME'}/.simple_deploy.yml"
80
- end
81
-
82
- def env
83
- @env ||= SimpleDeploy::Env.new
84
- end
85
-
86
- end
87
- end