dpl 2.0.2.beta.1 → 2.0.3.beta.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 127fc473613182a3add84607059a5777f8633d040caec51221a7254b54929f5f
4
- data.tar.gz: 7e2c0c5289b78f4512f38a96faf80f10a0b202b5a61f9baa5b4e344f9548bf0b
3
+ metadata.gz: b0f4fd2f5297366e5fed6f87f3285c250a9235a65f40d337b0c87e982408ccdb
4
+ data.tar.gz: d536fe5a971248e8562f096a991232c440808bc8bb5c340e9b82f5bcf4fbd5c9
5
5
  SHA512:
6
- metadata.gz: 3a5c62bc3fc3e01a49b8181970d9b6e587ac596ec88e7d5f228f86578979be5cb6377261d1e323ed1b029744cc2ab805847ddf8a899a625ddd849d1678e4ea47
7
- data.tar.gz: 10d95dd4a423d3ad94006f0e233cc37dcbff15ca2d27f9827f5c52223e9cdfb4b008f5672dbfa755b047fcdad40bd6d3133ff483536e518c642ac5a4c66c8a66
6
+ metadata.gz: 0666a771891912ee878e5ba318ee36fe27249a3d6ad49c219c0c8fddec598098ac2a2e06f025abc35f6788d0133f4a3b36241f8932757562ea8d7823a3f72291
7
+ data.tar.gz: e09da57dad0a3f98e5e991d1fdbcd895b9098140181e63a52ca6dde8b64601aa04c0ac1398b5e08a1442cbd5e230597b30e8dc4c146090a3f19764c960c4124a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## dpl v2.0.3-beta.1 (2022-03-15)
4
+
5
+ * Deprecate support for Ruby 2.2
6
+
3
7
  ## dpl v2.0.2-beta.1 (2020-09-15)
4
8
 
5
9
  * Add AWS ECR support
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ $: << 'lib'
2
2
  require 'dpl/support/gems'
3
3
 
4
4
  source 'https://rubygems.org'
5
- ruby '>= 2.2'
5
+ ruby '>= 2.3'
6
6
 
7
7
  gemspec name: 'dpl'
8
8
  # gem 'cl', path: '../../cl'
data/Gemfile.lock CHANGED
@@ -1,48 +1,48 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dpl (2.0.0.beta.3)
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.7.0)
10
+ addressable (2.8.0)
11
11
  public_suffix (>= 2.0.2, < 5.0)
12
- awesome_print (1.8.0)
13
- aws-eventstream (1.1.0)
14
- aws-partitions (1.365.0)
15
- aws-sdk-cloudformation (1.42.0)
16
- aws-sdk-core (~> 3, >= 3.99.0)
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.35.0)
19
- aws-sdk-core (~> 3, >= 3.99.0)
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.105.0)
21
+ aws-sdk-core (3.130.1)
22
22
  aws-eventstream (~> 1, >= 1.0.2)
23
- aws-partitions (~> 1, >= 1.239.0)
23
+ aws-partitions (~> 1, >= 1.525.0)
24
24
  aws-sigv4 (~> 1.1)
25
25
  jmespath (~> 1.0)
26
- aws-sdk-ecr (1.37.0)
27
- aws-sdk-core (~> 3, >= 3.99.0)
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.36.0)
30
- aws-sdk-core (~> 3, >= 3.99.0)
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.37.0)
33
- aws-sdk-core (~> 3, >= 3.99.0)
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.49.0)
36
- aws-sdk-core (~> 3, >= 3.99.0)
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.28.0)
39
- aws-sdk-core (~> 3, >= 3.99.0)
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.79.1)
42
- aws-sdk-core (~> 3, >= 3.104.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.1)
45
- aws-sigv4 (1.2.2)
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.3)
104
- safe_yaml (~> 1.0.0)
105
- diff-lcs (1.4.4)
106
- docile (1.3.2)
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.76.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.2.0)
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.1.2)
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.0)
158
+ faye-websocket (0.11.1)
157
159
  eventmachine (>= 0.12.0)
158
160
  websocket-driver (>= 0.5.1)
159
- ffi (1.13.1)
160
- ffi-yajl (2.3.4)
161
- libyajl2 (~> 1.2)
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.3)
177
+ fog-xml (0.1.4)
176
178
  fog-core
177
179
  nokogiri (>= 1.5.11, < 2.0.0)
178
- formatador (0.2.5)
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.6.0)
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.3)
193
+ http-cookie (1.0.4)
191
194
  domain_name (~> 0.5)
192
- http_parser.rb (0.6.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.4.0)
199
+ jmespath (1.6.1)
196
200
  json (1.8.6)
197
201
  json_pure (1.8.6)
198
- libyajl2 (1.2.0)
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.2020.0512)
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.10.14)
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.5.0)
258
+ plist (3.6.0)
255
259
  proxifier (1.0.3)
256
- pry (0.13.1)
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 (5.5.21)
261
- facter (> 2.0.1, < 4)
262
- fast_gettext (~> 1.1.2)
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
- puppet-blacksmith (3.3.1)
267
- puppet (>= 2.7.16)
268
- rest-client
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
- rspec (3.9.0)
279
- rspec-core (~> 3.9.0)
280
- rspec-expectations (~> 3.9.0)
281
- rspec-mocks (~> 3.9.0)
282
- rspec-core (3.9.2)
283
- rspec-support (~> 3.9.3)
284
- rspec-expectations (3.9.2)
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.9.0)
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.9.1)
301
+ rspec-mocks (3.11.1)
291
302
  diff-lcs (>= 1.2.0, < 2.0)
292
- rspec-support (~> 3.9.0)
293
- rspec-support (3.9.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
- serverspec (2.41.5)
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.82.19)
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.25.0)
337
+ tins (1.31.0)
327
338
  sync
328
- tomlrb (1.3.0)
339
+ tomlrb (2.0.1)
329
340
  unf (0.1.4)
330
341
  unf_ext
331
- unf_ext (0.0.7.7)
342
+ unf_ext (0.0.8.1)
332
343
  uuidtools (2.1.5)
333
- webmock (3.8.3)
334
- addressable (>= 2.3.6)
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.3)
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.5)
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 (~> 5.5.14)
373
- puppet-blacksmith (~> 3.3.1)
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.4.9p362
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.2 or later.
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.2 or later.
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.gsub(/\W+/, '-').downcase})" %>
99
+ * <%= "[#{name}](##{name.split(/\W+/).compact.join('-').downcase})" %>
100
100
  <% end -%>
101
101
 
102
102
  <% providers.each do |key, name|%>
@@ -1,2 +1,8 @@
1
1
  #!/bin/sh
2
- exec ssh -o StrictHostKeychecking=no -o CheckHostIP=no -o UserKnownHostsFile=/dev/null -i %s $@
2
+ exec ssh \
3
+ -o CheckHostIP=no \
4
+ -o IdentitiesOnly=yes \
5
+ -o StrictHostKeychecking=no \
6
+ -o UserKnownHostsFile=/dev/null \
7
+ -i %s \
8
+ $@
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(&:untaint)
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.tainted?
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
- str.to_s.gsub(PATTERN) { normalize(lookup($1.to_sym)) }
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.tainted?
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/latest/boxfuse-commandline-latest-linux-x64.tar.gz'
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}'
@@ -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}'
@@ -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'
@@ -9,6 +9,8 @@ module Dpl
9
9
  tbd
10
10
  str
11
11
 
12
+ node_js '>= 12.0.0'
13
+
12
14
  npm 'netlify-cli', 'netlify'
13
15
 
14
16
  env :netlify
@@ -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@github.com 2>&1 | grep successful > /dev/null',
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', '~> 5.5.14', require: 'puppet/face'
15
- gem 'puppet-blacksmith', '~> 3.3.1', require: '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.untaint
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.untaint
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
@@ -1,3 +1,3 @@
1
1
  module Dpl
2
- VERSION = '2.0.2.beta.1'
2
+ VERSION = '2.0.3.beta.3'
3
3
  end
data/lib/dpl.rb CHANGED
@@ -2,6 +2,7 @@ require 'dpl/cli'
2
2
  require 'dpl/ctx'
3
3
  require 'dpl/provider'
4
4
  require 'dpl/version'
5
+ require 'dpl/string_ext'
5
6
 
6
7
  module Dpl
7
8
  class Error < StandardError
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.2.beta.1
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: 2020-09-15 00:00:00.000000000 Z
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.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
- rubygems_version: 3.0.6
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