puppet-blacksmith 9.0.0 → 9.1.0
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/lib/puppet_blacksmith/forge.rb +27 -10
- data/lib/puppet_blacksmith/version.rb +1 -1
- metadata +5 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2cb0f832fbc4cb63388a53a880ece21d137ab49718cd968193d390169ddd704a
|
|
4
|
+
data.tar.gz: '039a6298f6138fa3ca876525e14c9a1ab660433677950d48702842bf8f8a3118'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 99c63a7ef2616f6821afda84e1eb3d9f607d7b7f0846c6331ebafc7e0911a221dbcbac64fd636a7a24bb0ebafe052c539b7b96a76f9cbf98b62d5f3a2997a6a4
|
|
7
|
+
data.tar.gz: 280f703023efd74391501d19c74d1c1e965957f12aca516d52fa589b8e014f1bca00b297399d0b7033bfa69d524fba42383528351332555d64cee2529c62c538
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'net/http'
|
|
2
2
|
require 'json'
|
|
3
3
|
require 'yaml'
|
|
4
4
|
require 'base64'
|
|
5
|
+
require 'uri'
|
|
5
6
|
|
|
6
7
|
module Blacksmith
|
|
7
8
|
class Forge
|
|
@@ -21,7 +22,6 @@ module Blacksmith
|
|
|
21
22
|
self.password = password
|
|
22
23
|
self.token = token
|
|
23
24
|
self.api_key = api_key
|
|
24
|
-
RestClient.proxy = ENV.fetch('http_proxy', nil)
|
|
25
25
|
load_credentials
|
|
26
26
|
self.url = url unless url.nil?
|
|
27
27
|
if %r{http(s)?://forge.puppetlabs.com}.match?(self.url)
|
|
@@ -51,15 +51,32 @@ module Blacksmith
|
|
|
51
51
|
private
|
|
52
52
|
|
|
53
53
|
def upload(author, name, file)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
target_url = http_url(author, name, file)
|
|
55
|
+
uri = URI(target_url)
|
|
56
|
+
|
|
57
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
58
|
+
http.use_ssl = (uri.scheme == 'https')
|
|
59
|
+
|
|
60
|
+
response = File.open(file, 'rb') do |f|
|
|
61
|
+
if forge_type == FORGE_TYPE_ARTIFACTORY
|
|
62
|
+
request = Net::HTTP::Put.new(uri.request_uri, http_headers)
|
|
63
|
+
request.body_stream = f
|
|
64
|
+
else
|
|
65
|
+
request = Net::HTTP::Post.new(uri.request_uri, http_headers)
|
|
66
|
+
request.set_form([
|
|
67
|
+
['file', f, { filename: File.basename(file) }],
|
|
68
|
+
], 'multipart/form-data')
|
|
69
|
+
end
|
|
70
|
+
http.request(request)
|
|
60
71
|
end
|
|
61
|
-
|
|
62
|
-
raise Blacksmith::Error, "Error uploading #{name} to the forge #{
|
|
72
|
+
|
|
73
|
+
raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{response.code} #{response.message}]: #{response.body}" unless response.is_a?(Net::HTTPSuccess)
|
|
74
|
+
rescue Net::HTTPClientException => e
|
|
75
|
+
raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.response.code} #{e.response.message}]: #{e.response.body}"
|
|
76
|
+
rescue Net::HTTPFatalError => e
|
|
77
|
+
raise Blacksmith::Error, "HTTP error during upload: #{e.message}"
|
|
78
|
+
rescue StandardError => e
|
|
79
|
+
raise Blacksmith::Error, "Error uploading #{name} to the forge #{target_url} [#{e.class} #{e.message}]"
|
|
63
80
|
end
|
|
64
81
|
|
|
65
82
|
def http_url(author, name, file)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puppet-blacksmith
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- MaestroDev
|
|
@@ -50,20 +50,6 @@ dependencies:
|
|
|
50
50
|
- - ">="
|
|
51
51
|
- !ruby/object:Gem::Version
|
|
52
52
|
version: 2.0.2
|
|
53
|
-
- !ruby/object:Gem::Dependency
|
|
54
|
-
name: rest-client
|
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
|
56
|
-
requirements:
|
|
57
|
-
- - "~>"
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: '2.0'
|
|
60
|
-
type: :runtime
|
|
61
|
-
prerelease: false
|
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
63
|
-
requirements:
|
|
64
|
-
- - "~>"
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
version: '2.0'
|
|
67
53
|
- !ruby/object:Gem::Dependency
|
|
68
54
|
name: aruba
|
|
69
55
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -138,14 +124,14 @@ dependencies:
|
|
|
138
124
|
requirements:
|
|
139
125
|
- - "~>"
|
|
140
126
|
- !ruby/object:Gem::Version
|
|
141
|
-
version:
|
|
127
|
+
version: 5.1.0
|
|
142
128
|
type: :development
|
|
143
129
|
prerelease: false
|
|
144
130
|
version_requirements: !ruby/object:Gem::Requirement
|
|
145
131
|
requirements:
|
|
146
132
|
- - "~>"
|
|
147
133
|
- !ruby/object:Gem::Version
|
|
148
|
-
version:
|
|
134
|
+
version: 5.1.0
|
|
149
135
|
- !ruby/object:Gem::Dependency
|
|
150
136
|
name: webmock
|
|
151
137
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -196,14 +182,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
196
182
|
version: 3.2.0
|
|
197
183
|
- - "<"
|
|
198
184
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: '
|
|
185
|
+
version: '5'
|
|
200
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
201
187
|
requirements:
|
|
202
188
|
- - ">="
|
|
203
189
|
- !ruby/object:Gem::Version
|
|
204
190
|
version: '0'
|
|
205
191
|
requirements: []
|
|
206
|
-
rubygems_version:
|
|
192
|
+
rubygems_version: 4.0.3
|
|
207
193
|
specification_version: 4
|
|
208
194
|
summary: Tasks to manage Puppet module builds
|
|
209
195
|
test_files: []
|