opendelivery 0.3.2 → 0.4.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.
- checksums.yaml +4 -4
- data/lib/opsworks.rb +38 -1
- metadata +40 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12c5b2a2c1a61c9a0ea3fb271717796469e5407f
|
4
|
+
data.tar.gz: 360133cdbdada5f134240233f68425aee93a433a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcf3a40b1e1d796d4ca30ce5595e518429801a284bc3355436993469a923f5992a947ff7502390e08e13e1c289d8215269c8be1787a5f6cb885e2120a6ece831
|
7
|
+
data.tar.gz: 6b110b76f05843a760a4e7b77410849800c4c797619ceaccdb9932b331874180e253b9349e7abfbb97993e5d11620cf5482cce803201d557f1306fc2971f688f
|
data/lib/opsworks.rb
CHANGED
@@ -44,16 +44,40 @@ module OpsWorks
|
|
44
44
|
response = opsworks_client.create_stack(stack_description.stack_description)
|
45
45
|
stack_id = response[:stack_id]
|
46
46
|
|
47
|
-
stack_description.
|
47
|
+
wait_on_opsworks_sg_creation(stack_description.stack_description[:vpc_id]) if stack_description.stack_description[:vpc_id]
|
48
|
+
|
49
|
+
layer_descriptions = stack_description.layer_descriptions
|
50
|
+
layer_descriptions.each do |layer_description|
|
48
51
|
layer_description[:layer][:stack_id] = stack_id
|
49
52
|
|
50
53
|
response = opsworks_client.create_layer(layer_description[:layer])
|
51
54
|
layer_id = response[:layer_id]
|
55
|
+
layer_description[:layer][:layer_id] = layer_id
|
52
56
|
|
53
57
|
layer_description[:instances].each do |instance_description|
|
54
58
|
instance_description[:stack_id] = stack_id
|
55
59
|
instance_description[:layer_ids] = [layer_id]
|
60
|
+
|
61
|
+
save_off = instance_description[:extra_layers]
|
62
|
+
instance_description.delete :extra_layers
|
56
63
|
response = opsworks_client.create_instance(instance_description)
|
64
|
+
instance_description[:instance_id] = response[:instance_id]
|
65
|
+
instance_description[:extra_layers] = save_off
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
layer_descriptions.each do |layer_description|
|
70
|
+
layer_description[:instances].each do |instance_description|
|
71
|
+
if instance_description[:extra_layers]
|
72
|
+
instance_description[:extra_layers].each do |extra_layer_name|
|
73
|
+
found_extra_layer = layer_descriptions.find { |desc| desc[:layer][:name] == extra_layer_name }
|
74
|
+
|
75
|
+
raise "missing extra layer: #{extra_layer_name}" unless found_extra_layer
|
76
|
+
instance_description[:layer_ids] << found_extra_layer[:layer][:layer_id]
|
77
|
+
response = opsworks_client.update_instance(:instance_id => instance_description[:instance_id],
|
78
|
+
:layer_ids => instance_description[:layer_ids])
|
79
|
+
end
|
80
|
+
end
|
57
81
|
end
|
58
82
|
end
|
59
83
|
|
@@ -165,6 +189,19 @@ module OpsWorks
|
|
165
189
|
|
166
190
|
private
|
167
191
|
|
192
|
+
def wait_on_opsworks_sg_creation(vpc_id)
|
193
|
+
opsworks_security_group_names.each do |sg_name|
|
194
|
+
while AWS.ec2.security_groups.filter('vpc-id', vpc_id).filter('group-name', sg_name).count == 0
|
195
|
+
puts "Waiting on #{sg_name}, #{a = a ? a+1 : 1}"
|
196
|
+
sleep 1
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
def opsworks_security_group_names
|
202
|
+
%w{AWS-OpsWorks-Default-Server AWS-OpsWorks-Blank-Server AWS-OpsWorks-Custom-Server AWS-OpsWorks-Rails-App-Server}
|
203
|
+
end
|
204
|
+
|
168
205
|
def deployment_args_factory(app)
|
169
206
|
if app[:type] == 'rails'
|
170
207
|
{
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opendelivery
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Jakovich
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdoc
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
21
|
+
version: '4.1'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- -
|
26
|
+
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '
|
28
|
+
version: '4.1'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: rspec
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,6 +68,20 @@ dependencies:
|
|
68
68
|
- - '='
|
69
69
|
- !ruby/object:Gem::Version
|
70
70
|
version: 1.3.6
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: net-ssh
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 2.9.0
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - '='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 2.9.0
|
71
85
|
- !ruby/object:Gem::Dependency
|
72
86
|
name: encrypto_signo
|
73
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -96,20 +110,34 @@ dependencies:
|
|
96
110
|
- - '='
|
97
111
|
- !ruby/object:Gem::Version
|
98
112
|
version: 1.35.0
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: aws-sdk-core
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - '='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: 2.0.0.rc2
|
120
|
+
type: :runtime
|
121
|
+
prerelease: false
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
requirements:
|
124
|
+
- - '='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 2.0.0.rc2
|
99
127
|
- !ruby/object:Gem::Dependency
|
100
128
|
name: json
|
101
129
|
requirement: !ruby/object:Gem::Requirement
|
102
130
|
requirements:
|
103
|
-
- -
|
131
|
+
- - ~>
|
104
132
|
- !ruby/object:Gem::Version
|
105
|
-
version: '
|
133
|
+
version: '1.8'
|
106
134
|
type: :runtime
|
107
135
|
prerelease: false
|
108
136
|
version_requirements: !ruby/object:Gem::Requirement
|
109
137
|
requirements:
|
110
|
-
- -
|
138
|
+
- - ~>
|
111
139
|
- !ruby/object:Gem::Version
|
112
|
-
version: '
|
140
|
+
version: '1.8'
|
113
141
|
description: A collection of tools that are used in the Open Delivery platform.
|
114
142
|
email: brian.jakovich@stelligent.com
|
115
143
|
executables: []
|
@@ -117,12 +145,12 @@ extensions: []
|
|
117
145
|
extra_rdoc_files: []
|
118
146
|
files:
|
119
147
|
- lib/opendelivery.rb
|
120
|
-
- lib/opsworks.rb
|
121
148
|
- lib/opendelivery/domain.rb
|
122
149
|
- lib/opendelivery/machine_image.rb
|
123
150
|
- lib/opendelivery/source_control.rb
|
124
151
|
- lib/opendelivery/stack.rb
|
125
152
|
- lib/opendelivery/storage.rb
|
153
|
+
- lib/opsworks.rb
|
126
154
|
homepage: http://stelligent.com
|
127
155
|
licenses:
|
128
156
|
- MIT
|
@@ -144,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
172
|
version: '0'
|
145
173
|
requirements: []
|
146
174
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
175
|
+
rubygems_version: 2.2.2
|
148
176
|
signing_key:
|
149
177
|
specification_version: 4
|
150
178
|
summary: Open Delivery tools and utilities
|