dpl 1.10.17.travis.6637.6 → 2.0.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +74 -0
  3. data/CONTRIBUTING.md +392 -0
  4. data/Gemfile +17 -3
  5. data/Gemfile.lock +373 -0
  6. data/LICENSE +16 -19
  7. data/NOTES.md +275 -0
  8. data/README.md +1977 -707
  9. data/Rakefile +2 -2
  10. data/bin/dpl +7 -3
  11. data/lib/dpl.rb +20 -0
  12. data/lib/dpl/assets/atlas/install +19 -0
  13. data/lib/dpl/assets/dpl/README.erb.md +133 -0
  14. data/lib/dpl/assets/dpl/git_ssh +2 -0
  15. data/lib/dpl/assets/git/detect_private_key +8 -0
  16. data/lib/dpl/assets/hephy/filter_log +3 -0
  17. data/lib/dpl/assets/pypi/install +4 -0
  18. data/lib/dpl/assets/scalingo/install +6 -0
  19. data/lib/dpl/cli.rb +36 -48
  20. data/lib/dpl/ctx.rb +2 -0
  21. data/lib/dpl/ctx/bash.rb +543 -0
  22. data/lib/dpl/ctx/test.rb +242 -0
  23. data/lib/dpl/helper/assets.rb +36 -0
  24. data/lib/dpl/helper/cmd.rb +167 -0
  25. data/lib/dpl/helper/config_file.rb +47 -0
  26. data/lib/dpl/helper/env.rb +39 -0
  27. data/lib/dpl/helper/interpolate.rb +126 -0
  28. data/lib/dpl/helper/memoize.rb +20 -0
  29. data/lib/dpl/helper/squiggle.rb +22 -0
  30. data/lib/dpl/helper/zip.rb +69 -0
  31. data/lib/dpl/provider.rb +562 -234
  32. data/lib/dpl/provider/dsl.rb +369 -0
  33. data/lib/dpl/provider/examples.rb +128 -0
  34. data/lib/dpl/provider/status.rb +59 -0
  35. data/lib/dpl/providers.rb +40 -0
  36. data/lib/dpl/providers/anynines.rb +65 -0
  37. data/lib/dpl/providers/atlas.rb +49 -0
  38. data/lib/dpl/providers/azure_web_apps.rb +59 -0
  39. data/lib/dpl/providers/bintray.rb +313 -0
  40. data/lib/dpl/providers/bluemixcloudfoundry.rb +92 -0
  41. data/lib/dpl/providers/boxfuse.rb +48 -0
  42. data/lib/dpl/providers/cargo.rb +19 -0
  43. data/lib/dpl/providers/chef_supermarket.rb +128 -0
  44. data/lib/dpl/providers/cloud66.rb +40 -0
  45. data/lib/dpl/providers/cloudfiles.rb +56 -0
  46. data/lib/dpl/providers/cloudfoundry.rb +81 -0
  47. data/lib/dpl/providers/codedeploy.rb +179 -0
  48. data/lib/dpl/providers/datica.rb +60 -0
  49. data/lib/dpl/providers/elasticbeanstalk.rb +195 -0
  50. data/lib/dpl/providers/engineyard.rb +107 -0
  51. data/lib/dpl/providers/firebase.rb +41 -0
  52. data/lib/dpl/providers/gae.rb +74 -0
  53. data/lib/dpl/providers/gcs.rb +105 -0
  54. data/lib/dpl/providers/hackage.rb +47 -0
  55. data/lib/dpl/providers/hephy.rb +101 -0
  56. data/lib/dpl/providers/heroku.rb +111 -0
  57. data/lib/dpl/providers/heroku/api.rb +119 -0
  58. data/lib/dpl/providers/heroku/git.rb +50 -0
  59. data/lib/dpl/providers/lambda.rb +202 -0
  60. data/lib/dpl/providers/launchpad.rb +74 -0
  61. data/lib/dpl/providers/netlify.rb +30 -0
  62. data/lib/dpl/providers/npm.rb +88 -0
  63. data/lib/dpl/providers/openshift.rb +46 -0
  64. data/lib/dpl/providers/opsworks.rb +142 -0
  65. data/lib/dpl/providers/packagecloud.rb +190 -0
  66. data/lib/dpl/providers/pages.rb +17 -0
  67. data/lib/dpl/providers/pages/api.rb +102 -0
  68. data/lib/dpl/providers/pages/git.rb +251 -0
  69. data/lib/dpl/providers/puppetforge.rb +44 -0
  70. data/lib/dpl/providers/pypi.rb +120 -0
  71. data/lib/dpl/providers/releases.rb +214 -0
  72. data/lib/dpl/providers/rubygems.rb +89 -0
  73. data/lib/dpl/providers/s3.rb +243 -0
  74. data/lib/dpl/providers/scalingo.rb +63 -0
  75. data/lib/dpl/providers/script.rb +28 -0
  76. data/lib/dpl/providers/snap.rb +59 -0
  77. data/lib/dpl/providers/surge.rb +55 -0
  78. data/lib/dpl/providers/testfairy.rb +93 -0
  79. data/lib/dpl/providers/transifex.rb +66 -0
  80. data/lib/dpl/support/aws_sdk_patch.rb +23 -0
  81. data/lib/dpl/support/gems.rb +69 -0
  82. data/lib/dpl/support/gstore_patch.rb +6 -0
  83. data/lib/dpl/support/version.rb +83 -0
  84. data/lib/dpl/version.rb +2 -2
  85. metadata +98 -169
  86. data/.coveralls.yml +0 -1
  87. data/.github/CONTRIBUTING.md +0 -173
  88. data/.github/stale.yml +0 -53
  89. data/.gitignore +0 -13
  90. data/.rspec +0 -2
  91. data/.travis.yml +0 -56
  92. data/dpl-anynines.gemspec +0 -3
  93. data/dpl-atlas.gemspec +0 -3
  94. data/dpl-azure_webapps.gemspec +0 -3
  95. data/dpl-bintray.gemspec +0 -3
  96. data/dpl-bitballoon.gemspec +0 -3
  97. data/dpl-bluemix_cloud_foundry.gemspec +0 -3
  98. data/dpl-boxfuse.gemspec +0 -3
  99. data/dpl-cargo.gemspec +0 -3
  100. data/dpl-catalyze.gemspec +0 -3
  101. data/dpl-chef_supermarket.gemspec +0 -20
  102. data/dpl-cloud66.gemspec +0 -3
  103. data/dpl-cloud_files.gemspec +0 -3
  104. data/dpl-cloud_foundry.gemspec +0 -3
  105. data/dpl-code_deploy.gemspec +0 -3
  106. data/dpl-deis.gemspec +0 -3
  107. data/dpl-elastic_beanstalk.gemspec +0 -3
  108. data/dpl-engine_yard.gemspec +0 -3
  109. data/dpl-firebase.gemspec +0 -3
  110. data/dpl-gae.gemspec +0 -3
  111. data/dpl-gcs.gemspec +0 -3
  112. data/dpl-hackage.gemspec +0 -3
  113. data/dpl-hephy.gemspec +0 -3
  114. data/dpl-heroku.gemspec +0 -3
  115. data/dpl-lambda.gemspec +0 -3
  116. data/dpl-launchpad.gemspec +0 -3
  117. data/dpl-npm.gemspec +0 -3
  118. data/dpl-openshift.gemspec +0 -3
  119. data/dpl-ops_works.gemspec +0 -3
  120. data/dpl-packagecloud.gemspec +0 -3
  121. data/dpl-pages.gemspec +0 -3
  122. data/dpl-puppet_forge.gemspec +0 -3
  123. data/dpl-pypi.gemspec +0 -3
  124. data/dpl-releases.gemspec +0 -8
  125. data/dpl-rubygems.gemspec +0 -3
  126. data/dpl-s3.gemspec +0 -3
  127. data/dpl-scalingo.gemspec +0 -3
  128. data/dpl-script.gemspec +0 -3
  129. data/dpl-snap.gemspec +0 -3
  130. data/dpl-surge.gemspec +0 -3
  131. data/dpl-testfairy.gemspec +0 -3
  132. data/dpl-transifex.gemspec +0 -3
  133. data/dpl.gemspec +0 -3
  134. data/gemspec_helper.rb +0 -51
  135. data/lib/dpl/error.rb +0 -3
  136. data/notes/engine_yard.md +0 -1
  137. data/notes/heroku.md +0 -3
  138. data/spec/cli_spec.rb +0 -36
  139. data/spec/provider_spec.rb +0 -191
  140. data/spec/spec_helper.rb +0 -20
data/Gemfile CHANGED
@@ -1,5 +1,19 @@
1
+ $: << 'lib'
2
+ require 'dpl/support/gems'
3
+
1
4
  source 'https://rubygems.org'
2
- ruby '> 2.1' # 2.2 and up
3
- gemspec :name => 'dpl'
5
+ ruby '>= 2.2'
6
+
7
+ gemspec name: 'dpl'
8
+ # gem 'cl', path: '../../cl'
9
+
10
+ gems = Dpl::Support::Gems.new('lib/dpl/providers/**/*.rb')
11
+ gems.each do |name, version, opts|
12
+ gem name, version, opts
13
+ end
4
14
 
5
- gem 'term-ansicolor'
15
+ group :test do
16
+ gem 'coveralls'
17
+ gem 'rspec'
18
+ gem 'webmock'
19
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,373 @@
1
+ PATH
2
+ remote: ../../cl
3
+ specs:
4
+ cl (1.1.1)
5
+ regstry (~> 1.0.3)
6
+
7
+ PATH
8
+ remote: .
9
+ specs:
10
+ dpl (2.0.0.alpha.1)
11
+ cl (~> 1.0)
12
+
13
+ GEM
14
+ remote: https://rubygems.org/
15
+ specs:
16
+ addressable (2.6.0)
17
+ public_suffix (>= 2.0.2, < 4.0)
18
+ awesome_print (1.8.0)
19
+ aws-eventstream (1.0.3)
20
+ aws-partitions (1.203.0)
21
+ aws-sdk-codedeploy (1.26.0)
22
+ aws-sdk-core (~> 3, >= 3.61.1)
23
+ aws-sigv4 (~> 1.1)
24
+ aws-sdk-core (3.64.0)
25
+ aws-eventstream (~> 1.0, >= 1.0.2)
26
+ aws-partitions (~> 1.0)
27
+ aws-sigv4 (~> 1.1)
28
+ jmespath (~> 1.0)
29
+ aws-sdk-elasticbeanstalk (1.25.0)
30
+ aws-sdk-core (~> 3, >= 3.61.1)
31
+ aws-sigv4 (~> 1.1)
32
+ aws-sdk-kms (1.24.0)
33
+ aws-sdk-core (~> 3, >= 3.61.1)
34
+ aws-sigv4 (~> 1.1)
35
+ aws-sdk-lambda (1.29.0)
36
+ aws-sdk-core (~> 3, >= 3.61.1)
37
+ aws-sigv4 (~> 1.1)
38
+ aws-sdk-opsworks (1.20.0)
39
+ aws-sdk-core (~> 3, >= 3.61.1)
40
+ aws-sigv4 (~> 1.1)
41
+ aws-sdk-s3 (1.46.0)
42
+ aws-sdk-core (~> 3, >= 3.61.1)
43
+ aws-sdk-kms (~> 1)
44
+ aws-sigv4 (~> 1.1)
45
+ aws-sigv4 (1.1.0)
46
+ aws-eventstream (~> 1.0, >= 1.0.2)
47
+ belafonte (0.5.0)
48
+ optionally
49
+ wrapomatic (~> 0.3)
50
+ builder (3.2.3)
51
+ chef (12.22.5)
52
+ addressable
53
+ bundler (>= 1.10)
54
+ chef-config (= 12.22.5)
55
+ chef-zero (>= 4.8, < 13)
56
+ diff-lcs (~> 1.2, >= 1.2.4)
57
+ erubis (~> 2.7)
58
+ ffi-yajl (~> 2.2)
59
+ highline (~> 1.6, >= 1.6.9)
60
+ iniparse (~> 1.4)
61
+ mixlib-archive (~> 0.4)
62
+ mixlib-authentication (~> 1.4)
63
+ mixlib-cli (~> 1.7)
64
+ mixlib-log (~> 1.3)
65
+ mixlib-shellout (~> 2.0)
66
+ net-sftp (~> 2.1, >= 2.1.2)
67
+ net-ssh (>= 2.9, < 5.0)
68
+ net-ssh-multi (~> 1.2, >= 1.2.1)
69
+ ohai (>= 8.6.0.alpha.1, < 13)
70
+ plist (~> 3.2)
71
+ proxifier (~> 1.0)
72
+ rspec-core (~> 3.5)
73
+ rspec-expectations (~> 3.5)
74
+ rspec-mocks (~> 3.5)
75
+ rspec_junit_formatter (~> 0.2.0)
76
+ serverspec (~> 2.7)
77
+ specinfra (~> 2.10)
78
+ syslog-logger (~> 1.6)
79
+ uuidtools (~> 2.1.5)
80
+ chef-config (12.22.5)
81
+ addressable
82
+ fuzzyurl
83
+ mixlib-config (~> 2.0)
84
+ mixlib-shellout (~> 2.0)
85
+ chef-zero (5.3.2)
86
+ ffi-yajl (~> 2.2)
87
+ hashie (>= 2.0, < 4.0)
88
+ mixlib-log (~> 1.3)
89
+ rack (~> 2.0)
90
+ uuidtools (~> 2.1)
91
+ cistern (0.12.3)
92
+ coderay (1.1.2)
93
+ colorize (0.8.1)
94
+ cookiejar (0.3.3)
95
+ coveralls (0.8.23)
96
+ json (>= 1.8, < 3)
97
+ simplecov (~> 0.16.1)
98
+ term-ansicolor (~> 1.3)
99
+ thor (>= 0.19.4, < 2.0)
100
+ tins (~> 1.6)
101
+ crack (0.4.3)
102
+ safe_yaml (~> 1.0.0)
103
+ diff-lcs (1.3)
104
+ docile (1.3.2)
105
+ domain_name (0.5.20190701)
106
+ unf (>= 0.0.5, < 1.0.0)
107
+ em-http-request (1.1.5)
108
+ addressable (>= 2.3.4)
109
+ cookiejar (!= 0.3.1)
110
+ em-socksify (>= 0.3)
111
+ eventmachine (>= 1.0.3)
112
+ http_parser.rb (>= 0.6.0)
113
+ em-socksify (0.3.2)
114
+ eventmachine (>= 1.0.0.beta.4)
115
+ erubis (2.7.0)
116
+ escape (0.0.4)
117
+ eventmachine (1.2.7)
118
+ excon (0.66.0)
119
+ ey-core (3.5.0)
120
+ addressable
121
+ awesome_print
122
+ belafonte
123
+ cistern (~> 0.12.3)
124
+ colorize
125
+ escape
126
+ ey-hmac (~> 2.0)
127
+ faraday (~> 0.9)
128
+ faraday_middleware (~> 0.9)
129
+ faye
130
+ highline
131
+ json (< 2.0)
132
+ mime-types
133
+ oj
134
+ oj_mimic_json
135
+ pry
136
+ rack
137
+ sshkey (~> 1.6)
138
+ table_print
139
+ ey-hmac (2.2.0)
140
+ facter (2.5.5)
141
+ faraday (0.9.2)
142
+ multipart-post (>= 1.2, < 3)
143
+ faraday_middleware (0.13.1)
144
+ faraday (>= 0.7.4, < 1.0)
145
+ fast_gettext (1.1.2)
146
+ faye (1.2.4)
147
+ cookiejar (>= 0.3.0)
148
+ em-http-request (>= 0.3.0)
149
+ eventmachine (>= 0.12.0)
150
+ faye-websocket (>= 0.9.1)
151
+ multi_json (>= 1.0.0)
152
+ rack (>= 1.0.0)
153
+ websocket-driver (>= 0.5.1)
154
+ faye-websocket (0.10.9)
155
+ eventmachine (>= 0.12.0)
156
+ websocket-driver (>= 0.5.1)
157
+ ffi (1.11.1)
158
+ ffi-yajl (2.3.1)
159
+ libyajl2 (~> 1.2)
160
+ fog-core (2.1.0)
161
+ builder
162
+ excon (~> 0.58)
163
+ formatador (~> 0.2)
164
+ mime-types
165
+ fog-json (1.2.0)
166
+ fog-core
167
+ multi_json (~> 1.10)
168
+ fog-rackspace (0.1.6)
169
+ fog-core (>= 1.35)
170
+ fog-json (>= 1.0)
171
+ fog-xml (>= 0.1)
172
+ ipaddress (>= 0.8)
173
+ fog-xml (0.1.3)
174
+ fog-core
175
+ nokogiri (>= 1.5.11, < 2.0.0)
176
+ formatador (0.2.5)
177
+ fuzzyurl (0.9.0)
178
+ gems (1.1.1)
179
+ json
180
+ hashdiff (1.0.0)
181
+ hashie (3.6.0)
182
+ hiera (3.5.0)
183
+ highline (1.7.10)
184
+ http-cookie (1.0.3)
185
+ domain_name (~> 0.5)
186
+ http_parser.rb (0.6.0)
187
+ iniparse (1.4.4)
188
+ ipaddress (0.8.3)
189
+ jmespath (1.4.0)
190
+ json (1.8.6)
191
+ json_pure (1.8.6)
192
+ libyajl2 (1.2.0)
193
+ locale (2.1.2)
194
+ method_source (0.9.2)
195
+ mime (0.4.4)
196
+ mime-types (3.2.2)
197
+ mime-types-data (~> 3.2015)
198
+ mime-types-data (3.2019.0331)
199
+ mini_portile2 (2.4.0)
200
+ mixlib-archive (0.4.20)
201
+ mixlib-log
202
+ mixlib-authentication (1.4.2)
203
+ mixlib-cli (1.7.0)
204
+ mixlib-config (2.2.18)
205
+ tomlrb
206
+ mixlib-log (1.7.1)
207
+ mixlib-shellout (2.4.4)
208
+ multi_json (1.13.1)
209
+ multipart-post (2.0.0)
210
+ net-scp (2.0.0)
211
+ net-ssh (>= 2.6.5, < 6.0.0)
212
+ net-sftp (2.1.2)
213
+ net-ssh (>= 2.6.5)
214
+ net-ssh (4.2.0)
215
+ net-ssh-gateway (2.0.0)
216
+ net-ssh (>= 4.0.0)
217
+ net-ssh-multi (1.2.1)
218
+ net-ssh (>= 2.6.5)
219
+ net-ssh-gateway (>= 1.2.0)
220
+ net-telnet (0.1.1)
221
+ netrc (0.11.0)
222
+ nokogiri (1.9.1)
223
+ mini_portile2 (~> 2.4.0)
224
+ octokit (4.14.0)
225
+ sawyer (~> 0.8.0, >= 0.5.3)
226
+ ohai (8.26.1)
227
+ chef-config (>= 12.5.0.alpha.1, < 14)
228
+ ffi (~> 1.9)
229
+ ffi-yajl (~> 2.2)
230
+ ipaddress
231
+ mixlib-cli
232
+ mixlib-config (~> 2.0)
233
+ mixlib-log (>= 1.7.1, < 2.0)
234
+ mixlib-shellout (~> 2.0)
235
+ plist (~> 3.1)
236
+ systemu (~> 2.6.4)
237
+ wmi-lite (~> 1.0)
238
+ oj (3.9.0)
239
+ oj_mimic_json (1.0.1)
240
+ optionally (0.0.3)
241
+ packagecloud-ruby (1.0.8)
242
+ excon (~> 0.40)
243
+ json_pure (~> 1)
244
+ mime (~> 0.4)
245
+ multi_json (~> 1.0)
246
+ pathspec (0.2.1)
247
+ plist (3.5.0)
248
+ proxifier (1.0.3)
249
+ pry (0.12.2)
250
+ coderay (~> 1.1.0)
251
+ method_source (~> 0.9.0)
252
+ public_suffix (3.0.3)
253
+ puppet (5.5.16)
254
+ facter (> 2.0.1, < 4)
255
+ fast_gettext (~> 1.1.2)
256
+ hiera (>= 3.2.1, < 4)
257
+ locale (~> 2.1)
258
+ multi_json (~> 1.10)
259
+ puppet-blacksmith (3.3.1)
260
+ puppet (>= 2.7.16)
261
+ rest-client
262
+ rack (2.0.7)
263
+ rake (12.3.3)
264
+ regstry (1.0.14)
265
+ rendezvous (0.1.3)
266
+ rest-client (2.0.2)
267
+ http-cookie (>= 1.0.2, < 2.0)
268
+ mime-types (>= 1.16, < 4.0)
269
+ netrc (~> 0.8)
270
+ rspec (3.8.0)
271
+ rspec-core (~> 3.8.0)
272
+ rspec-expectations (~> 3.8.0)
273
+ rspec-mocks (~> 3.8.0)
274
+ rspec-core (3.8.2)
275
+ rspec-support (~> 3.8.0)
276
+ rspec-expectations (3.8.4)
277
+ diff-lcs (>= 1.2.0, < 2.0)
278
+ rspec-support (~> 3.8.0)
279
+ rspec-its (1.3.0)
280
+ rspec-core (>= 3.0.0)
281
+ rspec-expectations (>= 3.0.0)
282
+ rspec-mocks (3.8.1)
283
+ diff-lcs (>= 1.2.0, < 2.0)
284
+ rspec-support (~> 3.8.0)
285
+ rspec-support (3.8.2)
286
+ rspec_junit_formatter (0.2.3)
287
+ builder (< 4)
288
+ rspec-core (>= 2, < 4, != 2.12.0)
289
+ rubyzip (1.2.3)
290
+ safe_yaml (1.0.5)
291
+ sawyer (0.8.2)
292
+ addressable (>= 2.3.5)
293
+ faraday (> 0.8, < 2.0)
294
+ serverspec (2.41.5)
295
+ multi_json
296
+ rspec (~> 3.0)
297
+ rspec-its
298
+ specinfra (~> 2.72)
299
+ sfl (2.3)
300
+ simplecov (0.16.1)
301
+ docile (~> 1.1)
302
+ json (>= 1.8, < 3)
303
+ simplecov-html (~> 0.10.0)
304
+ simplecov-html (0.10.2)
305
+ specinfra (2.81.0)
306
+ net-scp
307
+ net-ssh (>= 2.7)
308
+ net-telnet (= 0.1.1)
309
+ sfl
310
+ sshkey (1.9.0)
311
+ syslog-logger (1.6.8)
312
+ systemu (2.6.5)
313
+ table_print (1.5.6)
314
+ term-ansicolor (1.7.1)
315
+ tins (~> 1.0)
316
+ thor (0.20.3)
317
+ tins (1.21.1)
318
+ tomlrb (1.2.8)
319
+ unf (0.1.4)
320
+ unf_ext
321
+ unf_ext (0.0.7.6)
322
+ uuidtools (2.1.5)
323
+ webmock (3.6.2)
324
+ addressable (>= 2.3.6)
325
+ crack (>= 0.3.2)
326
+ hashdiff (>= 0.4.0, < 2.0.0)
327
+ websocket-driver (0.7.1)
328
+ websocket-extensions (>= 0.1.0)
329
+ websocket-extensions (0.1.4)
330
+ wmi-lite (1.0.2)
331
+ wrapomatic (0.3.0)
332
+
333
+ PLATFORMS
334
+ ruby
335
+
336
+ DEPENDENCIES
337
+ aws-sdk-codedeploy (~> 1.0)
338
+ aws-sdk-elasticbeanstalk (~> 1.0)
339
+ aws-sdk-lambda (~> 1.0)
340
+ aws-sdk-opsworks (~> 1.0)
341
+ aws-sdk-s3 (~> 1.0)
342
+ chef (~> 12.0)
343
+ cl!
344
+ coveralls
345
+ dpl!
346
+ ey-core (~> 3.5)
347
+ faraday (~> 0.9.2)
348
+ fog-core (= 2.1.0)
349
+ fog-rackspace (~> 0.1.6)
350
+ gems (~> 1.1.1)
351
+ json
352
+ mime-types (~> 3.2.2)
353
+ multipart-post (~> 2.0.0)
354
+ netrc (~> 0.11.0)
355
+ nokogiri (< 1.10)
356
+ octokit (~> 4.14.0)
357
+ packagecloud-ruby (~> 1.0.8)
358
+ pathspec (~> 0.2.1)
359
+ public_suffix (~> 3.0.3)
360
+ puppet (~> 5.5.14)
361
+ puppet-blacksmith (~> 3.3.1)
362
+ rack
363
+ rake (~> 12.3)
364
+ rendezvous (~> 0.1.3)
365
+ rspec
366
+ rubyzip (~> 1.2.2)
367
+ webmock
368
+
369
+ RUBY VERSION
370
+ ruby 2.2.2p95
371
+
372
+ BUNDLED WITH
373
+ 2.0.1
data/LICENSE CHANGED
@@ -1,22 +1,19 @@
1
- Copyright (c) 2013 Konstantin Haase
1
+ Copyright (c) 2013-2019 Travis CI GmbH
2
2
 
3
- Permission is hereby granted, free of charge, to any person
4
- obtaining a copy of this software and associated documentation
5
- files (the "Software"), to deal in the Software without
6
- restriction, including without limitation the rights to use,
7
- copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the
9
- Software is furnished to do so, subject to the following
10
- conditions:
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
11
9
 
12
- The above copyright notice and this permission notice shall be
13
- included in all copies or substantial portions of the Software.
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
14
12
 
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
17
- OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
19
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
20
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
- OTHER DEALINGS IN THE SOFTWARE.
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
data/NOTES.md ADDED
@@ -0,0 +1,275 @@
1
+ x add `opts required: [:api_key, [:user, :password]]`
2
+ x add opt '--foo', requires: :other
3
+ x add opt '--foo', alias: :other
4
+ x add opt '--foo', format: /.+/
5
+ x add opt '--foo', deprecated: true
6
+ x add opt '--foo', alias: :other, deprecated: :other
7
+ x add opt '--foo', max: 10, type: :integer
8
+ x add opt '--foo', enum: ['one', 'two']
9
+ x consider automatically adding `[no-]` to booleans
10
+ x make it so that Cl::Cmd parses the args, not Runner. only that way sub cmd specific opts can sit on the sub command
11
+ x cleanup and move matchers
12
+ x add lookup and interpolation to assert
13
+ x revisit using MSGS and CMDS everywhere
14
+ x add something like :keep for automatically moving things out of the way before cleanup
15
+ x make specs validate that cmds have run in the correct order
16
+ x revisit what's up with `needs_key`
17
+ x revisit what's up with `git_http_user_agent false`
18
+ x revisit the run stages in Provider
19
+ x implement folds
20
+ x port on-demand installation of sub gems
21
+ x make MSGS etc class methods, so they can inherit from base classes (for Heroku)
22
+ x move sub cmd opts etc to sub classes for Heroku
23
+ x look into using FakeFS, MemFS sucks
24
+ x make a list of strategies/tools providers use
25
+ x revisit which providers need an ssh key, git, etc.
26
+ x should have run in order matcher does not work
27
+ x write bin/readme
28
+ x test Cl against all Ruby versions >= 2.0
29
+ x test Ctx
30
+ x go through all providers, remove fakefs, use chdir 'tmp/dpl'
31
+ x make sure all provider fs write operations go through ctx
32
+ x what is `options[:no_deploy]` for? (it's for testing. added it back as `--stages`)
33
+ x make sure dasherized options are accepted and normalized
34
+ x add opt internal: true to Cl
35
+ x write comments on the most important classes, so we can generate some api docs
36
+ x install gems with sudo if Process::UID.eid is 0
37
+ x document Provider.env
38
+ x add retry to Ctx#script
39
+ x try installing all gems at once
40
+ x run apt-get update before apt-get install, once
41
+ x make sure failed dependency installation fails the command
42
+ x fix dependency installation for various providers
43
+ x look into making `--app` and `--key_name` attr readers, rather than options
44
+ x make it so that options are being overwritten if specified by both base and sub classes
45
+ x test that `bin/dpl --stage install` runs as expected for various providers
46
+ x on Travis CI add a stage that tests `bin/dpl --stage install` for various providers on various ruby versions
47
+ x try using bundler/inline for gem dependencies
48
+ x write a proper readme for Cl
49
+ x add yard docs to Cl
50
+ x autogenerate examples
51
+ x update .github/CONTRIBUTING.md
52
+ x consider adding `note: 'some comment` to Cl opts (e.g. see Lambda tracing mode)
53
+ x bundle/inline seems to pick up an existing Gemfile.lock (which might be incompatible)
54
+ x figure out how to deal with python tooling on non-python images etc (just die for now)
55
+ x unit test netlfiy
56
+ x move ./.dpl to ~/.dpl (clutters the working dir)
57
+ x add a DSL for adding paths to PATH, e.g. gcs
58
+ x make sure all error messages are actually being displayed
59
+ x remove the fold for finishing the deployment, it's confusing. Maybe do not fold the deployment itself? or somehow keep the last fold open if there is an error?
60
+ x BitBalloon is now Netlify Drop https://app.netlify.com/drop. time to rename it?
61
+ x make `--skip_cleanup` the default
62
+ x make sure all main shell scripts use assert: true, echo: true
63
+ x make sure all asserts have an err msg (can we test this?), or add a generic error message
64
+ x add secure: true, in order to tell Cl to filter log output for a given option
65
+ x refactor Provider by splitting out a Cmd class for shell commands
66
+ x document Cmd methods
67
+ x revisit README and CONTRIBUTING
68
+ x Make sure failed deployments always fail the build starting with dpl 2.0
69
+
70
+ - amend and pr sf-ey-core
71
+ - amend and pr sf-cookbook-name (ports #968)
72
+ - amend and pr sf-s3-file-specific-opts (ports #958)
73
+ - amend and pr sf-twine-check (see #944)
74
+ - amend and pr sf-s3-verbose (ports #882)
75
+ - amend and pr sf-aws-sdk-v3 (ports #863)
76
+ - amend and pr sf-pypi-upload-docs (see #835)
77
+ - amend and pr sf-gae-configs (see #829)
78
+ - amend and pr sf-script-multi (see #673)
79
+ - amend and pr sf-releases-release-notes (see #155)
80
+ - amend and pr sf-lambda-layers (see #933)
81
+
82
+ https://github.com/travis-ci/dpl/pull/1060 through https://github.com/travis-ci/dpl/pull/1070
83
+
84
+ ported PRs:
85
+
86
+ - https://github.com/travis-ci/dpl/pull/1058 (adds Convox)
87
+ - https://github.com/travis-ci/dpl/pull/1056 (adds Gleis)
88
+ - https://github.com/travis-ci/dpl/pull/1055 (adds Tsuru)
89
+ - https://github.com/travis-ci/dpl/pull/1023
90
+ - https://github.com/travis-ci/dpl/pull/1019
91
+ - https://github.com/travis-ci/dpl/pull/987
92
+ - https://github.com/travis-ci/dpl/pull/980
93
+ - https://github.com/travis-ci/dpl/pull/970 (adds Azure Storage)
94
+ - https://github.com/travis-ci/dpl/pull/963
95
+ - https://github.com/travis-ci/dpl/pull/951 (adds cloudformation, needs more tests)
96
+ - https://github.com/travis-ci/dpl/pull/950
97
+ - https://github.com/travis-ci/dpl/pull/949
98
+ - https://github.com/travis-ci/dpl/pull/938
99
+ - https://github.com/travis-ci/dpl/pull/920 (adds AWS ECR)
100
+ - https://github.com/travis-ci/dpl/pull/824
101
+ - https://github.com/travis-ci/dpl/pull/884
102
+ - https://github.com/travis-ci/dpl/pull/875
103
+ - https://github.com/travis-ci/dpl/pull/860
104
+ - https://github.com/travis-ci/dpl/pull/856
105
+ - https://github.com/travis-ci/dpl/pull/849
106
+ - https://github.com/travis-ci/dpl/pull/844
107
+ - https://github.com/travis-ci/dpl/pull/827
108
+ - https://github.com/travis-ci/dpl/pull/795 (adds Zeit now)
109
+ - https://github.com/travis-ci/dpl/pull/758
110
+ - https://github.com/travis-ci/dpl/pull/754
111
+ - https://github.com/travis-ci/dpl/pull/713 (double check with Hiro and implementor)
112
+ - https://github.com/travis-ci/dpl/pull/695
113
+ - https://github.com/travis-ci/dpl/pull/600
114
+ - https://github.com/travis-ci/dpl/pull/593
115
+
116
+ already implemented:
117
+
118
+ - https://github.com/travis-ci/dpl/pull/1006
119
+ - https://github.com/travis-ci/dpl/pull/966
120
+ - https://github.com/travis-ci/dpl/pull/959
121
+ - https://github.com/travis-ci/dpl/pull/943
122
+ - https://github.com/travis-ci/dpl/pull/860
123
+ - https://github.com/travis-ci/dpl/pull/700
124
+ - https://github.com/travis-ci/dpl/pull/623 (double check with Hiro)
125
+ - https://github.com/travis-ci/dpl/pull/569
126
+ - https://github.com/travis-ci/dpl/pull/529
127
+
128
+ check with implementors:
129
+
130
+ - https://github.com/travis-ci/dpl/pull/720
131
+
132
+ outdated:
133
+
134
+ - https://github.com/travis-ci/dpl/pull/1014
135
+ - https://github.com/travis-ci/dpl/pull/1012 (double check with Hiro)
136
+ - https://github.com/travis-ci/dpl/pull/1000 (double check with Hiro)
137
+ - https://github.com/travis-ci/dpl/pull/974 (double check with Hiro)
138
+ - https://github.com/travis-ci/dpl/pull/940
139
+
140
+ not sure:
141
+
142
+ - https://github.com/travis-ci/dpl/pull/978 (check with Hiro)
143
+
144
+
145
+ - add a DSL for moving files out of the way, and moving them back later, e.g. gcs /etc/boto.cfg
146
+ - start a CHANGELOG.md?
147
+
148
+ - update the docs for the changed netlify provider (Petra's branch?)
149
+ - update the docs for the changed openshift provider
150
+ - update the docs for the renamed catalyze (now datica) provider
151
+ - remove deis from the docs, keep hephy
152
+
153
+ Docs
154
+
155
+ - EY docs do not explain where to obtain the api key
156
+
157
+ Future improvements
158
+
159
+ - https://www.freecodecamp.org/news/how-to-deploy-your-cloud-foundry-app-with-almost-zero-fear-using-travis-ci-926697fff8f6/
160
+
161
+
162
+
163
+ Dependencies:
164
+
165
+ ```
166
+ chef_supermarket
167
+ # the cli cli is a gem, too. would be easier to test though, and maybe more robust?
168
+ # https://docs.chef.io/ctl_chef.html
169
+ chef
170
+
171
+ cloud_files
172
+ # rackspace's cli is written in go
173
+ # https://developer.rackspace.com/docs/rack-cli/configuration/#installation-and-configuration
174
+ fog-rackspace
175
+
176
+ code_deploy
177
+ aws-sdk
178
+
179
+ elastic_beanstalk
180
+ aws-sdk
181
+ zip
182
+
183
+ engine_yard
184
+ # the engineyard cli is a gem, too. would be easier to test though, and maybe more robust?
185
+ # https://support.cloud.engineyard.com/hc/en-us/articles/205406968-Deploy-from-the-CLI-Engine-Yard-CLI-User-Guide-
186
+ engineyard-cloud-client
187
+
188
+ gcs
189
+ # https://cloud.google.com/storage/docs/gsutil
190
+ # the GCS cli is a python thing which can be installed via curl/bash:
191
+ # curl https://sdk.cloud.google.com | bash
192
+ gstore
193
+ mime-types
194
+
195
+ heroku
196
+ faraday
197
+
198
+ open_shift
199
+ # red hat seems to have a cli, but the instructions are quite opaque, and want
200
+ # to log in to their portal
201
+ # https://docs.openshift.com/container-platform/3.9/cli_reference/get_started_cli.html#installing-the-cli
202
+ rhc
203
+
204
+ packagecloud
205
+ # has a cli that is a rubygem (with a different name though, has an underscore)
206
+ # https://packagecloud.io/l/cli
207
+ packagecloud
208
+
209
+ pages
210
+ octokit
211
+
212
+ puppet_forge
213
+ # not sure if there's actually no cli?
214
+ puppet
215
+ puppet_blacksmith
216
+
217
+ rubygems
218
+ gems
219
+
220
+ s3
221
+ aws-sdk
222
+ mime-types
223
+
224
+ testfairy
225
+ # they have a minimal cli in bash, not sure that's worth it though, also
226
+ # not sure about the quality of this thing
227
+ # https://github.com/testfairy/command-line-uploader
228
+ multipart-post
229
+ ```
230
+
231
+ ```
232
+ | provider | tooling | auth | ssh-keygen | git-ssh |
233
+ | ----------------- | -------------------------------------------------- | -------------- | ---------- | ------- |
234
+ | Anynines | cf cli (manual download) | user/pass | no | no |
235
+ | Atlas | atlas-upload cli (go get install) | token (env) | no | no |
236
+ | Azure Web Apps | Git only | user/pass | no | no |
237
+ | Bitballoon | bitballoon cli (installed how??) | token | no | no |
238
+ | Bluemix CF | cf cli (manual download) | user/pass | no | no |
239
+ | Boxfuse | boxfuse cli (manual download) | user/pass | no? | no? |
240
+ | Cargo | cargo cli (preinstalled?) | token | no | no |
241
+ | Catalyze | Git only | ? | no | no |
242
+ | Chef Supermarket | gem chef | api key | no | no |
243
+ | Cloud66 | Net::HTTP | ? | no | no |
244
+ | Cloud Files | gem fog (rackspace) | user/key | no | no |
245
+ | Cloud Foundry | cf cli (manual download) | user/pass | no | no |
246
+ | Code Deploy | gem aws-sdk (v2) | key/secret | no | no |
247
+ | Deis | deis cli (manual download) | user/pass | yes | yes? |
248
+ | Elastic Beanstalk | gem aws-sdk (v2) | key/secret | no | no |
249
+ | EngineYard | gem engineyard-cloud-client | api key | no | no |
250
+ | Firebase | NPM firebase-tools | token | no | no |
251
+ | GAE | google-cloud-sdk (manual download) | keyfile | no | no |
252
+ | GCS | gem gstore (archived) | key/secret | no | no |
253
+ | Hackage | cabal (apt-get install) | user/pass | no | no |
254
+ | Hephy | `deis` cli (manual download) | user/pass | yes | yes? |
255
+ | Heroku API | gem faraday | api key | no | no |
256
+ | Heroku Git | gem faraday and Git | both?? | no | no |
257
+ | Lambda | gem aws-sdk (v2) | key/secret | no | no |
258
+ | Launchpad | Net:HTTP | token/secret | no | no |
259
+ | NPM | npm (preinstall) | api key | no | no |
260
+ | Open Shift | gem rhc (archived) and Git | user/pass | yes | yes? |
261
+ | Ops Works | gem aws-sdk (v2) | key/secret | no | no |
262
+ | Packagecloud | gem packagecloud | user/token | no | no |
263
+ | Pages | gem octokit | token | no | no |
264
+ | Puppet Forge | gems puppet, puppet_blacksmith | user/pass | no | no |
265
+ | PyPI | pip/twine (manual download) | user/pass | no | no |
266
+ | Releases | gem octokit | token | no | no |
267
+ | Rubygems | gem gems | api key | no | no |
268
+ | S3 | gem aws-sdk (v2) | key/secret | no | no |
269
+ | Scalingo | scalingo (manual download) | u/p or api key | yes | no? |
270
+ | Script | - | - | no | no |
271
+ | Snap | snap (apt-get) | token | no | no |
272
+ | Surge | surge (npm install) | login/token | no | no |
273
+ | Testfairy | gem multipart-post | api key | no | no |
274
+ | Transifex | tx (pip install) | user/pass | no | no |
275
+ ```