gemstash 2.2.2 → 2.7.1
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/CHANGELOG.md +61 -17
- data/lib/gemstash/authorization.rb +5 -2
- data/lib/gemstash/cli/authorize.rb +42 -1
- data/lib/gemstash/cli/setup.rb +2 -2
- data/lib/gemstash/cli/start.rb +5 -25
- data/lib/gemstash/cli.rb +6 -2
- data/lib/gemstash/config.ru +0 -2
- data/lib/gemstash/configuration.rb +5 -0
- data/lib/gemstash/db/authorization.rb +3 -3
- data/lib/gemstash/env.rb +0 -11
- data/lib/gemstash/gem_source/upstream_source.rb +15 -0
- data/lib/gemstash/logging.rb +14 -2
- data/lib/gemstash/man/gemstash-authorize.1 +21 -33
- data/lib/gemstash/man/gemstash-authorize.1.txt +20 -16
- data/lib/gemstash/man/gemstash-configuration.5 +61 -119
- data/lib/gemstash/man/gemstash-configuration.5.txt +58 -65
- data/lib/gemstash/man/gemstash-customize.7 +60 -103
- data/lib/gemstash/man/gemstash-customize.7.txt +52 -56
- data/lib/gemstash/man/gemstash-debugging.7 +11 -31
- data/lib/gemstash/man/gemstash-debugging.7.txt +8 -13
- data/lib/gemstash/man/gemstash-deploy.7 +15 -39
- data/lib/gemstash/man/gemstash-deploy.7.txt +18 -22
- data/lib/gemstash/man/gemstash-mirror.7 +10 -31
- data/lib/gemstash/man/gemstash-mirror.7.txt +6 -10
- data/lib/gemstash/man/gemstash-multiple-sources.7 +72 -44
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +66 -22
- data/lib/gemstash/man/gemstash-private-gems.7 +51 -102
- data/lib/gemstash/man/gemstash-private-gems.7.txt +35 -39
- data/lib/gemstash/man/gemstash-readme.7 +42 -88
- data/lib/gemstash/man/gemstash-readme.7.txt +43 -48
- data/lib/gemstash/man/gemstash-setup.1 +13 -33
- data/lib/gemstash/man/gemstash-setup.1.txt +13 -17
- data/lib/gemstash/man/gemstash-start.1 +5 -29
- data/lib/gemstash/man/gemstash-start.1.txt +6 -14
- data/lib/gemstash/man/gemstash-status.1 +5 -23
- data/lib/gemstash/man/gemstash-status.1.txt +6 -10
- data/lib/gemstash/man/gemstash-stop.1 +5 -23
- data/lib/gemstash/man/gemstash-stop.1.txt +6 -10
- data/lib/gemstash/man/gemstash-version.1 +4 -24
- data/lib/gemstash/man/gemstash-version.1.txt +3 -7
- data/lib/gemstash/migrations/05_authorization_names.rb +10 -0
- data/lib/gemstash/upstream.rb +33 -2
- data/lib/gemstash/version.rb +1 -1
- data/lib/gemstash.rb +1 -0
- metadata +35 -14
@@ -1,35 +1,17 @@
|
|
1
1
|
<!-- Automatically generated by Pandoc -->
|
2
|
-
.\" Automatically generated by Pandoc 3.1
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
3
|
.\"
|
4
|
-
.\" Define V font for inline verbatim, using C font in formats
|
5
|
-
.\" that render this, and otherwise B font.
|
6
|
-
.ie "\f[CB]x\f[]"x" \{\
|
7
|
-
. ftr V B
|
8
|
-
. ftr VI BI
|
9
|
-
. ftr VB B
|
10
|
-
. ftr VBI BI
|
11
|
-
.\}
|
12
|
-
.el \{\
|
13
|
-
. ftr V CR
|
14
|
-
. ftr VI CI
|
15
|
-
. ftr VB CB
|
16
|
-
. ftr VBI CBI
|
17
|
-
.\}
|
18
4
|
.TH "gemstash-status" "1" "October 28, 2015" "" ""
|
19
|
-
.hy
|
20
5
|
.SH Name
|
21
|
-
.PP
|
22
6
|
gemstash-status - Checks status of the Gemstash server
|
23
7
|
.SH Synopsis
|
24
|
-
|
25
|
-
\f[V]gemstash status [--config-file FILE]\f[R]
|
8
|
+
\f[CR]gemstash status [--config-file FILE]\f[R]
|
26
9
|
.SH Description
|
27
|
-
.PP
|
28
10
|
Checks status of the Gemstash server.
|
29
11
|
.SH Options
|
30
12
|
.IP \[bu] 2
|
31
|
-
\f[
|
13
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to use.
|
32
14
|
If you aren\[cq]t using the default config file at
|
33
|
-
\f[
|
34
|
-
\f[
|
15
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R] or
|
16
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
|
35
17
|
config file via this option.
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
4mgemstash-status24m(1) 4mgemstash-status24m(1)
|
4
2
|
|
5
3
|
<!-- Automatically generated by Pandoc -->
|
6
4
|
|
@@ -8,17 +6,15 @@ gemstash-status(1) gemstash-status(1)
|
|
8
6
|
gemstash-status - Checks status of the Gemstash server
|
9
7
|
|
10
8
|
1mSynopsis0m
|
11
|
-
|
9
|
+
gemstash status [--config-file FILE]
|
12
10
|
|
13
11
|
1mDescription0m
|
14
12
|
Checks status of the Gemstash server.
|
15
13
|
|
16
14
|
1mOptions0m
|
17
|
-
o
|
18
|
-
using the default config file at
|
19
|
-
|
15
|
+
o --config-file FILE: Specify the config file to use. If you aren't
|
16
|
+
using the default config file at ~/.gemstash/config.yml or ~/.gem-
|
17
|
+
stash/config.yml.erb, then you must specify the config file via this
|
20
18
|
option.
|
21
19
|
|
22
|
-
|
23
|
-
|
24
|
-
October 28, 2015 gemstash-status(1)
|
20
|
+
October 28, 2015 4mgemstash-status24m(1)
|
@@ -1,35 +1,17 @@
|
|
1
1
|
<!-- Automatically generated by Pandoc -->
|
2
|
-
.\" Automatically generated by Pandoc 3.1
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
3
|
.\"
|
4
|
-
.\" Define V font for inline verbatim, using C font in formats
|
5
|
-
.\" that render this, and otherwise B font.
|
6
|
-
.ie "\f[CB]x\f[]"x" \{\
|
7
|
-
. ftr V B
|
8
|
-
. ftr VI BI
|
9
|
-
. ftr VB B
|
10
|
-
. ftr VBI BI
|
11
|
-
.\}
|
12
|
-
.el \{\
|
13
|
-
. ftr V CR
|
14
|
-
. ftr VI CI
|
15
|
-
. ftr VB CB
|
16
|
-
. ftr VBI CBI
|
17
|
-
.\}
|
18
4
|
.TH "gemstash-stop" "1" "October 9, 2015" "" ""
|
19
|
-
.hy
|
20
5
|
.SH Name
|
21
|
-
.PP
|
22
6
|
gemstash-stop - Stops the Gemstash server
|
23
7
|
.SH Synopsis
|
24
|
-
|
25
|
-
\f[V]gemstash stop [--config-file FILE]\f[R]
|
8
|
+
\f[CR]gemstash stop [--config-file FILE]\f[R]
|
26
9
|
.SH Description
|
27
|
-
.PP
|
28
10
|
Stops the Gemstash server.
|
29
11
|
.SH Options
|
30
12
|
.IP \[bu] 2
|
31
|
-
\f[
|
13
|
+
\f[CR]--config-file FILE\f[R]: Specify the config file to use.
|
32
14
|
If you aren\[cq]t using the default config file at
|
33
|
-
\f[
|
34
|
-
\f[
|
15
|
+
\f[CR]\[ti]/.gemstash/config.yml\f[R] or
|
16
|
+
\f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
|
35
17
|
config file via this option.
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
4mgemstash-stop24m(1) 4mgemstash-stop24m(1)
|
4
2
|
|
5
3
|
<!-- Automatically generated by Pandoc -->
|
6
4
|
|
@@ -8,17 +6,15 @@ gemstash-stop(1) gemstash-stop(1)
|
|
8
6
|
gemstash-stop - Stops the Gemstash server
|
9
7
|
|
10
8
|
1mSynopsis0m
|
11
|
-
|
9
|
+
gemstash stop [--config-file FILE]
|
12
10
|
|
13
11
|
1mDescription0m
|
14
12
|
Stops the Gemstash server.
|
15
13
|
|
16
14
|
1mOptions0m
|
17
|
-
o
|
18
|
-
using the default config file at
|
19
|
-
|
15
|
+
o --config-file FILE: Specify the config file to use. If you aren't
|
16
|
+
using the default config file at ~/.gemstash/config.yml or ~/.gem-
|
17
|
+
stash/config.yml.erb, then you must specify the config file via this
|
20
18
|
option.
|
21
19
|
|
22
|
-
|
23
|
-
|
24
|
-
October 9, 2015 gemstash-stop(1)
|
20
|
+
October 9, 2015 4mgemstash-stop24m(1)
|
@@ -1,37 +1,17 @@
|
|
1
1
|
<!-- Automatically generated by Pandoc -->
|
2
|
-
.\" Automatically generated by Pandoc 3.1
|
2
|
+
.\" Automatically generated by Pandoc 3.1.8
|
3
3
|
.\"
|
4
|
-
.\" Define V font for inline verbatim, using C font in formats
|
5
|
-
.\" that render this, and otherwise B font.
|
6
|
-
.ie "\f[CB]x\f[]"x" \{\
|
7
|
-
. ftr V B
|
8
|
-
. ftr VI BI
|
9
|
-
. ftr VB B
|
10
|
-
. ftr VBI BI
|
11
|
-
.\}
|
12
|
-
.el \{\
|
13
|
-
. ftr V CR
|
14
|
-
. ftr VI CI
|
15
|
-
. ftr VB CB
|
16
|
-
. ftr VBI CBI
|
17
|
-
.\}
|
18
4
|
.TH "gemstash-version" "1" "December 14, 2015" "" ""
|
19
|
-
.hy
|
20
5
|
.SH Name
|
21
|
-
.PP
|
22
6
|
gemstash-version - Show what version of Gemstash you are using
|
23
7
|
.SH Synopsis
|
24
|
-
|
25
|
-
\f[V]gemstash version\f[R]
|
8
|
+
\f[CR]gemstash version\f[R]
|
26
9
|
.SH Description
|
27
|
-
.PP
|
28
10
|
Show what version of Gemstash you are using.
|
29
11
|
.SS Usage
|
30
12
|
.IP
|
31
|
-
.
|
32
|
-
\f[C]
|
13
|
+
.EX
|
33
14
|
gemstash version
|
34
15
|
gemstash --version
|
35
16
|
gemstash -v
|
36
|
-
|
37
|
-
.fi
|
17
|
+
.EE
|
@@ -1,6 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
4mgemstash-version24m(1) 4mgemstash-version24m(1)
|
4
2
|
|
5
3
|
<!-- Automatically generated by Pandoc -->
|
6
4
|
|
@@ -8,7 +6,7 @@ gemstash-version(1) gemstash-version(1)
|
|
8
6
|
gemstash-version - Show what version of Gemstash you are using
|
9
7
|
|
10
8
|
1mSynopsis0m
|
11
|
-
|
9
|
+
gemstash version
|
12
10
|
|
13
11
|
1mDescription0m
|
14
12
|
Show what version of Gemstash you are using.
|
@@ -18,6 +16,4 @@ gemstash-version(1) gemstash-version(1)
|
|
18
16
|
gemstash --version
|
19
17
|
gemstash -v
|
20
18
|
|
21
|
-
|
22
|
-
|
23
|
-
December 14, 2015 gemstash-version(1)
|
19
|
+
December 14, 2015 4mgemstash-version24m(1)
|
data/lib/gemstash/upstream.rb
CHANGED
@@ -11,10 +11,12 @@ module Gemstash
|
|
11
11
|
|
12
12
|
attr_reader :user_agent, :uri
|
13
13
|
|
14
|
-
def_delegators :@uri, :scheme, :host, :
|
14
|
+
def_delegators :@uri, :scheme, :host, :to_s
|
15
15
|
|
16
16
|
def initialize(upstream, user_agent: nil)
|
17
|
-
|
17
|
+
url = CGI.unescape(upstream.to_s)
|
18
|
+
url = "https://#{url}" unless %r{^https?://}.match?(url)
|
19
|
+
@uri = URI(url)
|
18
20
|
@user_agent = user_agent
|
19
21
|
raise "URL '#{@uri}' is not valid!" unless @uri.to_s&.match?(URI::DEFAULT_PARSER.make_regexp)
|
20
22
|
end
|
@@ -40,12 +42,41 @@ module Gemstash
|
|
40
42
|
@host_id ||= "#{host}_#{hash}"
|
41
43
|
end
|
42
44
|
|
45
|
+
def user
|
46
|
+
env_auth_user || @uri.user
|
47
|
+
end
|
48
|
+
|
49
|
+
def password
|
50
|
+
env_auth_pass || @uri.password
|
51
|
+
end
|
52
|
+
|
43
53
|
private
|
44
54
|
|
45
55
|
def hash
|
46
56
|
Digest::MD5.hexdigest(to_s)
|
47
57
|
end
|
48
58
|
|
59
|
+
def env_auth_user
|
60
|
+
return unless env_auth
|
61
|
+
|
62
|
+
env_auth.split(":", 2).first
|
63
|
+
end
|
64
|
+
|
65
|
+
def env_auth_pass
|
66
|
+
return unless env_auth
|
67
|
+
return unless env_auth.include?(":")
|
68
|
+
|
69
|
+
env_auth.split(":", 2).last
|
70
|
+
end
|
71
|
+
|
72
|
+
def env_auth
|
73
|
+
@env_auth ||= ENV["GEMSTASH_#{host_for_env}"]
|
74
|
+
end
|
75
|
+
|
76
|
+
def host_for_env
|
77
|
+
host.upcase.gsub(".", "__").gsub("-", "___")
|
78
|
+
end
|
79
|
+
|
49
80
|
# :nodoc:
|
50
81
|
class GemName
|
51
82
|
def initialize(upstream, gem_name)
|
data/lib/gemstash/version.rb
CHANGED
data/lib/gemstash.rb
CHANGED
@@ -20,6 +20,7 @@ module Gemstash
|
|
20
20
|
autoload :LruReduxClient, "gemstash/cache"
|
21
21
|
autoload :NotAuthorizedError, "gemstash/authorization"
|
22
22
|
autoload :RackEnvRewriter, "gemstash/rack_env_rewriter"
|
23
|
+
autoload :RedisClient, "gemstash/cache"
|
23
24
|
autoload :Resource, "gemstash/storage"
|
24
25
|
autoload :SpecsBuilder, "gemstash/specs_builder"
|
25
26
|
autoload :Storage, "gemstash/storage"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemstash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andre Arko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -54,30 +54,36 @@ dependencies:
|
|
54
54
|
name: faraday
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - "
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1'
|
60
|
+
- - "<"
|
58
61
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
62
|
+
version: '3'
|
60
63
|
type: :runtime
|
61
64
|
prerelease: false
|
62
65
|
version_requirements: !ruby/object:Gem::Requirement
|
63
66
|
requirements:
|
64
|
-
- - "
|
67
|
+
- - ">="
|
65
68
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
69
|
+
version: '1'
|
70
|
+
- - "<"
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '3'
|
67
73
|
- !ruby/object:Gem::Dependency
|
68
74
|
name: faraday_middleware
|
69
75
|
requirement: !ruby/object:Gem::Requirement
|
70
76
|
requirements:
|
71
77
|
- - "~>"
|
72
78
|
- !ruby/object:Gem::Version
|
73
|
-
version: '0
|
79
|
+
version: '1.0'
|
74
80
|
type: :runtime
|
75
81
|
prerelease: false
|
76
82
|
version_requirements: !ruby/object:Gem::Requirement
|
77
83
|
requirements:
|
78
84
|
- - "~>"
|
79
85
|
- !ruby/object:Gem::Version
|
80
|
-
version: '0
|
86
|
+
version: '1.0'
|
81
87
|
- !ruby/object:Gem::Dependency
|
82
88
|
name: lru_redux
|
83
89
|
requirement: !ruby/object:Gem::Requirement
|
@@ -112,14 +118,14 @@ dependencies:
|
|
112
118
|
requirements:
|
113
119
|
- - "~>"
|
114
120
|
- !ruby/object:Gem::Version
|
115
|
-
version: '
|
121
|
+
version: '6.1'
|
116
122
|
type: :runtime
|
117
123
|
prerelease: false
|
118
124
|
version_requirements: !ruby/object:Gem::Requirement
|
119
125
|
requirements:
|
120
126
|
- - "~>"
|
121
127
|
- !ruby/object:Gem::Version
|
122
|
-
version: '
|
128
|
+
version: '6.1'
|
123
129
|
- !ruby/object:Gem::Dependency
|
124
130
|
name: sequel
|
125
131
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,7 +163,7 @@ dependencies:
|
|
157
163
|
version: '1.4'
|
158
164
|
- - "<"
|
159
165
|
- !ruby/object:Gem::Version
|
160
|
-
version: '
|
166
|
+
version: '4.0'
|
161
167
|
type: :runtime
|
162
168
|
prerelease: false
|
163
169
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -166,6 +172,20 @@ dependencies:
|
|
166
172
|
- !ruby/object:Gem::Version
|
167
173
|
version: '1.4'
|
168
174
|
- - "<"
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '4.0'
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: terminal-table
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - "~>"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '3.0'
|
184
|
+
type: :runtime
|
185
|
+
prerelease: false
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - "~>"
|
169
189
|
- !ruby/object:Gem::Version
|
170
190
|
version: '3.0'
|
171
191
|
- !ruby/object:Gem::Dependency
|
@@ -174,14 +194,14 @@ dependencies:
|
|
174
194
|
requirements:
|
175
195
|
- - "~>"
|
176
196
|
- !ruby/object:Gem::Version
|
177
|
-
version: '0
|
197
|
+
version: '1.0'
|
178
198
|
type: :runtime
|
179
199
|
prerelease: false
|
180
200
|
version_requirements: !ruby/object:Gem::Requirement
|
181
201
|
requirements:
|
182
202
|
- - "~>"
|
183
203
|
- !ruby/object:Gem::Version
|
184
|
-
version: '0
|
204
|
+
version: '1.0'
|
185
205
|
- !ruby/object:Gem::Dependency
|
186
206
|
name: sqlite3
|
187
207
|
requirement: !ruby/object:Gem::Requirement
|
@@ -275,6 +295,7 @@ files:
|
|
275
295
|
- lib/gemstash/migrations/02_authorizations.rb
|
276
296
|
- lib/gemstash/migrations/03_cached_gems.rb
|
277
297
|
- lib/gemstash/migrations/04_health_tests.rb
|
298
|
+
- lib/gemstash/migrations/05_authorization_names.rb
|
278
299
|
- lib/gemstash/puma.rb
|
279
300
|
- lib/gemstash/rack_env_rewriter.rb
|
280
301
|
- lib/gemstash/specs_builder.rb
|
@@ -301,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
301
322
|
- !ruby/object:Gem::Version
|
302
323
|
version: '0'
|
303
324
|
requirements: []
|
304
|
-
rubygems_version: 3.
|
325
|
+
rubygems_version: 3.5.0.dev
|
305
326
|
signing_key:
|
306
327
|
specification_version: 4
|
307
328
|
summary: A place to stash gems you'll need
|