stemcell 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +18 -0
- data/lib/stemcell/command_line.rb +2 -2
- data/lib/stemcell/errors.rb +3 -2
- data/lib/stemcell/metadata_source/chef_repository.rb +55 -0
- data/lib/stemcell/metadata_source/configuration.rb +77 -0
- data/lib/stemcell/metadata_source.rb +51 -98
- data/lib/stemcell/version.rb +1 -1
- data/lib/stemcell.rb +0 -2
- data/spec/fixtures/chef_repo/roles/unit-inherit-base.rb +20 -0
- data/spec/fixtures/chef_repo/roles/unit-inherit-both.rb +36 -0
- data/spec/fixtures/chef_repo/roles/unit-inherit-default.rb +21 -0
- data/spec/fixtures/chef_repo/roles/unit-inherit-none.rb +6 -0
- data/spec/fixtures/chef_repo/roles/unit-inherit-override.rb +21 -0
- data/spec/fixtures/chef_repo/roles/unit-simple-both.rb +29 -0
- data/spec/fixtures/chef_repo/roles/unit-simple-default.rb +16 -0
- data/spec/fixtures/chef_repo/roles/unit-simple-none.rb +2 -0
- data/spec/fixtures/chef_repo/roles/unit-simple-override.rb +16 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-both.json +16 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-default.json +14 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-none.json +11 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-override.json +14 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-both.json +13 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-default.json +11 -0
- data/spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-override.json +11 -0
- data/spec/fixtures/chef_repo/stemcell-azs-missing.json +10 -0
- data/spec/fixtures/chef_repo/stemcell-backing-store-empty.json +9 -0
- data/spec/fixtures/chef_repo/stemcell-backing-store-missing.json +8 -0
- data/spec/fixtures/chef_repo/stemcell-defaults-missing.json +10 -0
- data/spec/fixtures/chef_repo/stemcell.json +13 -0
- data/spec/lib/stemcell/metadata_source/chef_repository_spec.rb +107 -0
- data/spec/lib/stemcell/metadata_source/configuration_spec.rb +117 -0
- data/spec/lib/stemcell/metadata_source_spec.rb +250 -0
- data/spec/spec_helper.rb +13 -0
- data/spec/support/fixture_helper.rb +14 -0
- metadata +60 -24
- data/lib/stemcell/utility/deep_merge.rb +0 -13
- data/lib/stemcell/utility.rb +0 -1
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stemcell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Martin Rhoads
|
@@ -12,12 +11,11 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2013-11-
|
14
|
+
date: 2013-11-12 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: aws-sdk
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
20
|
- - ~>
|
23
21
|
- !ruby/object:Gem::Version
|
@@ -25,7 +23,6 @@ dependencies:
|
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
27
|
- - ~>
|
31
28
|
- !ruby/object:Gem::Version
|
@@ -33,7 +30,6 @@ dependencies:
|
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: net-ssh
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
34
|
- - ~>
|
39
35
|
- !ruby/object:Gem::Version
|
@@ -41,7 +37,6 @@ dependencies:
|
|
41
37
|
type: :runtime
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
41
|
- - ~>
|
47
42
|
- !ruby/object:Gem::Version
|
@@ -49,7 +44,6 @@ dependencies:
|
|
49
44
|
- !ruby/object:Gem::Dependency
|
50
45
|
name: chef
|
51
46
|
requirement: !ruby/object:Gem::Requirement
|
52
|
-
none: false
|
53
47
|
requirements:
|
54
48
|
- - ~>
|
55
49
|
- !ruby/object:Gem::Version
|
@@ -57,7 +51,6 @@ dependencies:
|
|
57
51
|
type: :runtime
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
none: false
|
61
54
|
requirements:
|
62
55
|
- - ~>
|
63
56
|
- !ruby/object:Gem::Version
|
@@ -65,7 +58,6 @@ dependencies:
|
|
65
58
|
- !ruby/object:Gem::Dependency
|
66
59
|
name: trollop
|
67
60
|
requirement: !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
61
|
requirements:
|
70
62
|
- - ~>
|
71
63
|
- !ruby/object:Gem::Version
|
@@ -73,7 +65,6 @@ dependencies:
|
|
73
65
|
type: :runtime
|
74
66
|
prerelease: false
|
75
67
|
version_requirements: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
68
|
requirements:
|
78
69
|
- - ~>
|
79
70
|
- !ruby/object:Gem::Version
|
@@ -81,7 +72,6 @@ dependencies:
|
|
81
72
|
- !ruby/object:Gem::Dependency
|
82
73
|
name: aws-creds
|
83
74
|
requirement: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
75
|
requirements:
|
86
76
|
- - ~>
|
87
77
|
- !ruby/object:Gem::Version
|
@@ -89,7 +79,6 @@ dependencies:
|
|
89
79
|
type: :runtime
|
90
80
|
prerelease: false
|
91
81
|
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
82
|
requirements:
|
94
83
|
- - ~>
|
95
84
|
- !ruby/object:Gem::Version
|
@@ -97,7 +86,6 @@ dependencies:
|
|
97
86
|
- !ruby/object:Gem::Dependency
|
98
87
|
name: colored
|
99
88
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
89
|
requirements:
|
102
90
|
- - ~>
|
103
91
|
- !ruby/object:Gem::Version
|
@@ -105,7 +93,6 @@ dependencies:
|
|
105
93
|
type: :runtime
|
106
94
|
prerelease: false
|
107
95
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
96
|
requirements:
|
110
97
|
- - ~>
|
111
98
|
- !ruby/object:Gem::Version
|
@@ -113,7 +100,6 @@ dependencies:
|
|
113
100
|
- !ruby/object:Gem::Dependency
|
114
101
|
name: json
|
115
102
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
103
|
requirements:
|
118
104
|
- - ~>
|
119
105
|
- !ruby/object:Gem::Version
|
@@ -121,7 +107,6 @@ dependencies:
|
|
121
107
|
type: :runtime
|
122
108
|
prerelease: false
|
123
109
|
version_requirements: !ruby/object:Gem::Requirement
|
124
|
-
none: false
|
125
110
|
requirements:
|
126
111
|
- - ~>
|
127
112
|
- !ruby/object:Gem::Version
|
@@ -153,34 +138,85 @@ files:
|
|
153
138
|
- lib/stemcell/log_tailer.rb
|
154
139
|
- lib/stemcell/metadata_launcher.rb
|
155
140
|
- lib/stemcell/metadata_source.rb
|
141
|
+
- lib/stemcell/metadata_source/chef_repository.rb
|
142
|
+
- lib/stemcell/metadata_source/configuration.rb
|
156
143
|
- lib/stemcell/option_parser.rb
|
157
144
|
- lib/stemcell/templates/bootstrap.sh.erb
|
158
|
-
- lib/stemcell/utility.rb
|
159
|
-
- lib/stemcell/utility/deep_merge.rb
|
160
145
|
- lib/stemcell/version.rb
|
146
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-both.json
|
147
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-default.json
|
148
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-none.json
|
149
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-override.json
|
150
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-both.json
|
151
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-default.json
|
152
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-override.json
|
153
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-base.rb
|
154
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-both.rb
|
155
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-default.rb
|
156
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-none.rb
|
157
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-override.rb
|
158
|
+
- spec/fixtures/chef_repo/roles/unit-simple-both.rb
|
159
|
+
- spec/fixtures/chef_repo/roles/unit-simple-default.rb
|
160
|
+
- spec/fixtures/chef_repo/roles/unit-simple-none.rb
|
161
|
+
- spec/fixtures/chef_repo/roles/unit-simple-override.rb
|
162
|
+
- spec/fixtures/chef_repo/stemcell-azs-missing.json
|
163
|
+
- spec/fixtures/chef_repo/stemcell-backing-store-empty.json
|
164
|
+
- spec/fixtures/chef_repo/stemcell-backing-store-missing.json
|
165
|
+
- spec/fixtures/chef_repo/stemcell-defaults-missing.json
|
166
|
+
- spec/fixtures/chef_repo/stemcell.json
|
167
|
+
- spec/lib/stemcell/metadata_source/chef_repository_spec.rb
|
168
|
+
- spec/lib/stemcell/metadata_source/configuration_spec.rb
|
169
|
+
- spec/lib/stemcell/metadata_source_spec.rb
|
170
|
+
- spec/spec_helper.rb
|
171
|
+
- spec/support/fixture_helper.rb
|
161
172
|
- stemcell.gemspec
|
162
173
|
homepage: https://github.com/airbnb/stemcell
|
163
174
|
licenses: []
|
175
|
+
metadata: {}
|
164
176
|
post_install_message:
|
165
177
|
rdoc_options: []
|
166
178
|
require_paths:
|
167
179
|
- lib
|
168
180
|
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
181
|
requirements:
|
171
182
|
- - ! '>='
|
172
183
|
- !ruby/object:Gem::Version
|
173
184
|
version: '0'
|
174
185
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
186
|
requirements:
|
177
187
|
- - ! '>='
|
178
188
|
- !ruby/object:Gem::Version
|
179
189
|
version: '0'
|
180
190
|
requirements: []
|
181
191
|
rubyforge_project:
|
182
|
-
rubygems_version: 1.
|
192
|
+
rubygems_version: 2.1.9
|
183
193
|
signing_key:
|
184
|
-
specification_version:
|
194
|
+
specification_version: 4
|
185
195
|
summary: no summary
|
186
|
-
test_files:
|
196
|
+
test_files:
|
197
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-both.json
|
198
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-default.json
|
199
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-none.json
|
200
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-inherit-override.json
|
201
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-both.json
|
202
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-default.json
|
203
|
+
- spec/fixtures/chef_repo/roles-expected-metadata/unit-simple-override.json
|
204
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-base.rb
|
205
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-both.rb
|
206
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-default.rb
|
207
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-none.rb
|
208
|
+
- spec/fixtures/chef_repo/roles/unit-inherit-override.rb
|
209
|
+
- spec/fixtures/chef_repo/roles/unit-simple-both.rb
|
210
|
+
- spec/fixtures/chef_repo/roles/unit-simple-default.rb
|
211
|
+
- spec/fixtures/chef_repo/roles/unit-simple-none.rb
|
212
|
+
- spec/fixtures/chef_repo/roles/unit-simple-override.rb
|
213
|
+
- spec/fixtures/chef_repo/stemcell-azs-missing.json
|
214
|
+
- spec/fixtures/chef_repo/stemcell-backing-store-empty.json
|
215
|
+
- spec/fixtures/chef_repo/stemcell-backing-store-missing.json
|
216
|
+
- spec/fixtures/chef_repo/stemcell-defaults-missing.json
|
217
|
+
- spec/fixtures/chef_repo/stemcell.json
|
218
|
+
- spec/lib/stemcell/metadata_source/chef_repository_spec.rb
|
219
|
+
- spec/lib/stemcell/metadata_source/configuration_spec.rb
|
220
|
+
- spec/lib/stemcell/metadata_source_spec.rb
|
221
|
+
- spec/spec_helper.rb
|
222
|
+
- spec/support/fixture_helper.rb
|
@@ -1,13 +0,0 @@
|
|
1
|
-
class Hash
|
2
|
-
def deep_merge!(other_hash)
|
3
|
-
merge!(other_hash) do |key, oldval, newval|
|
4
|
-
# Coerce Chef-style attribute hashes to generic ones
|
5
|
-
oldval = oldval.to_hash if oldval.respond_to?(:to_hash)
|
6
|
-
newval = newval.to_hash if newval.respond_to?(:to_hash)
|
7
|
-
|
8
|
-
oldval.class.to_s == 'Hash' &&
|
9
|
-
newval.class.to_s == 'Hash' ?
|
10
|
-
oldval.deep_merge!(newval) : newval
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
data/lib/stemcell/utility.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'stemcell/utility/deep_merge'
|