dpl 2.0.3.beta.4 → 2.0.3.beta.5
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/Gemfile +15 -3
- data/Gemfile.lock +444 -211
- data/Rakefile +36 -34
- data/bin/dpl +3 -1
- data/dpl.gemspec +25 -0
- data/lib/dpl/cli.rb +19 -14
- data/lib/dpl/ctx/bash.rb +18 -12
- data/lib/dpl/ctx/test.rb +21 -15
- data/lib/dpl/ctx.rb +2 -0
- data/lib/dpl/helper/assets.rb +4 -2
- data/lib/dpl/helper/cmd.rb +20 -18
- data/lib/dpl/helper/config_file.rb +5 -3
- data/lib/dpl/helper/cookbook_site_streaming_uploader.rb +249 -0
- data/lib/dpl/helper/env.rb +26 -22
- data/lib/dpl/helper/github.rb +2 -0
- data/lib/dpl/helper/interpolate.rb +8 -4
- data/lib/dpl/helper/memoize.rb +4 -1
- data/lib/dpl/helper/squiggle.rb +3 -1
- data/lib/dpl/helper/transliterate.rb +3 -1
- data/lib/dpl/helper/wrap.rb +3 -1
- data/lib/dpl/helper/zip.rb +3 -1
- data/lib/dpl/provider/dsl.rb +18 -4
- data/lib/dpl/provider/examples.rb +6 -2
- data/lib/dpl/provider/status.rb +26 -24
- data/lib/dpl/providers/anynines.rb +22 -20
- data/lib/dpl/providers/azure_web_apps.rb +21 -19
- data/lib/dpl/providers/bintray.rb +44 -37
- data/lib/dpl/providers/bluemixcloudfoundry.rb +38 -36
- data/lib/dpl/providers/boxfuse.rb +12 -10
- data/lib/dpl/providers/cargo.rb +7 -5
- data/lib/dpl/providers/chef_supermarket.rb +82 -80
- data/lib/dpl/providers/cloud66.rb +17 -15
- data/lib/dpl/providers/cloudfiles.rb +8 -6
- data/lib/dpl/providers/cloudformation.rb +191 -187
- data/lib/dpl/providers/cloudfoundry.rb +32 -30
- data/lib/dpl/providers/codedeploy.rb +35 -33
- data/lib/dpl/providers/convox.rb +32 -25
- data/lib/dpl/providers/datica.rb +30 -28
- data/lib/dpl/providers/ecr.rb +66 -64
- data/lib/dpl/providers/elasticbeanstalk.rb +14 -12
- data/lib/dpl/providers/engineyard.rb +60 -58
- data/lib/dpl/providers/firebase.rb +6 -4
- data/lib/dpl/providers/flynn.rb +8 -6
- data/lib/dpl/providers/gae.rb +28 -25
- data/lib/dpl/providers/gcs.rb +59 -57
- data/lib/dpl/providers/git_push.rb +199 -195
- data/lib/dpl/providers/gleis.rb +19 -17
- data/lib/dpl/providers/hackage.rb +15 -13
- data/lib/dpl/providers/hephy.rb +18 -16
- data/lib/dpl/providers/heroku/api.rb +72 -70
- data/lib/dpl/providers/heroku/git.rb +15 -13
- data/lib/dpl/providers/heroku.rb +40 -38
- data/lib/dpl/providers/lambda.rb +134 -134
- data/lib/dpl/providers/launchpad.rb +45 -43
- data/lib/dpl/providers/netlify.rb +7 -5
- data/lib/dpl/providers/npm.rb +61 -58
- data/lib/dpl/providers/nuget.rb +8 -6
- data/lib/dpl/providers/openshift.rb +8 -6
- data/lib/dpl/providers/opsworks.rb +23 -21
- data/lib/dpl/providers/pages/api.rb +14 -14
- data/lib/dpl/providers/pages/git.rb +53 -47
- data/lib/dpl/providers/pages.rb +3 -1
- data/lib/dpl/providers/puppetforge.rb +6 -4
- data/lib/dpl/providers/pypi.rb +55 -54
- data/lib/dpl/providers/releases.rb +30 -23
- data/lib/dpl/providers/rubygems.rb +35 -31
- data/lib/dpl/providers/s3.rb +148 -142
- data/lib/dpl/providers/scalingo.rb +18 -16
- data/lib/dpl/providers/script.rb +4 -2
- data/lib/dpl/providers/snap.rb +12 -9
- data/lib/dpl/providers/surge.rb +7 -5
- data/lib/dpl/providers/testfairy.rb +47 -43
- data/lib/dpl/providers/transifex.rb +20 -18
- data/lib/dpl/providers.rb +3 -1
- data/lib/dpl/string_ext.rb +3 -1
- data/lib/dpl/support/aws_sdk_patch.rb +4 -1
- data/lib/dpl/support/gems.rb +7 -3
- data/lib/dpl/support/gstore_patch.rb +3 -1
- data/lib/dpl/support/version.rb +13 -12
- data/lib/dpl/version.rb +3 -1
- data/lib/dpl.rb +2 -0
- data/status.json +237 -0
- metadata +32 -15
- /data/lib/dpl/providers/{packagecloud.rb → packagecloud.rb_} +0 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Dpl
|
|
2
4
|
module Providers
|
|
3
5
|
class Anynines < Provider
|
|
@@ -5,9 +7,9 @@ module Dpl
|
|
|
5
7
|
|
|
6
8
|
status :alpha
|
|
7
9
|
|
|
8
|
-
description sq(<<-
|
|
10
|
+
description sq(<<-STR)
|
|
9
11
|
tbd
|
|
10
|
-
|
|
12
|
+
STR
|
|
11
13
|
|
|
12
14
|
env :anynines
|
|
13
15
|
|
|
@@ -23,17 +25,17 @@ module Dpl
|
|
|
23
25
|
API = 'https://api.de.a9s.eu'
|
|
24
26
|
|
|
25
27
|
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
|
26
|
-
api:
|
|
27
|
-
login:
|
|
28
|
-
push:
|
|
29
|
-
logout:
|
|
28
|
+
api: './cf api %{url}',
|
|
29
|
+
login: './cf login -u %{username} -p %{password} -o %{organization} -s %{space}',
|
|
30
|
+
push: './cf push %{args}',
|
|
31
|
+
logout: './cf logout'
|
|
30
32
|
|
|
31
33
|
errs install: 'Failed to install CLI tools',
|
|
32
|
-
api:
|
|
33
|
-
login:
|
|
34
|
-
target:
|
|
35
|
-
push:
|
|
36
|
-
logout:
|
|
34
|
+
api: 'Failed to set api',
|
|
35
|
+
login: 'Failed to login',
|
|
36
|
+
target: 'Failed to target organization %{organization}, space %{space}',
|
|
37
|
+
push: 'Failed to push app',
|
|
38
|
+
logout: 'Failed to logout'
|
|
37
39
|
|
|
38
40
|
def install
|
|
39
41
|
shell :install
|
|
@@ -54,16 +56,16 @@ module Dpl
|
|
|
54
56
|
|
|
55
57
|
private
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
def url
|
|
60
|
+
API
|
|
61
|
+
end
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
def args
|
|
64
|
+
args = []
|
|
65
|
+
args << quote(app_name) if app_name?
|
|
66
|
+
args << "-f #{manifest}" if manifest?
|
|
67
|
+
args.join(' ')
|
|
68
|
+
end
|
|
67
69
|
end
|
|
68
70
|
end
|
|
69
71
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Dpl
|
|
2
4
|
module Providers
|
|
3
5
|
class AzureWebApps < Provider
|
|
@@ -7,9 +9,9 @@ module Dpl
|
|
|
7
9
|
|
|
8
10
|
full_name 'Azure Web Apps'
|
|
9
11
|
|
|
10
|
-
description sq(<<-
|
|
12
|
+
description sq(<<-STR)
|
|
11
13
|
tbd
|
|
12
|
-
|
|
14
|
+
STR
|
|
13
15
|
|
|
14
16
|
env :AZURE_WA
|
|
15
17
|
|
|
@@ -22,14 +24,14 @@ module Dpl
|
|
|
22
24
|
needs :git
|
|
23
25
|
|
|
24
26
|
cmds checkout: 'git checkout HEAD',
|
|
25
|
-
add:
|
|
26
|
-
commit:
|
|
27
|
-
deploy:
|
|
27
|
+
add: 'git add . --all --force',
|
|
28
|
+
commit: 'git commit -m "Cleanup commit"',
|
|
29
|
+
deploy: 'git push --force --quiet %{url} HEAD:refs/heads/master'
|
|
28
30
|
|
|
29
|
-
msgs commit:
|
|
30
|
-
deploy:
|
|
31
|
+
msgs commit: 'Committing changes to git',
|
|
32
|
+
deploy: 'Deploying to Azure Web App: %{site}'
|
|
31
33
|
|
|
32
|
-
errs push:
|
|
34
|
+
errs push: 'Failed pushing to Azure Web Apps'
|
|
33
35
|
|
|
34
36
|
URL = 'https://%s:%s@%s.scm.azurewebsites.net:443/%s.git'
|
|
35
37
|
|
|
@@ -43,19 +45,19 @@ module Dpl
|
|
|
43
45
|
|
|
44
46
|
private
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
def url
|
|
49
|
+
format(URL, username, password, target, site)
|
|
50
|
+
end
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
52
|
+
def target
|
|
53
|
+
slot || site
|
|
54
|
+
end
|
|
53
55
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
def commit
|
|
57
|
+
shell :checkout
|
|
58
|
+
shell :add
|
|
59
|
+
shell :commit
|
|
60
|
+
end
|
|
59
61
|
end
|
|
60
62
|
end
|
|
61
63
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'net/http'
|
|
2
4
|
require 'uri'
|
|
3
5
|
require 'find'
|
|
@@ -9,9 +11,9 @@ module Dpl
|
|
|
9
11
|
|
|
10
12
|
status :stable
|
|
11
13
|
|
|
12
|
-
description sq(<<-
|
|
14
|
+
description sq(<<-STR)
|
|
13
15
|
tbd
|
|
14
|
-
|
|
16
|
+
STR
|
|
15
17
|
|
|
16
18
|
gem 'json'
|
|
17
19
|
|
|
@@ -23,42 +25,42 @@ module Dpl
|
|
|
23
25
|
opt '--passphrase PHRASE', 'Passphrase as configured on Bintray (if GPG signing is used)'
|
|
24
26
|
opt '--url URL', default: 'https://api.bintray.com', internal: true
|
|
25
27
|
|
|
26
|
-
msgs missing_file:
|
|
27
|
-
invalid_file:
|
|
28
|
-
create_package:
|
|
29
|
-
package_attrs:
|
|
30
|
-
create_version:
|
|
31
|
-
version_attrs:
|
|
32
|
-
upload_file:
|
|
33
|
-
sign_version:
|
|
28
|
+
msgs missing_file: 'Missing descriptor file: %{file}',
|
|
29
|
+
invalid_file: 'Failed to parse descriptor file %{file}',
|
|
30
|
+
create_package: 'Creating package %{package_name}',
|
|
31
|
+
package_attrs: 'Adding attributes for package %{package_name}',
|
|
32
|
+
create_version: 'Creating version %{version_name}',
|
|
33
|
+
version_attrs: 'Adding attributes for version %{version_name}',
|
|
34
|
+
upload_file: 'Uploading file %{source} to %{target}',
|
|
35
|
+
sign_version: 'Signing version %s passphrase',
|
|
34
36
|
publish_version: 'Publishing version %{version_name} of package %{package_name}',
|
|
35
|
-
missing_path:
|
|
36
|
-
list_download:
|
|
37
|
-
retrying:
|
|
38
|
-
giveup_retries:
|
|
39
|
-
unexpected_code: 'Unexpected HTTP response code %s while checking if the %s exists'
|
|
40
|
-
request_failed:
|
|
37
|
+
missing_path: 'Path: %{path} does not exist.',
|
|
38
|
+
list_download: 'Listing %{path} in downloads',
|
|
39
|
+
retrying: '%{code} response from Bintray. It may take some time for a version to be published, retrying in %{pause} sec ... (%{count}/%{max})',
|
|
40
|
+
giveup_retries: 'Too many retries failed, giving up, something went wrong.',
|
|
41
|
+
unexpected_code: 'Unexpected HTTP response code %s while checking if the %s exists',
|
|
42
|
+
request_failed: '%s %s returned unexpected HTTP response code %s',
|
|
41
43
|
request_success: 'Bintray response: %s %s. %s'
|
|
42
44
|
|
|
43
45
|
PATHS = {
|
|
44
|
-
packages:
|
|
45
|
-
package:
|
|
46
|
-
package_attrs:
|
|
47
|
-
versions:
|
|
48
|
-
version:
|
|
49
|
-
version_attrs:
|
|
50
|
-
version_sign:
|
|
46
|
+
packages: '/packages/%{subject}/%{repo}',
|
|
47
|
+
package: '/packages/%{subject}/%{repo}/%{package_name}',
|
|
48
|
+
package_attrs: '/packages/%{subject}/%{repo}/%{package_name}/attributes',
|
|
49
|
+
versions: '/packages/%{subject}/%{repo}/%{package_name}/versions',
|
|
50
|
+
version: '/packages/%{subject}/%{repo}/%{package_name}/versions/%{version_name}',
|
|
51
|
+
version_attrs: '/packages/%{subject}/%{repo}/%{package_name}/versions/%{version_name}/attributes',
|
|
52
|
+
version_sign: '/gpg/%{subject}/%{repo}/%{package_name}/versions/%{version_name}',
|
|
51
53
|
version_publish: '/content/%{subject}/%{repo}/%{package_name}/%{version_name}/publish',
|
|
52
|
-
version_file:
|
|
53
|
-
file_metadata:
|
|
54
|
-
}
|
|
54
|
+
version_file: '/content/%{subject}/%{repo}/%{package_name}/%{version_name}/%{target}',
|
|
55
|
+
file_metadata: '/file_metadata/%{subject}/%{repo}/%{target}'
|
|
56
|
+
}.freeze
|
|
55
57
|
|
|
56
58
|
MAP = {
|
|
57
|
-
package: %i
|
|
58
|
-
|
|
59
|
-
version: %i
|
|
60
|
-
|
|
61
|
-
}
|
|
59
|
+
package: %i[name desc licenses labels vcs_url website_url
|
|
60
|
+
issue_tracker_url public_download_numbers public_stats],
|
|
61
|
+
version: %i[name desc released vcs_tag github_release_notes_file
|
|
62
|
+
github_use_tag_release_notes attributes]
|
|
63
|
+
}.freeze
|
|
62
64
|
|
|
63
65
|
def install
|
|
64
66
|
require 'json'
|
|
@@ -85,6 +87,7 @@ module Dpl
|
|
|
85
87
|
info :create_package
|
|
86
88
|
post(path(:packages), compact(only(package, *MAP[:package])))
|
|
87
89
|
return unless package_attrs
|
|
90
|
+
|
|
88
91
|
info :package_attrs
|
|
89
92
|
post(path(:package_attrs), package_attrs)
|
|
90
93
|
end
|
|
@@ -97,6 +100,7 @@ module Dpl
|
|
|
97
100
|
info :create_version
|
|
98
101
|
post(path(:versions), compact(only(version, *MAP[:version])))
|
|
99
102
|
return unless version_attrs
|
|
103
|
+
|
|
100
104
|
info :version_attrs
|
|
101
105
|
post(path(:version_attrs), version_attrs)
|
|
102
106
|
end
|
|
@@ -134,10 +138,11 @@ module Dpl
|
|
|
134
138
|
end
|
|
135
139
|
end
|
|
136
140
|
|
|
137
|
-
def retrying(opts
|
|
141
|
+
def retrying(opts)
|
|
138
142
|
1.upto(opts[:max]) do |count|
|
|
139
143
|
code = yield
|
|
140
144
|
return if code < 400
|
|
145
|
+
|
|
141
146
|
info :retrying, opts.merge(count: count, code: code)
|
|
142
147
|
sleep opts[:pause]
|
|
143
148
|
end
|
|
@@ -147,7 +152,8 @@ module Dpl
|
|
|
147
152
|
def files
|
|
148
153
|
return {} unless files = descriptor[:files]
|
|
149
154
|
return @files if @files
|
|
150
|
-
|
|
155
|
+
|
|
156
|
+
keys = %i[path includePattern excludePattern uploadPattern matrixParams listInDownloads]
|
|
151
157
|
files = files.map { |file| file if file[:path] = path_for(file[:includePattern]) }
|
|
152
158
|
@files = files.compact.map { |file| find(*file.values_at(*keys)) }.flatten
|
|
153
159
|
end
|
|
@@ -172,9 +178,10 @@ module Dpl
|
|
|
172
178
|
|
|
173
179
|
def path_for(str)
|
|
174
180
|
ix = str.index('(')
|
|
175
|
-
path = ix.to_i
|
|
181
|
+
path = ix.to_i.zero? ? str : str[0, ix]
|
|
176
182
|
return path if File.exist?(path)
|
|
177
|
-
|
|
183
|
+
|
|
184
|
+
warn(:missing_path, path: path)
|
|
178
185
|
nil
|
|
179
186
|
end
|
|
180
187
|
|
|
@@ -236,7 +243,7 @@ module Dpl
|
|
|
236
243
|
|
|
237
244
|
def descriptor
|
|
238
245
|
@descriptor ||= symbolize(JSON.parse(File.read(file)))
|
|
239
|
-
rescue
|
|
246
|
+
rescue StandardError
|
|
240
247
|
error :invalid_file
|
|
241
248
|
end
|
|
242
249
|
|
|
@@ -291,7 +298,7 @@ module Dpl
|
|
|
291
298
|
def parse(json)
|
|
292
299
|
hash = JSON.parse(json)
|
|
293
300
|
hash.is_a?(Hash) ? hash : {}
|
|
294
|
-
rescue
|
|
301
|
+
rescue StandardError
|
|
295
302
|
{}
|
|
296
303
|
end
|
|
297
304
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Dpl
|
|
2
4
|
module Providers
|
|
3
5
|
class Bluemixcloudfoundry < Provider
|
|
@@ -7,9 +9,9 @@ module Dpl
|
|
|
7
9
|
|
|
8
10
|
full_name 'Bluemix Cloud Foundry'
|
|
9
11
|
|
|
10
|
-
description sq(<<-
|
|
12
|
+
description sq(<<-STR)
|
|
11
13
|
tbd
|
|
12
|
-
|
|
14
|
+
STR
|
|
13
15
|
|
|
14
16
|
env :cloudfoundry
|
|
15
17
|
|
|
@@ -17,7 +19,7 @@ module Dpl
|
|
|
17
19
|
opt '--password PASS', 'Bluemix password', required: true, secret: true
|
|
18
20
|
opt '--organization ORG', 'Bluemix organization', required: true
|
|
19
21
|
opt '--space SPACE', 'Bluemix space', required: true
|
|
20
|
-
opt '--region REGION', 'Bluemix region', default: 'ng', enum: %w
|
|
22
|
+
opt '--region REGION', 'Bluemix region', default: 'ng', enum: %w[ng eu-gb eu-de au-syd]
|
|
21
23
|
opt '--api URL', 'Bluemix api URL'
|
|
22
24
|
opt '--app_name APP', 'Application name'
|
|
23
25
|
opt '--buildpack PACK', 'Buildpack name or Git URL'
|
|
@@ -26,25 +28,25 @@ module Dpl
|
|
|
26
28
|
opt '--logout', default: true, internal: true
|
|
27
29
|
|
|
28
30
|
API = {
|
|
29
|
-
'ng':
|
|
30
|
-
'eu-gb':
|
|
31
|
-
'eu-de':
|
|
31
|
+
'ng': 'api.ng.bluemix.net',
|
|
32
|
+
'eu-gb': 'api.eu-gb.bluemix.net',
|
|
33
|
+
'eu-de': 'api.eu-de.bluemix.net',
|
|
32
34
|
'au-syd': 'api.au-syd.bluemix.net'
|
|
33
|
-
}
|
|
35
|
+
}.freeze
|
|
34
36
|
|
|
35
37
|
cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
|
|
36
|
-
api:
|
|
37
|
-
login:
|
|
38
|
-
target:
|
|
39
|
-
push:
|
|
40
|
-
logout:
|
|
38
|
+
api: './cf api %{api} %{skip_ssl_validation_opt}',
|
|
39
|
+
login: './cf login -u %{username} -p %{password}',
|
|
40
|
+
target: './cf target -o %{organization} -s %{space}',
|
|
41
|
+
push: './cf push %{push_args}',
|
|
42
|
+
logout: './cf logout'
|
|
41
43
|
|
|
42
44
|
errs install: 'Failed to install CLI tools',
|
|
43
|
-
api:
|
|
44
|
-
login:
|
|
45
|
-
target:
|
|
46
|
-
push:
|
|
47
|
-
logout:
|
|
45
|
+
api: 'Failed to set api %{api}',
|
|
46
|
+
login: 'Failed to login',
|
|
47
|
+
target: 'Failed to target organization %{organization}, space %{space}',
|
|
48
|
+
push: 'Failed to push app',
|
|
49
|
+
logout: 'Failed to logout'
|
|
48
50
|
|
|
49
51
|
msgs manifest_missing: 'Application must have a manifest.yml for unattended deployment'
|
|
50
52
|
|
|
@@ -72,25 +74,25 @@ module Dpl
|
|
|
72
74
|
|
|
73
75
|
private
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
77
|
+
def push_args
|
|
78
|
+
args = []
|
|
79
|
+
args << quote(app_name) if app_name?
|
|
80
|
+
args << "-f #{manifest}" if manifest?
|
|
81
|
+
args << "-b #{buildpack}" if buildpack?
|
|
82
|
+
args.join(' ')
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def skip_ssl_validation_opt
|
|
86
|
+
'--skip-ssl-validation' if skip_ssl_validation?
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
def manifest_missing?
|
|
90
|
+
!File.exist?(manifest)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def api
|
|
94
|
+
super || API[region.to_sym]
|
|
95
|
+
end
|
|
94
96
|
end
|
|
95
97
|
end
|
|
96
98
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Dpl
|
|
2
4
|
module Providers
|
|
3
5
|
class Boxfuse < Provider
|
|
@@ -5,9 +7,9 @@ module Dpl
|
|
|
5
7
|
|
|
6
8
|
status :alpha
|
|
7
9
|
|
|
8
|
-
description sq(<<-
|
|
10
|
+
description sq(<<-STR)
|
|
9
11
|
tbd
|
|
10
|
-
|
|
12
|
+
STR
|
|
11
13
|
|
|
12
14
|
env :boxfuse
|
|
13
15
|
|
|
@@ -23,10 +25,10 @@ module Dpl
|
|
|
23
25
|
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
26
|
|
|
25
27
|
cmds install: 'curl -L %{URL} | tar xz',
|
|
26
|
-
deploy:
|
|
28
|
+
deploy: 'boxfuse/boxfuse run %{deploy_opts}'
|
|
27
29
|
|
|
28
30
|
def validate
|
|
29
|
-
# TODO check if the config file exists (it seems `boxfuse` doesn't)
|
|
31
|
+
# TODO: check if the config file exists (it seems `boxfuse` doesn't)
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
def install
|
|
@@ -39,12 +41,12 @@ module Dpl
|
|
|
39
41
|
|
|
40
42
|
private
|
|
41
43
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
def deploy_opts
|
|
45
|
+
opts = [*opts_for(%i[user secret payload app env version], prefix: '-')]
|
|
46
|
+
opts << "-configfile=#{config_file}" if config_file?
|
|
47
|
+
opts << extra_args if extra_args?
|
|
48
|
+
opts.join(' ')
|
|
49
|
+
end
|
|
48
50
|
end
|
|
49
51
|
end
|
|
50
52
|
end
|
data/lib/dpl/providers/cargo.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Dpl
|
|
2
4
|
module Providers
|
|
3
5
|
class Cargo < Provider
|
|
@@ -5,9 +7,9 @@ module Dpl
|
|
|
5
7
|
|
|
6
8
|
status :stable
|
|
7
9
|
|
|
8
|
-
description sq(<<-
|
|
10
|
+
description sq(<<-STR)
|
|
9
11
|
tbd
|
|
10
|
-
|
|
12
|
+
STR
|
|
11
13
|
|
|
12
14
|
env :cargo
|
|
13
15
|
|
|
@@ -22,9 +24,9 @@ module Dpl
|
|
|
22
24
|
|
|
23
25
|
private
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
def publish_opts
|
|
28
|
+
opts_for(%i[token allow_dirty], dashed: true)
|
|
29
|
+
end
|
|
28
30
|
end
|
|
29
31
|
end
|
|
30
32
|
end
|