gemstash 1.0.4 → 1.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 +5 -5
- data/CHANGELOG.md +33 -0
- data/lib/gemstash.rb +2 -0
- data/lib/gemstash/api_key_authorization.rb +29 -0
- data/lib/gemstash/authorization.rb +5 -1
- data/lib/gemstash/cli/authorize.rb +1 -1
- data/lib/gemstash/cli/setup.rb +50 -37
- data/lib/gemstash/cli/start.rb +1 -1
- data/lib/gemstash/config.ru +1 -0
- data/lib/gemstash/configuration.rb +35 -3
- data/lib/gemstash/db/version.rb +11 -0
- data/lib/gemstash/env.rb +16 -10
- data/lib/gemstash/gem_fetcher.rb +1 -1
- data/lib/gemstash/gem_pusher.rb +15 -17
- data/lib/gemstash/gem_source/private_source.rb +29 -44
- data/lib/gemstash/gem_source/upstream_source.rb +4 -4
- data/lib/gemstash/gem_unyanker.rb +10 -4
- data/lib/gemstash/gem_yanker.rb +10 -4
- data/lib/gemstash/health.rb +53 -0
- data/lib/gemstash/http_client.rb +5 -3
- data/lib/gemstash/logging.rb +1 -1
- data/lib/gemstash/man/gemstash-authorize.1 +6 -5
- data/lib/gemstash/man/gemstash-authorize.1.txt +14 -13
- data/lib/gemstash/man/gemstash-configuration.5 +90 -8
- data/lib/gemstash/man/gemstash-configuration.5.txt +82 -6
- data/lib/gemstash/man/gemstash-customize.7 +68 -12
- data/lib/gemstash/man/gemstash-customize.7.txt +64 -26
- data/lib/gemstash/man/gemstash-debugging.7 +1 -1
- data/lib/gemstash/man/gemstash-deploy.7 +33 -1
- data/lib/gemstash/man/gemstash-deploy.7.txt +25 -0
- data/lib/gemstash/man/gemstash-mirror.7 +1 -1
- data/lib/gemstash/man/gemstash-multiple-sources.7 +1 -1
- data/lib/gemstash/man/gemstash-private-gems.7 +52 -3
- data/lib/gemstash/man/gemstash-private-gems.7.txt +39 -4
- data/lib/gemstash/man/gemstash-readme.7 +34 -4
- data/lib/gemstash/man/gemstash-readme.7.txt +34 -12
- data/lib/gemstash/man/gemstash-setup.1 +3 -1
- data/lib/gemstash/man/gemstash-setup.1.txt +3 -1
- data/lib/gemstash/man/gemstash-start.1 +4 -3
- data/lib/gemstash/man/gemstash-start.1.txt +5 -4
- data/lib/gemstash/man/gemstash-status.1 +4 -3
- data/lib/gemstash/man/gemstash-status.1.txt +3 -2
- data/lib/gemstash/man/gemstash-stop.1 +4 -3
- data/lib/gemstash/man/gemstash-stop.1.txt +3 -2
- data/lib/gemstash/man/gemstash-version.1 +1 -1
- data/lib/gemstash/puma.rb +2 -2
- data/lib/gemstash/specs_builder.rb +14 -16
- data/lib/gemstash/version.rb +1 -1
- metadata +29 -7
data/lib/gemstash/puma.rb
CHANGED
@@ -6,22 +6,14 @@ module Gemstash
|
|
6
6
|
# Builds a Marshal'ed and GZipped array of arrays containing specs as:
|
7
7
|
# [name, Gem::Version, platform]
|
8
8
|
class SpecsBuilder
|
9
|
+
include Gemstash::Env::Helper
|
9
10
|
attr_reader :result
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
# Used for the /private/prerelease_specs.4.8.gz endpoint. Fetches
|
18
|
-
# prerelease, indexed private gems.
|
19
|
-
def self.prerelease
|
20
|
-
new(prerelease: true).build
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.latest
|
24
|
-
new(latest: true).build
|
12
|
+
def self.serve(app)
|
13
|
+
prerelease = app.params.fetch(:prerelease, false)
|
14
|
+
latest = app.params.fetch(:latest, false)
|
15
|
+
app.content_type "application/octet-stream"
|
16
|
+
new(app.auth, prerelease: prerelease, latest: latest).serve
|
25
17
|
end
|
26
18
|
|
27
19
|
def self.invalidate_stored
|
@@ -31,12 +23,14 @@ module Gemstash
|
|
31
23
|
storage.resource("prerelease_specs.4.8.gz").delete(:specs)
|
32
24
|
end
|
33
25
|
|
34
|
-
def initialize(prerelease: false, latest: false)
|
26
|
+
def initialize(auth, prerelease: false, latest: false)
|
27
|
+
@auth = auth
|
35
28
|
@prerelease = prerelease
|
36
29
|
@latest = latest
|
37
30
|
end
|
38
31
|
|
39
|
-
def
|
32
|
+
def serve
|
33
|
+
check_auth if gemstash_env.config[:protected_fetch]
|
40
34
|
fetch_from_storage
|
41
35
|
return result if result
|
42
36
|
fetch_versions
|
@@ -97,5 +91,9 @@ module Gemstash
|
|
97
91
|
def store_result
|
98
92
|
fetch_resource.save(specs: @result)
|
99
93
|
end
|
94
|
+
|
95
|
+
def check_auth
|
96
|
+
@auth.check("fetch")
|
97
|
+
end
|
100
98
|
end
|
101
99
|
end
|
data/lib/gemstash/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemstash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andre Arko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '4.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '6'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '4.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '6'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: dalli
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +100,20 @@ dependencies:
|
|
94
100
|
- - "~>"
|
95
101
|
- !ruby/object:Gem::Version
|
96
102
|
version: '2.14'
|
103
|
+
- !ruby/object:Gem::Dependency
|
104
|
+
name: server_health_check-rack
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.1'
|
110
|
+
type: :runtime
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0.1'
|
97
117
|
- !ruby/object:Gem::Dependency
|
98
118
|
name: sequel
|
99
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,14 +218,14 @@ dependencies:
|
|
198
218
|
requirements:
|
199
219
|
- - "~>"
|
200
220
|
- !ruby/object:Gem::Version
|
201
|
-
version: '0.
|
221
|
+
version: '0.2'
|
202
222
|
type: :development
|
203
223
|
prerelease: false
|
204
224
|
version_requirements: !ruby/object:Gem::Requirement
|
205
225
|
requirements:
|
206
226
|
- - "~>"
|
207
227
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0.
|
228
|
+
version: '0.2'
|
209
229
|
- !ruby/object:Gem::Dependency
|
210
230
|
name: rack-test
|
211
231
|
requirement: !ruby/object:Gem::Requirement
|
@@ -277,6 +297,7 @@ files:
|
|
277
297
|
- LICENSE.txt
|
278
298
|
- exe/gemstash
|
279
299
|
- lib/gemstash.rb
|
300
|
+
- lib/gemstash/api_key_authorization.rb
|
280
301
|
- lib/gemstash/authorization.rb
|
281
302
|
- lib/gemstash/cache.rb
|
282
303
|
- lib/gemstash/cli.rb
|
@@ -306,6 +327,7 @@ files:
|
|
306
327
|
- lib/gemstash/gem_source/upstream_source.rb
|
307
328
|
- lib/gemstash/gem_unyanker.rb
|
308
329
|
- lib/gemstash/gem_yanker.rb
|
330
|
+
- lib/gemstash/health.rb
|
309
331
|
- lib/gemstash/http_client.rb
|
310
332
|
- lib/gemstash/logging.rb
|
311
333
|
- lib/gemstash/man/gemstash-authorize.1
|
@@ -366,7 +388,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
366
388
|
version: '0'
|
367
389
|
requirements: []
|
368
390
|
rubyforge_project:
|
369
|
-
rubygems_version: 2.
|
391
|
+
rubygems_version: 2.6.12
|
370
392
|
signing_key:
|
371
393
|
specification_version: 4
|
372
394
|
summary: A place to stash gems you'll need
|