dpl 2.0.2.beta.1 → 2.0.3.beta.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +88 -77
- data/README.md +3 -3
- data/lib/dpl/assets/dpl/README.erb.md +2 -2
- data/lib/dpl/assets/dpl/git_ssh +7 -1
- data/lib/dpl/cli.rb +1 -1
- data/lib/dpl/helper/interpolate.rb +11 -4
- data/lib/dpl/providers/boxfuse.rb +1 -1
- data/lib/dpl/providers/gcs.rb +1 -1
- data/lib/dpl/providers/lambda.rb +1 -1
- data/lib/dpl/providers/netlify.rb +2 -0
- data/lib/dpl/providers/pages/git.rb +2 -2
- data/lib/dpl/providers/puppetforge.rb +2 -2
- data/lib/dpl/providers/rubygems.rb +2 -2
- data/lib/dpl/string_ext.rb +21 -0
- data/lib/dpl/version.rb +1 -1
- data/lib/dpl.rb +1 -0
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b0f4fd2f5297366e5fed6f87f3285c250a9235a65f40d337b0c87e982408ccdb
|
|
4
|
+
data.tar.gz: d536fe5a971248e8562f096a991232c440808bc8bb5c340e9b82f5bcf4fbd5c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0666a771891912ee878e5ba318ee36fe27249a3d6ad49c219c0c8fddec598098ac2a2e06f025abc35f6788d0133f4a3b36241f8932757562ea8d7823a3f72291
|
|
7
|
+
data.tar.gz: e09da57dad0a3f98e5e991d1fdbcd895b9098140181e63a52ca6dde8b64601aa04c0ac1398b5e08a1442cbd5e230597b30e8dc4c146090a3f19764c960c4124a
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
dpl (2.0.
|
|
4
|
+
dpl (2.0.3.beta.2)
|
|
5
5
|
cl (~> 1.0)
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
addressable (2.
|
|
10
|
+
addressable (2.8.0)
|
|
11
11
|
public_suffix (>= 2.0.2, < 5.0)
|
|
12
|
-
awesome_print (1.
|
|
13
|
-
aws-eventstream (1.
|
|
14
|
-
aws-partitions (1.
|
|
15
|
-
aws-sdk-cloudformation (1.
|
|
16
|
-
aws-sdk-core (~> 3, >= 3.
|
|
12
|
+
awesome_print (1.9.2)
|
|
13
|
+
aws-eventstream (1.2.0)
|
|
14
|
+
aws-partitions (1.577.0)
|
|
15
|
+
aws-sdk-cloudformation (1.68.0)
|
|
16
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
17
17
|
aws-sigv4 (~> 1.1)
|
|
18
|
-
aws-sdk-codedeploy (1.
|
|
19
|
-
aws-sdk-core (~> 3, >= 3.
|
|
18
|
+
aws-sdk-codedeploy (1.49.0)
|
|
19
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
20
20
|
aws-sigv4 (~> 1.1)
|
|
21
|
-
aws-sdk-core (3.
|
|
21
|
+
aws-sdk-core (3.130.1)
|
|
22
22
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
23
|
-
aws-partitions (~> 1, >= 1.
|
|
23
|
+
aws-partitions (~> 1, >= 1.525.0)
|
|
24
24
|
aws-sigv4 (~> 1.1)
|
|
25
25
|
jmespath (~> 1.0)
|
|
26
|
-
aws-sdk-ecr (1.
|
|
27
|
-
aws-sdk-core (~> 3, >= 3.
|
|
26
|
+
aws-sdk-ecr (1.56.0)
|
|
27
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
28
28
|
aws-sigv4 (~> 1.1)
|
|
29
|
-
aws-sdk-elasticbeanstalk (1.
|
|
30
|
-
aws-sdk-core (~> 3, >= 3.
|
|
29
|
+
aws-sdk-elasticbeanstalk (1.51.0)
|
|
30
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
31
31
|
aws-sigv4 (~> 1.1)
|
|
32
|
-
aws-sdk-kms (1.
|
|
33
|
-
aws-sdk-core (~> 3, >= 3.
|
|
32
|
+
aws-sdk-kms (1.55.0)
|
|
33
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
34
34
|
aws-sigv4 (~> 1.1)
|
|
35
|
-
aws-sdk-lambda (1.
|
|
36
|
-
aws-sdk-core (~> 3, >= 3.
|
|
35
|
+
aws-sdk-lambda (1.83.0)
|
|
36
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
37
37
|
aws-sigv4 (~> 1.1)
|
|
38
|
-
aws-sdk-opsworks (1.
|
|
39
|
-
aws-sdk-core (~> 3, >= 3.
|
|
38
|
+
aws-sdk-opsworks (1.41.0)
|
|
39
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
40
40
|
aws-sigv4 (~> 1.1)
|
|
41
|
-
aws-sdk-s3 (1.
|
|
42
|
-
aws-sdk-core (~> 3, >= 3.
|
|
41
|
+
aws-sdk-s3 (1.113.0)
|
|
42
|
+
aws-sdk-core (~> 3, >= 3.127.0)
|
|
43
43
|
aws-sdk-kms (~> 1)
|
|
44
|
-
aws-sigv4 (~> 1.
|
|
45
|
-
aws-sigv4 (1.
|
|
44
|
+
aws-sigv4 (~> 1.4)
|
|
45
|
+
aws-sigv4 (1.4.0)
|
|
46
46
|
aws-eventstream (~> 1, >= 1.0.2)
|
|
47
47
|
belafonte (0.5.0)
|
|
48
48
|
optionally
|
|
@@ -93,6 +93,7 @@ GEM
|
|
|
93
93
|
regstry (~> 1.0.3)
|
|
94
94
|
coderay (1.1.3)
|
|
95
95
|
colorize (0.8.1)
|
|
96
|
+
concurrent-ruby (1.1.10)
|
|
96
97
|
cookiejar (0.3.3)
|
|
97
98
|
coveralls (0.8.23)
|
|
98
99
|
json (>= 1.8, < 3)
|
|
@@ -100,10 +101,11 @@ GEM
|
|
|
100
101
|
term-ansicolor (~> 1.3)
|
|
101
102
|
thor (>= 0.19.4, < 2.0)
|
|
102
103
|
tins (~> 1.6)
|
|
103
|
-
crack (0.4.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
crack (0.4.5)
|
|
105
|
+
rexml
|
|
106
|
+
deep_merge (1.2.2)
|
|
107
|
+
diff-lcs (1.5.0)
|
|
108
|
+
docile (1.4.0)
|
|
107
109
|
domain_name (0.5.20190701)
|
|
108
110
|
unf (>= 0.0.5, < 1.0.0)
|
|
109
111
|
em-http-request (1.1.7)
|
|
@@ -117,7 +119,7 @@ GEM
|
|
|
117
119
|
erubis (2.7.0)
|
|
118
120
|
escape (0.0.4)
|
|
119
121
|
eventmachine (1.2.7)
|
|
120
|
-
excon (0.
|
|
122
|
+
excon (0.92.2)
|
|
121
123
|
ey-core (3.5.0)
|
|
122
124
|
addressable
|
|
123
125
|
awesome_print
|
|
@@ -138,13 +140,13 @@ GEM
|
|
|
138
140
|
rack
|
|
139
141
|
sshkey (~> 1.6)
|
|
140
142
|
table_print
|
|
141
|
-
ey-hmac (2.
|
|
143
|
+
ey-hmac (2.4.0)
|
|
142
144
|
facter (2.5.7)
|
|
143
145
|
faraday (0.9.2)
|
|
144
146
|
multipart-post (>= 1.2, < 3)
|
|
145
147
|
faraday_middleware (0.14.0)
|
|
146
148
|
faraday (>= 0.7.4, < 1.0)
|
|
147
|
-
fast_gettext (1.
|
|
149
|
+
fast_gettext (1.8.0)
|
|
148
150
|
faye (1.4.0)
|
|
149
151
|
cookiejar (>= 0.3.0)
|
|
150
152
|
em-http-request (>= 1.1.6)
|
|
@@ -153,12 +155,12 @@ GEM
|
|
|
153
155
|
multi_json (>= 1.0.0)
|
|
154
156
|
rack (>= 1.0.0)
|
|
155
157
|
websocket-driver (>= 0.5.1)
|
|
156
|
-
faye-websocket (0.11.
|
|
158
|
+
faye-websocket (0.11.1)
|
|
157
159
|
eventmachine (>= 0.12.0)
|
|
158
160
|
websocket-driver (>= 0.5.1)
|
|
159
|
-
ffi (1.
|
|
160
|
-
ffi-yajl (2.
|
|
161
|
-
libyajl2 (
|
|
161
|
+
ffi (1.15.5)
|
|
162
|
+
ffi-yajl (2.4.0)
|
|
163
|
+
libyajl2 (>= 1.2)
|
|
162
164
|
fog-core (2.1.0)
|
|
163
165
|
builder
|
|
164
166
|
excon (~> 0.58)
|
|
@@ -172,10 +174,10 @@ GEM
|
|
|
172
174
|
fog-json (>= 1.0)
|
|
173
175
|
fog-xml (>= 0.1)
|
|
174
176
|
ipaddress (>= 0.8)
|
|
175
|
-
fog-xml (0.1.
|
|
177
|
+
fog-xml (0.1.4)
|
|
176
178
|
fog-core
|
|
177
179
|
nokogiri (>= 1.5.11, < 2.0.0)
|
|
178
|
-
formatador (0.
|
|
180
|
+
formatador (0.3.0)
|
|
179
181
|
fuzzyurl (0.9.0)
|
|
180
182
|
gems (1.1.1)
|
|
181
183
|
json
|
|
@@ -184,24 +186,26 @@ GEM
|
|
|
184
186
|
thor (~> 0.20.0)
|
|
185
187
|
hashdiff (1.0.1)
|
|
186
188
|
hashie (3.6.0)
|
|
187
|
-
hiera (3.
|
|
189
|
+
hiera (3.8.0)
|
|
188
190
|
highline (1.7.10)
|
|
191
|
+
hocon (1.3.1)
|
|
189
192
|
http-accept (1.7.0)
|
|
190
|
-
http-cookie (1.0.
|
|
193
|
+
http-cookie (1.0.4)
|
|
191
194
|
domain_name (~> 0.5)
|
|
192
|
-
http_parser.rb (0.
|
|
195
|
+
http_parser.rb (0.8.0)
|
|
196
|
+
httpclient (2.8.3)
|
|
193
197
|
iniparse (1.5.0)
|
|
194
198
|
ipaddress (0.8.3)
|
|
195
|
-
jmespath (1.
|
|
199
|
+
jmespath (1.6.1)
|
|
196
200
|
json (1.8.6)
|
|
197
201
|
json_pure (1.8.6)
|
|
198
|
-
libyajl2 (1.
|
|
202
|
+
libyajl2 (2.1.0)
|
|
199
203
|
locale (2.1.3)
|
|
200
204
|
method_source (1.0.0)
|
|
201
205
|
mime (0.4.4)
|
|
202
206
|
mime-types (3.2.2)
|
|
203
207
|
mime-types-data (~> 3.2015)
|
|
204
|
-
mime-types-data (3.
|
|
208
|
+
mime-types-data (3.2022.0105)
|
|
205
209
|
mini_portile2 (2.4.0)
|
|
206
210
|
mixlib-archive (0.4.20)
|
|
207
211
|
mixlib-log
|
|
@@ -242,7 +246,7 @@ GEM
|
|
|
242
246
|
plist (~> 3.1)
|
|
243
247
|
systemu (~> 2.6.4)
|
|
244
248
|
wmi-lite (~> 1.0)
|
|
245
|
-
oj (3.
|
|
249
|
+
oj (3.13.11)
|
|
246
250
|
oj_mimic_json (1.0.1)
|
|
247
251
|
optionally (0.0.3)
|
|
248
252
|
packagecloud-ruby (1.0.8)
|
|
@@ -251,21 +255,27 @@ GEM
|
|
|
251
255
|
mime (~> 0.4)
|
|
252
256
|
multi_json (~> 1.0)
|
|
253
257
|
pathspec (0.2.1)
|
|
254
|
-
plist (3.
|
|
258
|
+
plist (3.6.0)
|
|
255
259
|
proxifier (1.0.3)
|
|
256
|
-
pry (0.
|
|
260
|
+
pry (0.14.1)
|
|
257
261
|
coderay (~> 1.1)
|
|
258
262
|
method_source (~> 1.0)
|
|
259
263
|
public_suffix (3.0.3)
|
|
260
|
-
puppet (
|
|
261
|
-
|
|
262
|
-
|
|
264
|
+
puppet (6.26.0)
|
|
265
|
+
concurrent-ruby (~> 1.0)
|
|
266
|
+
deep_merge (~> 1.0)
|
|
267
|
+
facter (> 2.0.1, < 5)
|
|
268
|
+
fast_gettext (~> 1.1)
|
|
263
269
|
hiera (>= 3.2.1, < 4)
|
|
270
|
+
httpclient (~> 2.8)
|
|
264
271
|
locale (~> 2.1)
|
|
265
272
|
multi_json (~> 1.10)
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
273
|
+
puppet-resource_api (~> 1.5)
|
|
274
|
+
semantic_puppet (~> 1.0)
|
|
275
|
+
puppet-blacksmith (4.1.2)
|
|
276
|
+
rest-client (~> 2.0)
|
|
277
|
+
puppet-resource_api (1.8.14)
|
|
278
|
+
hocon (>= 1.0)
|
|
269
279
|
rack (2.2.3)
|
|
270
280
|
rake (12.3.3)
|
|
271
281
|
regstry (1.0.15)
|
|
@@ -275,31 +285,32 @@ GEM
|
|
|
275
285
|
http-cookie (>= 1.0.2, < 2.0)
|
|
276
286
|
mime-types (>= 1.16, < 4.0)
|
|
277
287
|
netrc (~> 0.8)
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
rspec-
|
|
281
|
-
rspec-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
288
|
+
rexml (3.2.5)
|
|
289
|
+
rspec (3.11.0)
|
|
290
|
+
rspec-core (~> 3.11.0)
|
|
291
|
+
rspec-expectations (~> 3.11.0)
|
|
292
|
+
rspec-mocks (~> 3.11.0)
|
|
293
|
+
rspec-core (3.11.0)
|
|
294
|
+
rspec-support (~> 3.11.0)
|
|
295
|
+
rspec-expectations (3.11.0)
|
|
285
296
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
286
|
-
rspec-support (~> 3.
|
|
297
|
+
rspec-support (~> 3.11.0)
|
|
287
298
|
rspec-its (1.3.0)
|
|
288
299
|
rspec-core (>= 3.0.0)
|
|
289
300
|
rspec-expectations (>= 3.0.0)
|
|
290
|
-
rspec-mocks (3.
|
|
301
|
+
rspec-mocks (3.11.1)
|
|
291
302
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
292
|
-
rspec-support (~> 3.
|
|
293
|
-
rspec-support (3.
|
|
303
|
+
rspec-support (~> 3.11.0)
|
|
304
|
+
rspec-support (3.11.0)
|
|
294
305
|
rspec_junit_formatter (0.2.3)
|
|
295
306
|
builder (< 4)
|
|
296
307
|
rspec-core (>= 2, < 4, != 2.12.0)
|
|
297
308
|
rubyzip (1.2.4)
|
|
298
|
-
safe_yaml (1.0.5)
|
|
299
309
|
sawyer (0.8.2)
|
|
300
310
|
addressable (>= 2.3.5)
|
|
301
311
|
faraday (> 0.8, < 2.0)
|
|
302
|
-
|
|
312
|
+
semantic_puppet (1.0.4)
|
|
313
|
+
serverspec (2.42.0)
|
|
303
314
|
multi_json
|
|
304
315
|
rspec (~> 3.0)
|
|
305
316
|
rspec-its
|
|
@@ -310,7 +321,7 @@ GEM
|
|
|
310
321
|
json (>= 1.8, < 3)
|
|
311
322
|
simplecov-html (~> 0.10.0)
|
|
312
323
|
simplecov-html (0.10.2)
|
|
313
|
-
specinfra (2.
|
|
324
|
+
specinfra (2.83.2)
|
|
314
325
|
net-scp
|
|
315
326
|
net-ssh (>= 2.7)
|
|
316
327
|
net-telnet (= 0.1.1)
|
|
@@ -323,21 +334,21 @@ GEM
|
|
|
323
334
|
term-ansicolor (1.7.1)
|
|
324
335
|
tins (~> 1.0)
|
|
325
336
|
thor (0.20.3)
|
|
326
|
-
tins (1.
|
|
337
|
+
tins (1.31.0)
|
|
327
338
|
sync
|
|
328
|
-
tomlrb (
|
|
339
|
+
tomlrb (2.0.1)
|
|
329
340
|
unf (0.1.4)
|
|
330
341
|
unf_ext
|
|
331
|
-
unf_ext (0.0.
|
|
342
|
+
unf_ext (0.0.8.1)
|
|
332
343
|
uuidtools (2.1.5)
|
|
333
|
-
webmock (3.
|
|
334
|
-
addressable (>= 2.
|
|
344
|
+
webmock (3.14.0)
|
|
345
|
+
addressable (>= 2.8.0)
|
|
335
346
|
crack (>= 0.3.2)
|
|
336
347
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
337
|
-
websocket-driver (0.7.
|
|
348
|
+
websocket-driver (0.7.5)
|
|
338
349
|
websocket-extensions (>= 0.1.0)
|
|
339
350
|
websocket-extensions (0.1.5)
|
|
340
|
-
wmi-lite (1.0.
|
|
351
|
+
wmi-lite (1.0.7)
|
|
341
352
|
wrapomatic (0.3.0)
|
|
342
353
|
|
|
343
354
|
PLATFORMS
|
|
@@ -369,8 +380,8 @@ DEPENDENCIES
|
|
|
369
380
|
packagecloud-ruby (~> 1.0.8)
|
|
370
381
|
pathspec (~> 0.2.1)
|
|
371
382
|
public_suffix (~> 3.0.3)
|
|
372
|
-
puppet (~>
|
|
373
|
-
puppet-blacksmith (~>
|
|
383
|
+
puppet (~> 6.26.0)
|
|
384
|
+
puppet-blacksmith (~> 4.1.2)
|
|
374
385
|
rack
|
|
375
386
|
rake (~> 12.3)
|
|
376
387
|
rendezvous (~> 0.1.3)
|
|
@@ -379,7 +390,7 @@ DEPENDENCIES
|
|
|
379
390
|
webmock
|
|
380
391
|
|
|
381
392
|
RUBY VERSION
|
|
382
|
-
ruby 2.
|
|
393
|
+
ruby 2.5.8p224
|
|
383
394
|
|
|
384
395
|
BUNDLED WITH
|
|
385
396
|
2.1.4
|
data/README.md
CHANGED
|
@@ -29,7 +29,7 @@ please do not hesitate to get in touch, and we'll help you [add it](#contributin
|
|
|
29
29
|
|
|
30
30
|
## Requirements
|
|
31
31
|
|
|
32
|
-
Dpl requires Ruby 2.
|
|
32
|
+
Dpl requires Ruby 2.3 or later.
|
|
33
33
|
|
|
34
34
|
Depending on the deployment target dpl might require additional runtimes (e.g.
|
|
35
35
|
Go, Node.js, or Python) to be installed. It also might require sudo access in
|
|
@@ -117,9 +117,9 @@ Dpl supports the following providers:
|
|
|
117
117
|
* [Engineyard](#engineyard)
|
|
118
118
|
* [Firebase](#firebase)
|
|
119
119
|
* [Flynn](#flynn)
|
|
120
|
-
* [Git (push)](#git-push
|
|
120
|
+
* [Git (push)](#git-push)
|
|
121
121
|
* [GitHub Pages](#github-pages)
|
|
122
|
-
* [GitHub Pages (API)](#github-pages-api
|
|
122
|
+
* [GitHub Pages (API)](#github-pages-api)
|
|
123
123
|
* [GitHub Releases](#github-releases)
|
|
124
124
|
* [Gleis](#gleis)
|
|
125
125
|
* [Google App Engine](#google-app-engine)
|
|
@@ -29,7 +29,7 @@ please do not hesitate to get in touch, and we'll help you [add it](#contributin
|
|
|
29
29
|
|
|
30
30
|
## Requirements
|
|
31
31
|
|
|
32
|
-
Dpl requires Ruby 2.
|
|
32
|
+
Dpl requires Ruby 2.3 or later.
|
|
33
33
|
|
|
34
34
|
Depending on the deployment target dpl might require additional runtimes (e.g.
|
|
35
35
|
Go, Node.js, or Python) to be installed. It also might require sudo access in
|
|
@@ -96,7 +96,7 @@ the following maturity levels, according to the given criteria:
|
|
|
96
96
|
Dpl supports the following providers:
|
|
97
97
|
|
|
98
98
|
<% providers.each do |key, name| -%>
|
|
99
|
-
* <%= "[#{name}](##{name.
|
|
99
|
+
* <%= "[#{name}](##{name.split(/\W+/).compact.join('-').downcase})" %>
|
|
100
100
|
<% end -%>
|
|
101
101
|
|
|
102
102
|
<% providers.each do |key, name|%>
|
data/lib/dpl/assets/dpl/git_ssh
CHANGED
data/lib/dpl/cli.rb
CHANGED
|
@@ -36,7 +36,7 @@ module Dpl
|
|
|
36
36
|
# Tainting is being used for automatically obfuscating values for secure
|
|
37
37
|
# options, so we want to untaint all incoming args here.
|
|
38
38
|
def untaint(args)
|
|
39
|
-
args.map(&:dup).each(&:
|
|
39
|
+
args.map(&:dup).each(&:whitelist)
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def with_cmd_opts(args, cmds)
|
|
@@ -66,7 +66,7 @@ module Dpl
|
|
|
66
66
|
# the string to a standard length of 20 characters. N depends on the
|
|
67
67
|
# length of the original string.
|
|
68
68
|
def obfuscate(str, opts = {})
|
|
69
|
-
return str if opts[:secure] || !str.
|
|
69
|
+
return str if opts[:secure] || !str.blacklisted?
|
|
70
70
|
keep = (str.length / (4.0 + str.length / 5).round).round
|
|
71
71
|
keep = 1 if keep == 0
|
|
72
72
|
str[0, keep] + '*' * (20 - keep)
|
|
@@ -90,17 +90,24 @@ module Dpl
|
|
|
90
90
|
|
|
91
91
|
def interpolate(str)
|
|
92
92
|
str = str % args if args.is_a?(Array) && args.any?
|
|
93
|
-
|
|
93
|
+
@blacklist_result = false
|
|
94
|
+
str = str.to_s.gsub(PATTERN) do
|
|
95
|
+
@blacklist_result = true
|
|
96
|
+
normalize(lookup($1.to_sym))
|
|
97
|
+
end
|
|
98
|
+
@blacklist_result || (args.is_a?(Array) && args.any? { |arg| arg.is_a?(String) && arg.blacklisted? }) ? str.blacklist : str
|
|
94
99
|
end
|
|
95
100
|
|
|
96
101
|
def obfuscate(str)
|
|
97
102
|
secrets(str).inject(str) do |str, secret|
|
|
103
|
+
secret = secret.dup if secret.frozen?
|
|
104
|
+
secret.blacklist if str.blacklisted?
|
|
98
105
|
str.gsub(secret, super(secret))
|
|
99
106
|
end
|
|
100
107
|
end
|
|
101
108
|
|
|
102
109
|
def secrets(str)
|
|
103
|
-
return [] unless str.is_a?(String) && str.
|
|
110
|
+
return [] unless str.is_a?(String) && str.blacklisted?
|
|
104
111
|
opts = obj.class.opts.select(&:secret?)
|
|
105
112
|
secrets = opts.map { |opt| obj.opts[opt.name] }.compact
|
|
106
113
|
secrets.select { |secret| str.include?(secret) }
|
|
@@ -110,7 +117,7 @@ module Dpl
|
|
|
110
117
|
obj.is_a?(Array) ? obj.join(' ') : obj.to_s
|
|
111
118
|
end
|
|
112
119
|
|
|
113
|
-
def lookup(key)
|
|
120
|
+
def lookup(key)
|
|
114
121
|
if vars? && !var?(key)
|
|
115
122
|
UNKNOWN % key
|
|
116
123
|
elsif mod = modifier(key)
|
|
@@ -20,7 +20,7 @@ module Dpl
|
|
|
20
20
|
opt '--config_file FILE', alias: :configfile, deprecated: :configfile
|
|
21
21
|
opt '--extra_args ARGS'
|
|
22
22
|
|
|
23
|
-
URL = 'https://files.boxfuse.com/com/boxfuse/client/boxfuse-commandline/
|
|
23
|
+
URL = 'https://files.boxfuse.com/com/boxfuse/client/boxfuse-commandline/1.33.0.1460/boxfuse-commandline-1.33.0.1460-linux-x64.tar.gz'
|
|
24
24
|
|
|
25
25
|
cmds install: 'curl -L %{URL} | tar xz',
|
|
26
26
|
deploy: 'boxfuse/boxfuse run %{deploy_opts}'
|
data/lib/dpl/providers/gcs.rb
CHANGED
|
@@ -33,7 +33,7 @@ module Dpl
|
|
|
33
33
|
opt '--cache_control HEADER', 'HTTP header Cache-Control to suggest that the browser cache the file.', see: 'https://cloud.google.com/storage/docs/xml-api/reference-headers#cachecontrol'
|
|
34
34
|
opt '--glob GLOB', default: '**/*'
|
|
35
35
|
|
|
36
|
-
cmds install: 'curl -L %{URL} | tar xz -C ~ && ~/google-cloud-sdk/install.sh --path-update false --usage-reporting false --command-completion false',
|
|
36
|
+
cmds install: 'curl -L %{URL} | tar xz -C ~ && ~/google-cloud-sdk/install.sh --quiet --path-update false --usage-reporting false --command-completion false',
|
|
37
37
|
login_key: 'gcloud auth activate-service-account --key-file=%{key_file}',
|
|
38
38
|
rsync: 'gsutil %{gs_opts} rsync %{rsync_opts} %{glob} %{target}',
|
|
39
39
|
copy: 'gsutil %{gs_opts} cp %{copy_opts} -r %{source} %{target}'
|
data/lib/dpl/providers/lambda.rb
CHANGED
|
@@ -32,7 +32,7 @@ module Dpl
|
|
|
32
32
|
opt '--subnet_ids IDS', 'List of subnet IDs to be added to the function', type: :array, note: 'Needs the ec2:DescribeSubnets and ec2:DescribeVpcs permission for the user of the access/secret key to work'
|
|
33
33
|
opt '--security_group_ids IDS', 'List of security group IDs to be added to the function', type: :array, note: 'Needs the ec2:DescribeSecurityGroups and ec2:DescribeVpcs permission for the user of the access/secret key to work'
|
|
34
34
|
opt '--environment VARS', 'List of Environment Variables to add to the function', type: :array, format: /[\w\-]+=.+/, note: 'Can be encrypted for added security', alias: :environment_variables
|
|
35
|
-
opt '--runtime NAME', 'Lambda runtime to use', note: 'required when creating a new function', default: 'nodejs10.x', enum: %w(nodejs12.x nodejs10.x python3.8 python3.7 python3.6 python2.7 ruby2.7 ruby2.5 java11 java8 go1.x dotnetcore2.1)
|
|
35
|
+
opt '--runtime NAME', 'Lambda runtime to use', note: 'required when creating a new function', default: 'nodejs10.x', enum: %w(nodejs16.x nodejs14.x nodejs12.x nodejs10.x python3.8 python3.7 python3.6 python2.7 ruby2.7 ruby2.5 java11 java8 go1.x dotnetcore2.1)
|
|
36
36
|
opt '--dead_letter_arn ARN', 'ARN to an SNS or SQS resource used for the dead letter queue.'
|
|
37
37
|
opt '--kms_key_arn ARN', 'KMS key ARN to use to encrypt environment_variables.'
|
|
38
38
|
opt '--tracing_mode MODE', 'Tracing mode', default: 'PassThrough', enum: %w(Active PassThrough), note: 'Needs xray:PutTraceSegments xray:PutTelemetryRecords on the role'
|
|
@@ -58,7 +58,7 @@ module Dpl
|
|
|
58
58
|
cmds git_clone: 'git clone --quiet --branch="%{target_branch}" --depth=1 "%{remote_url}" . > /dev/null 2>&1',
|
|
59
59
|
git_init: 'git init .',
|
|
60
60
|
git_checkout: 'git checkout --orphan "%{target_branch}"',
|
|
61
|
-
check_deploy_key: 'ssh -i %{key} -T git
|
|
61
|
+
check_deploy_key: 'ssh -i %{key} -T git@%{url} 2>&1 | grep successful > /dev/null',
|
|
62
62
|
copy_files: 'rsync -rl --exclude .git --delete "%{src_dir}/" .',
|
|
63
63
|
git_config_email: 'git config user.email %{quoted_email}',
|
|
64
64
|
git_config_name: 'git config user.name %{quoted_name}',
|
|
@@ -119,7 +119,7 @@ module Dpl
|
|
|
119
119
|
mv deploy_key, path
|
|
120
120
|
chmod 0600, path
|
|
121
121
|
setup_git_ssh path
|
|
122
|
-
shell :check_deploy_key, key: path
|
|
122
|
+
shell :check_deploy_key, key: path, url: opts[:url]
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
def git_clone?
|
|
@@ -11,8 +11,8 @@ module Dpl
|
|
|
11
11
|
tbd
|
|
12
12
|
str
|
|
13
13
|
|
|
14
|
-
gem 'puppet', '~>
|
|
15
|
-
gem 'puppet-blacksmith', '~>
|
|
14
|
+
gem 'puppet', '~> 6.26.0', require: 'puppet/face'
|
|
15
|
+
gem 'puppet-blacksmith', '~> 4.1.2', require: 'puppet_blacksmith'
|
|
16
16
|
|
|
17
17
|
env :puppetforge
|
|
18
18
|
|
|
@@ -70,13 +70,13 @@ module Dpl
|
|
|
70
70
|
|
|
71
71
|
def build
|
|
72
72
|
Dir[gemspec_glob].each do |gemspec|
|
|
73
|
-
shell :gem_build, gemspec: gemspec.
|
|
73
|
+
shell :gem_build, gemspec: gemspec.whitelist
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
def push
|
|
78
78
|
Dir["#{gem}-*.gem"].each do |file|
|
|
79
|
-
info :gem_push, gem: file.
|
|
79
|
+
info :gem_push, gem: file.whitelist
|
|
80
80
|
info Gems.push(File.new(file), *[host].compact)
|
|
81
81
|
end
|
|
82
82
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
class String
|
|
2
|
+
def whitelist
|
|
3
|
+
@is_whitelisted = true
|
|
4
|
+
|
|
5
|
+
self
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def whitelisted?
|
|
9
|
+
@is_whitelisted
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def blacklist
|
|
13
|
+
@is_whitelisted = false
|
|
14
|
+
|
|
15
|
+
self
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def blacklisted?
|
|
19
|
+
@is_whitelisted.nil? ? false : !@is_whitelisted
|
|
20
|
+
end
|
|
21
|
+
end
|
data/lib/dpl/version.rb
CHANGED
data/lib/dpl.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dpl
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.3.beta.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Konstantin Haase
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2022-06-13 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: cl
|
|
@@ -140,6 +140,7 @@ files:
|
|
|
140
140
|
- lib/dpl/providers/surge.rb
|
|
141
141
|
- lib/dpl/providers/testfairy.rb
|
|
142
142
|
- lib/dpl/providers/transifex.rb
|
|
143
|
+
- lib/dpl/string_ext.rb
|
|
143
144
|
- lib/dpl/support/aws_sdk_patch.rb
|
|
144
145
|
- lib/dpl/support/gems.rb
|
|
145
146
|
- lib/dpl/support/gstore_patch.rb
|
|
@@ -157,14 +158,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
157
158
|
requirements:
|
|
158
159
|
- - ">="
|
|
159
160
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: '2.
|
|
161
|
+
version: '2.3'
|
|
161
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
163
|
requirements:
|
|
163
164
|
- - ">"
|
|
164
165
|
- !ruby/object:Gem::Version
|
|
165
166
|
version: 1.3.1
|
|
166
167
|
requirements: []
|
|
167
|
-
|
|
168
|
+
rubyforge_project:
|
|
169
|
+
rubygems_version: 2.7.6.2
|
|
168
170
|
signing_key:
|
|
169
171
|
specification_version: 4
|
|
170
172
|
summary: Dpl runs deployments at Travis CI
|