gemstash 1.0.4 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|