ufo 2.0.0 → 2.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/Gemfile.lock +434 -30
- data/docs/_docs/conventions.md +3 -3
- data/docs/_docs/migrations.md +2 -2
- data/docs/_docs/run-in-pieces.md +1 -1
- data/docs/_docs/single-task.md +3 -3
- data/docs/_docs/ufo-ship.md +1 -1
- data/docs/_docs/ufo-ships.md +2 -2
- data/docs/_docs/variables.md +14 -5
- data/docs/_includes/commands.html +18 -17
- data/docs/_includes/css/ufo.css +6 -0
- data/docs/_includes/summary.html +21 -0
- data/docs/index.html +1 -0
- data/docs/quick-start.md +1 -1
- data/lib/ufo/cli.rb +1 -2
- data/lib/ufo/version.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 901c33e1b0a24becf54e7644d650bf85d71fbd3b
|
4
|
+
data.tar.gz: d0399d68f4c6f79ec453c4e9c0017c83550f22d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75d37361dbac59a62c28ed02b8069646149ae02d9fb2936afc4683d26b5bcaffb5c18a48f9e695d2a51ba4ba7960413ac76091a2cda38bc81737a7347996cf79
|
7
|
+
data.tar.gz: feb4af60fcc08406cb0fdaa3e1d8510ba2da72e388424e3e44acf5c53079267bb73ac7b41683b5fdbd6e6504c6160cd69e72d868ae903664abd5b0941dbeac0a
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [2.0.1]
|
7
|
+
* ufo init: remove --env option requirement
|
8
|
+
|
6
9
|
## [2.0.0]
|
7
10
|
* shared variable support
|
8
11
|
* UFO_ENV introduced
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ufo (
|
4
|
+
ufo (2.0.1)
|
5
5
|
aws-sdk
|
6
6
|
colorize
|
7
7
|
deep_merge
|
@@ -12,23 +12,437 @@ PATH
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
15
|
+
aws-partitions (1.21.0)
|
16
|
+
aws-sdk (3.0.1)
|
17
|
+
aws-sdk-resources (~> 3)
|
18
|
+
aws-sdk-acm (1.0.0)
|
19
|
+
aws-sdk-core (~> 3)
|
20
|
+
aws-sigv4 (~> 1.0)
|
21
|
+
aws-sdk-apigateway (1.0.0)
|
22
|
+
aws-sdk-core (~> 3)
|
23
|
+
aws-sigv4 (~> 1.0)
|
24
|
+
aws-sdk-applicationautoscaling (1.3.0)
|
25
|
+
aws-sdk-core (~> 3)
|
26
|
+
aws-sigv4 (~> 1.0)
|
27
|
+
aws-sdk-applicationdiscoveryservice (1.0.0)
|
28
|
+
aws-sdk-core (~> 3)
|
29
|
+
aws-sigv4 (~> 1.0)
|
30
|
+
aws-sdk-appstream (1.0.0)
|
31
|
+
aws-sdk-core (~> 3)
|
32
|
+
aws-sigv4 (~> 1.0)
|
33
|
+
aws-sdk-athena (1.0.0)
|
34
|
+
aws-sdk-core (~> 3)
|
35
|
+
aws-sigv4 (~> 1.0)
|
36
|
+
aws-sdk-autoscaling (1.2.0)
|
37
|
+
aws-sdk-core (~> 3)
|
38
|
+
aws-sigv4 (~> 1.0)
|
39
|
+
aws-sdk-batch (1.1.0)
|
40
|
+
aws-sdk-core (~> 3)
|
41
|
+
aws-sigv4 (~> 1.0)
|
42
|
+
aws-sdk-budgets (1.1.0)
|
43
|
+
aws-sdk-core (~> 3)
|
44
|
+
aws-sigv4 (~> 1.0)
|
45
|
+
aws-sdk-clouddirectory (1.0.0)
|
46
|
+
aws-sdk-core (~> 3)
|
47
|
+
aws-sigv4 (~> 1.0)
|
48
|
+
aws-sdk-cloudformation (1.0.0)
|
49
|
+
aws-sdk-core (~> 3)
|
50
|
+
aws-sigv4 (~> 1.0)
|
51
|
+
aws-sdk-cloudfront (1.0.0)
|
52
|
+
aws-sdk-core (~> 3)
|
53
|
+
aws-sigv4 (~> 1.0)
|
54
|
+
aws-sdk-cloudhsm (1.1.0)
|
55
|
+
aws-sdk-core (~> 3)
|
56
|
+
aws-sigv4 (~> 1.0)
|
57
|
+
aws-sdk-cloudhsmv2 (1.0.0)
|
58
|
+
aws-sdk-core (~> 3)
|
59
|
+
aws-sigv4 (~> 1.0)
|
60
|
+
aws-sdk-cloudsearch (1.0.0)
|
61
|
+
aws-sdk-core (~> 3)
|
62
|
+
aws-sigv4 (~> 1.0)
|
63
|
+
aws-sdk-cloudsearchdomain (1.0.0)
|
64
|
+
aws-sdk-core (~> 3)
|
65
|
+
aws-sigv4 (~> 1.0)
|
66
|
+
aws-sdk-cloudtrail (1.0.0)
|
67
|
+
aws-sdk-core (~> 3)
|
68
|
+
aws-sigv4 (~> 1.0)
|
69
|
+
aws-sdk-cloudwatch (1.1.0)
|
70
|
+
aws-sdk-core (~> 3)
|
71
|
+
aws-sigv4 (~> 1.0)
|
72
|
+
aws-sdk-cloudwatchevents (1.1.0)
|
73
|
+
aws-sdk-core (~> 3)
|
74
|
+
aws-sigv4 (~> 1.0)
|
75
|
+
aws-sdk-cloudwatchlogs (1.1.0)
|
76
|
+
aws-sdk-core (~> 3)
|
77
|
+
aws-sigv4 (~> 1.0)
|
78
|
+
aws-sdk-codebuild (1.1.0)
|
79
|
+
aws-sdk-core (~> 3)
|
80
|
+
aws-sigv4 (~> 1.0)
|
81
|
+
aws-sdk-codecommit (1.0.0)
|
82
|
+
aws-sdk-core (~> 3)
|
83
|
+
aws-sigv4 (~> 1.0)
|
84
|
+
aws-sdk-codedeploy (1.0.0)
|
85
|
+
aws-sdk-core (~> 3)
|
86
|
+
aws-sigv4 (~> 1.0)
|
87
|
+
aws-sdk-codepipeline (1.0.0)
|
88
|
+
aws-sdk-core (~> 3)
|
89
|
+
aws-sigv4 (~> 1.0)
|
90
|
+
aws-sdk-codestar (1.1.0)
|
91
|
+
aws-sdk-core (~> 3)
|
92
|
+
aws-sigv4 (~> 1.0)
|
93
|
+
aws-sdk-cognitoidentity (1.0.0)
|
94
|
+
aws-sdk-core (~> 3)
|
95
|
+
aws-sigv4 (~> 1.0)
|
96
|
+
aws-sdk-cognitoidentityprovider (1.0.0)
|
97
|
+
aws-sdk-core (~> 3)
|
98
|
+
aws-sigv4 (~> 1.0)
|
99
|
+
aws-sdk-cognitosync (1.0.0)
|
100
|
+
aws-sdk-core (~> 3)
|
101
|
+
aws-sigv4 (~> 1.0)
|
102
|
+
aws-sdk-configservice (1.0.0)
|
103
|
+
aws-sdk-core (~> 3)
|
104
|
+
aws-sigv4 (~> 1.0)
|
105
|
+
aws-sdk-core (3.5.0)
|
106
|
+
aws-partitions (~> 1.0)
|
26
107
|
aws-sigv4 (~> 1.0)
|
27
108
|
jmespath (~> 1.0)
|
28
|
-
aws-sdk-
|
29
|
-
aws-sdk-core (
|
30
|
-
|
31
|
-
|
109
|
+
aws-sdk-costandusagereportservice (1.0.0)
|
110
|
+
aws-sdk-core (~> 3)
|
111
|
+
aws-sigv4 (~> 1.0)
|
112
|
+
aws-sdk-databasemigrationservice (1.1.0)
|
113
|
+
aws-sdk-core (~> 3)
|
114
|
+
aws-sigv4 (~> 1.0)
|
115
|
+
aws-sdk-datapipeline (1.0.0)
|
116
|
+
aws-sdk-core (~> 3)
|
117
|
+
aws-sigv4 (~> 1.0)
|
118
|
+
aws-sdk-dax (1.0.0)
|
119
|
+
aws-sdk-core (~> 3)
|
120
|
+
aws-sigv4 (~> 1.0)
|
121
|
+
aws-sdk-devicefarm (1.2.0)
|
122
|
+
aws-sdk-core (~> 3)
|
123
|
+
aws-sigv4 (~> 1.0)
|
124
|
+
aws-sdk-directconnect (1.0.0)
|
125
|
+
aws-sdk-core (~> 3)
|
126
|
+
aws-sigv4 (~> 1.0)
|
127
|
+
aws-sdk-directoryservice (1.0.0)
|
128
|
+
aws-sdk-core (~> 3)
|
129
|
+
aws-sigv4 (~> 1.0)
|
130
|
+
aws-sdk-dynamodb (1.1.0)
|
131
|
+
aws-sdk-core (~> 3)
|
132
|
+
aws-sigv4 (~> 1.0)
|
133
|
+
aws-sdk-dynamodbstreams (1.0.0)
|
134
|
+
aws-sdk-core (~> 3)
|
135
|
+
aws-sigv4 (~> 1.0)
|
136
|
+
aws-sdk-ec2 (1.5.0)
|
137
|
+
aws-sdk-core (~> 3)
|
138
|
+
aws-sigv4 (~> 1.0)
|
139
|
+
aws-sdk-ecr (1.1.0)
|
140
|
+
aws-sdk-core (~> 3)
|
141
|
+
aws-sigv4 (~> 1.0)
|
142
|
+
aws-sdk-ecs (1.1.0)
|
143
|
+
aws-sdk-core (~> 3)
|
144
|
+
aws-sigv4 (~> 1.0)
|
145
|
+
aws-sdk-efs (1.0.0)
|
146
|
+
aws-sdk-core (~> 3)
|
147
|
+
aws-sigv4 (~> 1.0)
|
148
|
+
aws-sdk-elasticache (1.1.0)
|
149
|
+
aws-sdk-core (~> 3)
|
150
|
+
aws-sigv4 (~> 1.0)
|
151
|
+
aws-sdk-elasticbeanstalk (1.1.0)
|
152
|
+
aws-sdk-core (~> 3)
|
153
|
+
aws-sigv4 (~> 1.0)
|
154
|
+
aws-sdk-elasticloadbalancing (1.1.0)
|
155
|
+
aws-sdk-core (~> 3)
|
156
|
+
aws-sigv4 (~> 1.0)
|
157
|
+
aws-sdk-elasticloadbalancingv2 (1.3.0)
|
158
|
+
aws-sdk-core (~> 3)
|
159
|
+
aws-sigv4 (~> 1.0)
|
160
|
+
aws-sdk-elasticsearchservice (1.0.0)
|
161
|
+
aws-sdk-core (~> 3)
|
162
|
+
aws-sigv4 (~> 1.0)
|
163
|
+
aws-sdk-elastictranscoder (1.0.0)
|
164
|
+
aws-sdk-core (~> 3)
|
165
|
+
aws-sigv4 (~> 1.0)
|
166
|
+
aws-sdk-emr (1.0.0)
|
167
|
+
aws-sdk-core (~> 3)
|
168
|
+
aws-sigv4 (~> 1.0)
|
169
|
+
aws-sdk-firehose (1.0.0)
|
170
|
+
aws-sdk-core (~> 3)
|
171
|
+
aws-sigv4 (~> 1.0)
|
172
|
+
aws-sdk-gamelift (1.1.0)
|
173
|
+
aws-sdk-core (~> 3)
|
174
|
+
aws-sigv4 (~> 1.0)
|
175
|
+
aws-sdk-glacier (1.3.0)
|
176
|
+
aws-sdk-core (~> 3)
|
177
|
+
aws-sigv4 (~> 1.0)
|
178
|
+
aws-sdk-glue (1.0.0)
|
179
|
+
aws-sdk-core (~> 3)
|
180
|
+
aws-sigv4 (~> 1.0)
|
181
|
+
aws-sdk-greengrass (1.0.0)
|
182
|
+
aws-sdk-core (~> 3)
|
183
|
+
aws-sigv4 (~> 1.0)
|
184
|
+
aws-sdk-health (1.0.0)
|
185
|
+
aws-sdk-core (~> 3)
|
186
|
+
aws-sigv4 (~> 1.0)
|
187
|
+
aws-sdk-iam (1.1.0)
|
188
|
+
aws-sdk-core (~> 3)
|
189
|
+
aws-sigv4 (~> 1.0)
|
190
|
+
aws-sdk-importexport (1.0.0)
|
191
|
+
aws-sdk-core (~> 3)
|
192
|
+
aws-sigv2 (~> 1.0)
|
193
|
+
aws-sdk-inspector (1.1.0)
|
194
|
+
aws-sdk-core (~> 3)
|
195
|
+
aws-sigv4 (~> 1.0)
|
196
|
+
aws-sdk-iot (1.0.0)
|
197
|
+
aws-sdk-core (~> 3)
|
198
|
+
aws-sigv4 (~> 1.0)
|
199
|
+
aws-sdk-iotdataplane (1.0.0)
|
200
|
+
aws-sdk-core (~> 3)
|
201
|
+
aws-sigv4 (~> 1.0)
|
202
|
+
aws-sdk-kinesis (1.0.0)
|
203
|
+
aws-sdk-core (~> 3)
|
204
|
+
aws-sigv4 (~> 1.0)
|
205
|
+
aws-sdk-kinesisanalytics (1.0.0)
|
206
|
+
aws-sdk-core (~> 3)
|
207
|
+
aws-sigv4 (~> 1.0)
|
208
|
+
aws-sdk-kms (1.2.0)
|
209
|
+
aws-sdk-core (~> 3)
|
210
|
+
aws-sigv4 (~> 1.0)
|
211
|
+
aws-sdk-lambda (1.0.0)
|
212
|
+
aws-sdk-core (~> 3)
|
213
|
+
aws-sigv4 (~> 1.0)
|
214
|
+
aws-sdk-lambdapreview (1.0.0)
|
215
|
+
aws-sdk-core (~> 3)
|
216
|
+
aws-sigv4 (~> 1.0)
|
217
|
+
aws-sdk-lex (1.1.0)
|
218
|
+
aws-sdk-core (~> 3)
|
219
|
+
aws-sigv4 (~> 1.0)
|
220
|
+
aws-sdk-lexmodelbuildingservice (1.2.0)
|
221
|
+
aws-sdk-core (~> 3)
|
222
|
+
aws-sigv4 (~> 1.0)
|
223
|
+
aws-sdk-lightsail (1.0.0)
|
224
|
+
aws-sdk-core (~> 3)
|
225
|
+
aws-sigv4 (~> 1.0)
|
226
|
+
aws-sdk-machinelearning (1.0.0)
|
227
|
+
aws-sdk-core (~> 3)
|
228
|
+
aws-sigv4 (~> 1.0)
|
229
|
+
aws-sdk-marketplacecommerceanalytics (1.0.0)
|
230
|
+
aws-sdk-core (~> 3)
|
231
|
+
aws-sigv4 (~> 1.0)
|
232
|
+
aws-sdk-marketplaceentitlementservice (1.0.0)
|
233
|
+
aws-sdk-core (~> 3)
|
234
|
+
aws-sigv4 (~> 1.0)
|
235
|
+
aws-sdk-marketplacemetering (1.0.0)
|
236
|
+
aws-sdk-core (~> 3)
|
237
|
+
aws-sigv4 (~> 1.0)
|
238
|
+
aws-sdk-migrationhub (1.0.0)
|
239
|
+
aws-sdk-core (~> 3)
|
240
|
+
aws-sigv4 (~> 1.0)
|
241
|
+
aws-sdk-mobile (1.0.0)
|
242
|
+
aws-sdk-core (~> 3)
|
243
|
+
aws-sigv4 (~> 1.0)
|
244
|
+
aws-sdk-mturk (1.0.0)
|
245
|
+
aws-sdk-core (~> 3)
|
246
|
+
aws-sigv4 (~> 1.0)
|
247
|
+
aws-sdk-opsworks (1.0.0)
|
248
|
+
aws-sdk-core (~> 3)
|
249
|
+
aws-sigv4 (~> 1.0)
|
250
|
+
aws-sdk-opsworkscm (1.0.0)
|
251
|
+
aws-sdk-core (~> 3)
|
252
|
+
aws-sigv4 (~> 1.0)
|
253
|
+
aws-sdk-organizations (1.2.0)
|
254
|
+
aws-sdk-core (~> 3)
|
255
|
+
aws-sigv4 (~> 1.0)
|
256
|
+
aws-sdk-pinpoint (1.0.0)
|
257
|
+
aws-sdk-core (~> 3)
|
258
|
+
aws-sigv4 (~> 1.0)
|
259
|
+
aws-sdk-polly (1.2.0)
|
260
|
+
aws-sdk-core (~> 3)
|
261
|
+
aws-sigv4 (~> 1.0)
|
262
|
+
aws-sdk-rds (1.1.0)
|
263
|
+
aws-sdk-core (~> 3)
|
264
|
+
aws-sigv4 (~> 1.0)
|
265
|
+
aws-sdk-redshift (1.0.0)
|
266
|
+
aws-sdk-core (~> 3)
|
267
|
+
aws-sigv4 (~> 1.0)
|
268
|
+
aws-sdk-rekognition (1.0.0)
|
269
|
+
aws-sdk-core (~> 3)
|
270
|
+
aws-sigv4 (~> 1.0)
|
271
|
+
aws-sdk-resourcegroupstaggingapi (1.0.0)
|
272
|
+
aws-sdk-core (~> 3)
|
273
|
+
aws-sigv4 (~> 1.0)
|
274
|
+
aws-sdk-resources (3.1.0)
|
275
|
+
aws-sdk-acm (~> 1)
|
276
|
+
aws-sdk-apigateway (~> 1)
|
277
|
+
aws-sdk-applicationautoscaling (~> 1)
|
278
|
+
aws-sdk-applicationdiscoveryservice (~> 1)
|
279
|
+
aws-sdk-appstream (~> 1)
|
280
|
+
aws-sdk-athena (~> 1)
|
281
|
+
aws-sdk-autoscaling (~> 1)
|
282
|
+
aws-sdk-batch (~> 1)
|
283
|
+
aws-sdk-budgets (~> 1)
|
284
|
+
aws-sdk-clouddirectory (~> 1)
|
285
|
+
aws-sdk-cloudformation (~> 1)
|
286
|
+
aws-sdk-cloudfront (~> 1)
|
287
|
+
aws-sdk-cloudhsm (~> 1)
|
288
|
+
aws-sdk-cloudhsmv2 (~> 1)
|
289
|
+
aws-sdk-cloudsearch (~> 1)
|
290
|
+
aws-sdk-cloudsearchdomain (~> 1)
|
291
|
+
aws-sdk-cloudtrail (~> 1)
|
292
|
+
aws-sdk-cloudwatch (~> 1)
|
293
|
+
aws-sdk-cloudwatchevents (~> 1)
|
294
|
+
aws-sdk-cloudwatchlogs (~> 1)
|
295
|
+
aws-sdk-codebuild (~> 1)
|
296
|
+
aws-sdk-codecommit (~> 1)
|
297
|
+
aws-sdk-codedeploy (~> 1)
|
298
|
+
aws-sdk-codepipeline (~> 1)
|
299
|
+
aws-sdk-codestar (~> 1)
|
300
|
+
aws-sdk-cognitoidentity (~> 1)
|
301
|
+
aws-sdk-cognitoidentityprovider (~> 1)
|
302
|
+
aws-sdk-cognitosync (~> 1)
|
303
|
+
aws-sdk-configservice (~> 1)
|
304
|
+
aws-sdk-costandusagereportservice (~> 1)
|
305
|
+
aws-sdk-databasemigrationservice (~> 1)
|
306
|
+
aws-sdk-datapipeline (~> 1)
|
307
|
+
aws-sdk-dax (~> 1)
|
308
|
+
aws-sdk-devicefarm (~> 1)
|
309
|
+
aws-sdk-directconnect (~> 1)
|
310
|
+
aws-sdk-directoryservice (~> 1)
|
311
|
+
aws-sdk-dynamodb (~> 1)
|
312
|
+
aws-sdk-dynamodbstreams (~> 1)
|
313
|
+
aws-sdk-ec2 (~> 1)
|
314
|
+
aws-sdk-ecr (~> 1)
|
315
|
+
aws-sdk-ecs (~> 1)
|
316
|
+
aws-sdk-efs (~> 1)
|
317
|
+
aws-sdk-elasticache (~> 1)
|
318
|
+
aws-sdk-elasticbeanstalk (~> 1)
|
319
|
+
aws-sdk-elasticloadbalancing (~> 1)
|
320
|
+
aws-sdk-elasticloadbalancingv2 (~> 1)
|
321
|
+
aws-sdk-elasticsearchservice (~> 1)
|
322
|
+
aws-sdk-elastictranscoder (~> 1)
|
323
|
+
aws-sdk-emr (~> 1)
|
324
|
+
aws-sdk-firehose (~> 1)
|
325
|
+
aws-sdk-gamelift (~> 1)
|
326
|
+
aws-sdk-glacier (~> 1)
|
327
|
+
aws-sdk-glue (~> 1)
|
328
|
+
aws-sdk-greengrass (~> 1)
|
329
|
+
aws-sdk-health (~> 1)
|
330
|
+
aws-sdk-iam (~> 1)
|
331
|
+
aws-sdk-importexport (~> 1)
|
332
|
+
aws-sdk-inspector (~> 1)
|
333
|
+
aws-sdk-iot (~> 1)
|
334
|
+
aws-sdk-iotdataplane (~> 1)
|
335
|
+
aws-sdk-kinesis (~> 1)
|
336
|
+
aws-sdk-kinesisanalytics (~> 1)
|
337
|
+
aws-sdk-kms (~> 1)
|
338
|
+
aws-sdk-lambda (~> 1)
|
339
|
+
aws-sdk-lambdapreview (~> 1)
|
340
|
+
aws-sdk-lex (~> 1)
|
341
|
+
aws-sdk-lexmodelbuildingservice (~> 1)
|
342
|
+
aws-sdk-lightsail (~> 1)
|
343
|
+
aws-sdk-machinelearning (~> 1)
|
344
|
+
aws-sdk-marketplacecommerceanalytics (~> 1)
|
345
|
+
aws-sdk-marketplaceentitlementservice (~> 1)
|
346
|
+
aws-sdk-marketplacemetering (~> 1)
|
347
|
+
aws-sdk-migrationhub (~> 1)
|
348
|
+
aws-sdk-mobile (~> 1)
|
349
|
+
aws-sdk-mturk (~> 1)
|
350
|
+
aws-sdk-opsworks (~> 1)
|
351
|
+
aws-sdk-opsworkscm (~> 1)
|
352
|
+
aws-sdk-organizations (~> 1)
|
353
|
+
aws-sdk-pinpoint (~> 1)
|
354
|
+
aws-sdk-polly (~> 1)
|
355
|
+
aws-sdk-rds (~> 1)
|
356
|
+
aws-sdk-redshift (~> 1)
|
357
|
+
aws-sdk-rekognition (~> 1)
|
358
|
+
aws-sdk-resourcegroupstaggingapi (~> 1)
|
359
|
+
aws-sdk-route53 (~> 1)
|
360
|
+
aws-sdk-route53domains (~> 1)
|
361
|
+
aws-sdk-s3 (~> 1)
|
362
|
+
aws-sdk-servicecatalog (~> 1)
|
363
|
+
aws-sdk-ses (~> 1)
|
364
|
+
aws-sdk-shield (~> 1)
|
365
|
+
aws-sdk-simpledb (~> 1)
|
366
|
+
aws-sdk-sms (~> 1)
|
367
|
+
aws-sdk-snowball (~> 1)
|
368
|
+
aws-sdk-sns (~> 1)
|
369
|
+
aws-sdk-sqs (~> 1)
|
370
|
+
aws-sdk-ssm (~> 1)
|
371
|
+
aws-sdk-states (~> 1)
|
372
|
+
aws-sdk-storagegateway (~> 1)
|
373
|
+
aws-sdk-support (~> 1)
|
374
|
+
aws-sdk-swf (~> 1)
|
375
|
+
aws-sdk-waf (~> 1)
|
376
|
+
aws-sdk-wafregional (~> 1)
|
377
|
+
aws-sdk-workdocs (~> 1)
|
378
|
+
aws-sdk-workspaces (~> 1)
|
379
|
+
aws-sdk-xray (~> 1)
|
380
|
+
aws-sdk-route53 (1.2.0)
|
381
|
+
aws-sdk-core (~> 3)
|
382
|
+
aws-sigv4 (~> 1.0)
|
383
|
+
aws-sdk-route53domains (1.0.0)
|
384
|
+
aws-sdk-core (~> 3)
|
385
|
+
aws-sigv4 (~> 1.0)
|
386
|
+
aws-sdk-s3 (1.3.0)
|
387
|
+
aws-sdk-core (~> 3)
|
388
|
+
aws-sdk-kms (~> 1)
|
389
|
+
aws-sigv4 (~> 1.0)
|
390
|
+
aws-sdk-servicecatalog (1.0.0)
|
391
|
+
aws-sdk-core (~> 3)
|
392
|
+
aws-sigv4 (~> 1.0)
|
393
|
+
aws-sdk-ses (1.1.0)
|
394
|
+
aws-sdk-core (~> 3)
|
395
|
+
aws-sigv4 (~> 1.0)
|
396
|
+
aws-sdk-shield (1.0.0)
|
397
|
+
aws-sdk-core (~> 3)
|
398
|
+
aws-sigv4 (~> 1.0)
|
399
|
+
aws-sdk-simpledb (1.0.0)
|
400
|
+
aws-sdk-core (~> 3)
|
401
|
+
aws-sigv2 (~> 1.0)
|
402
|
+
aws-sdk-sms (1.0.0)
|
403
|
+
aws-sdk-core (~> 3)
|
404
|
+
aws-sigv4 (~> 1.0)
|
405
|
+
aws-sdk-snowball (1.1.0)
|
406
|
+
aws-sdk-core (~> 3)
|
407
|
+
aws-sigv4 (~> 1.0)
|
408
|
+
aws-sdk-sns (1.0.0)
|
409
|
+
aws-sdk-core (~> 3)
|
410
|
+
aws-sigv4 (~> 1.0)
|
411
|
+
aws-sdk-sqs (1.0.0)
|
412
|
+
aws-sdk-core (~> 3)
|
413
|
+
aws-sigv4 (~> 1.0)
|
414
|
+
aws-sdk-ssm (1.1.0)
|
415
|
+
aws-sdk-core (~> 3)
|
416
|
+
aws-sigv4 (~> 1.0)
|
417
|
+
aws-sdk-states (1.0.0)
|
418
|
+
aws-sdk-core (~> 3)
|
419
|
+
aws-sigv4 (~> 1.0)
|
420
|
+
aws-sdk-storagegateway (1.1.0)
|
421
|
+
aws-sdk-core (~> 3)
|
422
|
+
aws-sigv4 (~> 1.0)
|
423
|
+
aws-sdk-support (1.0.0)
|
424
|
+
aws-sdk-core (~> 3)
|
425
|
+
aws-sigv4 (~> 1.0)
|
426
|
+
aws-sdk-swf (1.0.0)
|
427
|
+
aws-sdk-core (~> 3)
|
428
|
+
aws-sigv4 (~> 1.0)
|
429
|
+
aws-sdk-waf (1.1.0)
|
430
|
+
aws-sdk-core (~> 3)
|
431
|
+
aws-sigv4 (~> 1.0)
|
432
|
+
aws-sdk-wafregional (1.1.0)
|
433
|
+
aws-sdk-core (~> 3)
|
434
|
+
aws-sigv4 (~> 1.0)
|
435
|
+
aws-sdk-workdocs (1.0.0)
|
436
|
+
aws-sdk-core (~> 3)
|
437
|
+
aws-sigv4 (~> 1.0)
|
438
|
+
aws-sdk-workspaces (1.0.0)
|
439
|
+
aws-sdk-core (~> 3)
|
440
|
+
aws-sigv4 (~> 1.0)
|
441
|
+
aws-sdk-xray (1.0.0)
|
442
|
+
aws-sdk-core (~> 3)
|
443
|
+
aws-sigv4 (~> 1.0)
|
444
|
+
aws-sigv2 (1.0.1)
|
445
|
+
aws-sigv4 (1.0.2)
|
32
446
|
byebug (9.0.6)
|
33
447
|
codeclimate-test-reporter (1.0.8)
|
34
448
|
simplecov (<= 0.13)
|
@@ -36,13 +450,10 @@ GEM
|
|
36
450
|
deep_merge (1.1.1)
|
37
451
|
diff-lcs (1.3)
|
38
452
|
docile (1.1.5)
|
39
|
-
hashie (3.5.
|
40
|
-
i18n (0.8.6)
|
453
|
+
hashie (3.5.6)
|
41
454
|
jmespath (1.3.1)
|
42
455
|
json (2.1.0)
|
43
|
-
|
44
|
-
plissken (0.3.0)
|
45
|
-
symbolize (~> 4.2)
|
456
|
+
plissken (1.2.0)
|
46
457
|
rake (12.0.0)
|
47
458
|
rspec (3.6.0)
|
48
459
|
rspec-core (~> 3.6.0)
|
@@ -62,14 +473,7 @@ GEM
|
|
62
473
|
json (>= 1.8, < 3)
|
63
474
|
simplecov-html (~> 0.10.0)
|
64
475
|
simplecov-html (0.10.1)
|
65
|
-
|
66
|
-
activemodel (>= 3.2, < 5)
|
67
|
-
activesupport (>= 3.2, < 5)
|
68
|
-
i18n
|
69
|
-
thor (0.19.4)
|
70
|
-
thread_safe (0.3.6)
|
71
|
-
tzinfo (1.2.3)
|
72
|
-
thread_safe (~> 0.1)
|
476
|
+
thor (0.20.0)
|
73
477
|
|
74
478
|
PLATFORMS
|
75
479
|
ruby
|
@@ -83,4 +487,4 @@ DEPENDENCIES
|
|
83
487
|
ufo!
|
84
488
|
|
85
489
|
BUNDLED WITH
|
86
|
-
1.
|
490
|
+
1.16.0.pre.2
|
data/docs/_docs/conventions.md
CHANGED
@@ -13,7 +13,7 @@ By default, the ECS cluster value is the same as UFO_ENV's value. So if `UFO_EN
|
|
13
13
|
Ufo assumes a convention that service\_name and the task\_name are the same. If you would like to override this convention then you can specify the task name.
|
14
14
|
|
15
15
|
```
|
16
|
-
ufo ship hi-web
|
16
|
+
ufo ship hi-web --task my-task
|
17
17
|
```
|
18
18
|
|
19
19
|
This means that in the task_definition.rb you will also defined it with `my-task`. For example:
|
@@ -34,13 +34,13 @@ end
|
|
34
34
|
By convention, if the service has a container name web, you'll get prompted to create an ELB and specify a target group arn. If you would like to name a service with the word "web" in it without having to use an ELB target group then you can use the `--no-target-group-prompt`. Example:
|
35
35
|
|
36
36
|
```sh
|
37
|
-
ufo ship hi-web
|
37
|
+
ufo ship hi-web --no-target-group-prompt
|
38
38
|
```
|
39
39
|
|
40
40
|
You can also bypass the prompt by specifying the target group arn as part of the command upfront. The ELB and target group must already exist. The elb target group only gets associated when the service gets created for the first time. If the service already exists then the `--target-group` parameter just gets ignored and the ECS task simply gets updated. Example:
|
41
41
|
|
42
42
|
```bash
|
43
|
-
ufo ship hi-web
|
43
|
+
ufo ship hi-web --target-group=arn:aws:elasticloadbalancing:us-east-1:12345689:targetgroup/hi-web/12345
|
44
44
|
```
|
45
45
|
|
46
46
|
<a id="prev" class="btn btn-basic" href="{% link _docs/helpers.md %}">Back</a>
|
data/docs/_docs/migrations.md
CHANGED
@@ -5,13 +5,13 @@ title: Database Migrations
|
|
5
5
|
A common task is to run database migrations with newer code before deploying the actual code. This is easily achieved with the `ufo task` command. Here's an example:
|
6
6
|
|
7
7
|
```sh
|
8
|
-
ufo task hi-web
|
8
|
+
ufo task hi-web --command bundle exec rake db:migrate
|
9
9
|
```
|
10
10
|
|
11
11
|
It nice to wrap the commands in a wrapper script in case you have to do things like the load the environment.
|
12
12
|
|
13
13
|
```sh
|
14
|
-
ufo task hi-web
|
14
|
+
ufo task hi-web --command bin/migrate
|
15
15
|
```
|
16
16
|
|
17
17
|
The `bin/migrate` script can look like this:
|
data/docs/_docs/run-in-pieces.md
CHANGED
@@ -21,7 +21,7 @@ ufo tasks register # will register all genreated task definitinos in the ufo/out
|
|
21
21
|
Skips all the build docker phases of a deploy sequence and only update the service with the task definitions.
|
22
22
|
|
23
23
|
```bash
|
24
|
-
ufo ship hi-web
|
24
|
+
ufo ship hi-web --no-docker
|
25
25
|
```
|
26
26
|
Note if you use the `--no-docker` option you should ensure that you have already push a docker image to your docker registry. Or else the task will not be able to spin up because the docker image does not exist. It is normally recommended that you normally use `ufo ship`.
|
27
27
|
|
data/docs/_docs/single-task.md
CHANGED
@@ -5,15 +5,15 @@ title: Run Single Task
|
|
5
5
|
Sometimes you do not want to run a long running `service` but a one time task. Running Rails migrations are a good example of a one off task. Here is an example of how you would run a one time task.
|
6
6
|
|
7
7
|
```
|
8
|
-
ufo task hi-web
|
8
|
+
ufo task hi-web --command bundle exec rake db:migrate
|
9
9
|
```
|
10
10
|
|
11
11
|
At the end of the output you should see you the task ARN:
|
12
12
|
|
13
13
|
```sh
|
14
|
-
$ ufo task hi-web
|
14
|
+
$ ufo task hi-web --command bundle exec rake db:migrate
|
15
15
|
...
|
16
|
-
Running task_definition: hi-web
|
16
|
+
Running task_definition: hi-web
|
17
17
|
Task ARN: arn:aws:ecs:us-west-2:994926937775:task/a0e4229d-3d39-4b26-9151-6ab6869b84d4
|
18
18
|
$
|
19
19
|
```
|
data/docs/_docs/ufo-ship.md
CHANGED
@@ -21,7 +21,7 @@ ufo ship hi-web --no-target-group-prompt
|
|
21
21
|
Or if you would like specify the target-group up front and not be bother with the prompted later you can use the `--target-group` option.
|
22
22
|
|
23
23
|
```sh
|
24
|
-
ufo ship hi-web --target-group=arn:aws:elasticloadbalancing:us-east-1:12345689:targetgroup/hi-web
|
24
|
+
ufo ship hi-web --target-group=arn:aws:elasticloadbalancing:us-east-1:12345689:targetgroup/hi-web/12345
|
25
25
|
```
|
26
26
|
|
27
27
|
#### Deploying Existing Task Definition
|
data/docs/_docs/ufo-ships.md
CHANGED
@@ -34,8 +34,8 @@ hi-web hi-worker hi-clock
|
|
34
34
|
As explained in detail in [Conventions]({% link _docs/conventions.md %}) the task definition and service name are the same by convention. This convention also applies for each of the services being shipped in the list. The task definition and service names match for each of the services in the list. If you would like to override the convention as part of the ships command then you use a special syntax. In the special syntax the service and task definition is separated by a colon. Examples:
|
35
35
|
|
36
36
|
```sh
|
37
|
-
ufo ships hi-web-
|
38
|
-
ufo ships hi-web-
|
37
|
+
ufo ships hi-web-1:hi-web hi-clock-1 hi-worker-1
|
38
|
+
ufo ships hi-web-1:my-task hi-clock-1:another-task hi-worker-1:third-task
|
39
39
|
```
|
40
40
|
|
41
41
|
### ufo ships Options
|
data/docs/_docs/variables.md
CHANGED
@@ -19,27 +19,36 @@ You can now use @image in your `ufo/templates/main.json.erb` without having to e
|
|
19
19
|
|
20
20
|
Shared variables also support a concept called layering. The `config/variables/base.rb` file is treated specially and will always be evaluated. Additionally, ufo will also evaluate the `config/variables/[UFO_ENV].rb` according to what UFO_ENV's value is. Thanks layering, you can easily override variables to suite different environments like production or staging. For example:
|
21
21
|
|
22
|
-
`
|
22
|
+
`ufo/variables/base.rb`:
|
23
23
|
|
24
24
|
```ruby
|
25
|
+
@image = helper.full_image_name # includes the git sha tongueroo/hi:ufo-[sha].
|
25
26
|
@cpu = 128
|
27
|
+
@memory_reservation = 256
|
28
|
+
@environment = helper.env_file(".env")
|
26
29
|
```
|
27
30
|
|
28
31
|
When `ufo ship` is ran with `UFO_ENV=prod` he `config/variables/prod.rb` will be evaluated and layered on top of the variables defined in `base.rb:
|
29
32
|
|
30
|
-
`
|
33
|
+
`ufo/variables/prod.rb`:
|
31
34
|
|
32
35
|
```ruby
|
33
|
-
@
|
36
|
+
@environment = helper.env_vars(%Q{
|
37
|
+
RAILS_ENV=production
|
38
|
+
SECRET_KEY_BASE=secret
|
39
|
+
})
|
34
40
|
```
|
35
41
|
|
36
42
|
When `ufo ship` is ran with `UFO_ENV=stag` he `config/variables/stag.rb` will be evaluated and layered on top of the variables defined in `base.rb:
|
37
43
|
|
38
44
|
|
39
|
-
`
|
45
|
+
`ufo/variables/prod.rb`:
|
40
46
|
|
41
47
|
```ruby
|
42
|
-
@
|
48
|
+
@environment = helper.env_vars(%Q{
|
49
|
+
RAILS_ENV=staging
|
50
|
+
SECRET_KEY_BASE=secret
|
51
|
+
})
|
43
52
|
```
|
44
53
|
|
45
54
|
|
@@ -2,13 +2,8 @@
|
|
2
2
|
<section id="about">
|
3
3
|
<div class="container">
|
4
4
|
<div class="row">
|
5
|
-
<div class="col-lg-
|
6
|
-
<
|
7
|
-
<hr class="star-primary">
|
8
|
-
</div>
|
9
|
-
</div>
|
10
|
-
<div class="row">
|
11
|
-
<div class="col-lg-8 col-lg-offset-2">
|
5
|
+
<div class="col-lg-6">
|
6
|
+
<h3>Commands</h3>
|
12
7
|
<div class="commands">
|
13
8
|
{% highlight sh %}
|
14
9
|
ufo ship
|
@@ -20,6 +15,20 @@ ufo tasks build
|
|
20
15
|
ufo scale
|
21
16
|
|
22
17
|
ufo destroy
|
18
|
+
{% endhighlight %}
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
<div class="col-lg-6">
|
22
|
+
<h3>ufo/variables/base.rb</h3>
|
23
|
+
<div class="commands">
|
24
|
+
{% highlight ruby %}
|
25
|
+
@image = helper.full_image_name # includes the git sha tongueroo/hi:ufo-[sha].
|
26
|
+
@cpu = 128
|
27
|
+
@memory_reservation = 256
|
28
|
+
@environment = helper.env_vars(%Q{
|
29
|
+
RAILS_ENV=production
|
30
|
+
SITE=awesome
|
31
|
+
})
|
23
32
|
{% endhighlight %}
|
24
33
|
</div>
|
25
34
|
</div>
|
@@ -53,23 +62,15 @@ ufo destroy
|
|
53
62
|
<h3>ufo/template_definitions.rb</h3>
|
54
63
|
<div class="commands">
|
55
64
|
{% highlight ruby %}
|
56
|
-
common = {
|
57
|
-
image: helper.full_image_name,
|
58
|
-
cpu: 128,
|
59
|
-
memory_reservation: 256,
|
60
|
-
environment: helper.env_vars("RAILS_ENV=production"),
|
61
|
-
container_port: helper.dockerfile_port,
|
62
|
-
}
|
63
|
-
|
64
65
|
task_definition "example-web" do
|
65
66
|
source "main"
|
66
|
-
variables(
|
67
|
+
variables(
|
67
68
|
family: task_definition_name,
|
68
69
|
name: "web",
|
69
70
|
awslogs_group: "example-web",
|
70
71
|
awslogs_stream_prefix: "example",
|
71
72
|
command: ["bin/web"]
|
72
|
-
)
|
73
|
+
)
|
73
74
|
end
|
74
75
|
{% endhighlight %}
|
75
76
|
</div>
|
data/docs/_includes/css/ufo.css
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
<section id="summary">
|
2
|
+
<div class="container">
|
3
|
+
<div class="row">
|
4
|
+
<div class="col-lg-12 text-center">
|
5
|
+
<h2>Summary</h2>
|
6
|
+
<hr class="star-light">
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
<div class="row">
|
10
|
+
<div class="col-lg-6 col-lg-offset-3">
|
11
|
+
<p>The main command is <code>ufo ship</code>. Here's summary of what it does:</p>
|
12
|
+
|
13
|
+
<ol class="landing-summary">
|
14
|
+
<li>Builds a docker image.</li>
|
15
|
+
<li>Generates and registers the ECS template definition.</li>
|
16
|
+
<li>Deploys the ECS template definition to the ECS service.</li>
|
17
|
+
</ol>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</section>
|
data/docs/index.html
CHANGED
data/docs/quick-start.md
CHANGED
@@ -5,7 +5,7 @@ title: Quick Start
|
|
5
5
|
In a hurry? No sweat! Here's a quick start to using ufo that takes only a few minutes. For this example, we will use a sinatra app from [tongueroo/hi](https://github.com/tongueroo/ufo). The first `ufo init` command sets up the ufo directory structure in your project. The second `ufo ship` command deploys your code to an AWS ECS service.
|
6
6
|
|
7
7
|
```sh
|
8
|
-
|
8
|
+
gem install ufo
|
9
9
|
git clone https:///github.com/tongueroo/hi.git
|
10
10
|
cd hi
|
11
11
|
ufo init --app=hi --env prod --cluster=prod --image=tongueroo/hi
|
data/lib/ufo/cli.rb
CHANGED
@@ -20,9 +20,8 @@ module Ufo
|
|
20
20
|
|
21
21
|
desc "init", "setup initial ufo files"
|
22
22
|
option :cluster, type: :string, required: true, desc: "ECS cluster name. Example: default"
|
23
|
-
option :image, type: :string, required: true, desc: "Docker image name without the tag. Example: tongueroo/hi"
|
23
|
+
option :image, type: :string, required: true, desc: "Docker image name without the tag. Example: tongueroo/hi. Configures ufo/settings.yml"
|
24
24
|
option :app, type: :string, required: true, desc: "App name. Preferably one word. Used in the generated ufo/task_definitions.rb."
|
25
|
-
option :env, type: :string, required: true, desc: "Environment name. Preferably one word. Used in the generated ufo/task_definitions.rb."
|
26
25
|
long_desc Help.init
|
27
26
|
def init
|
28
27
|
Init.new(options).setup
|
data/lib/ufo/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -18,7 +18,7 @@ module Helpers
|
|
18
18
|
|
19
19
|
def create_starter_project_fixture
|
20
20
|
FileUtils.rm_rf("spec/fixtures/hi")
|
21
|
-
execute("bin/ufo init --cluster prod --
|
21
|
+
execute("bin/ufo init --cluster prod --image tongueroo/hi --project-root spec/fixtures/hi --app hi")
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ufo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -231,6 +231,7 @@ files:
|
|
231
231
|
- docs/_includes/nav.html
|
232
232
|
- docs/_includes/quotes.html
|
233
233
|
- docs/_includes/subnav.html
|
234
|
+
- docs/_includes/summary.html
|
234
235
|
- docs/_includes/ufo-ship-options.md
|
235
236
|
- docs/_includes/uses.html
|
236
237
|
- docs/_layouts/default.html
|