gemstash 2.7.0 → 2.8.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/CHANGELOG.md +6 -0
- data/lib/gemstash/cache.rb +2 -1
- data/lib/gemstash/cli/info.rb +29 -0
- data/lib/gemstash/cli/setup.rb +11 -3
- data/lib/gemstash/cli/start.rb +4 -0
- data/lib/gemstash/cli.rb +8 -0
- data/lib/gemstash/config.ru +2 -1
- data/lib/gemstash/configuration.rb +5 -0
- data/lib/gemstash/db/version.rb +0 -5
- data/lib/gemstash/env.rb +5 -2
- data/lib/gemstash/http_client.rb +2 -1
- data/lib/gemstash/logging.rb +4 -1
- data/lib/gemstash/man/gemstash-authorize.1 +36 -17
- data/lib/gemstash/man/gemstash-authorize.1.txt +15 -17
- data/lib/gemstash/man/gemstash-configuration.5 +136 -63
- data/lib/gemstash/man/gemstash-configuration.5.txt +80 -64
- data/lib/gemstash/man/gemstash-customize.7 +114 -61
- data/lib/gemstash/man/gemstash-customize.7.txt +56 -51
- data/lib/gemstash/man/gemstash-debugging.7 +27 -9
- data/lib/gemstash/man/gemstash-debugging.7.txt +6 -8
- data/lib/gemstash/man/gemstash-deploy.7 +39 -16
- data/lib/gemstash/man/gemstash-deploy.7.txt +19 -21
- data/lib/gemstash/man/gemstash-mirror.7 +31 -11
- data/lib/gemstash/man/gemstash-mirror.7.txt +6 -8
- data/lib/gemstash/man/gemstash-multiple-sources.7 +68 -35
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +20 -22
- data/lib/gemstash/man/gemstash-private-gems.7 +102 -52
- data/lib/gemstash/man/gemstash-private-gems.7.txt +31 -33
- data/lib/gemstash/man/gemstash-readme.7 +75 -30
- data/lib/gemstash/man/gemstash-readme.7.txt +24 -26
- data/lib/gemstash/man/gemstash-setup.1 +33 -14
- data/lib/gemstash/man/gemstash-setup.1.txt +12 -14
- data/lib/gemstash/man/gemstash-start.1 +23 -6
- data/lib/gemstash/man/gemstash-start.1.txt +5 -7
- data/lib/gemstash/man/gemstash-status.1 +23 -6
- data/lib/gemstash/man/gemstash-status.1.txt +6 -8
- data/lib/gemstash/man/gemstash-stop.1 +23 -6
- data/lib/gemstash/man/gemstash-stop.1.txt +5 -7
- data/lib/gemstash/man/gemstash-version.1 +24 -5
- data/lib/gemstash/man/gemstash-version.1.txt +1 -3
- data/lib/gemstash/puma.rb +2 -0
- data/lib/gemstash/specs_builder.rb +16 -2
- data/lib/gemstash/upstream.rb +1 -1
- data/lib/gemstash/version.rb +1 -1
- metadata +37 -21
|
@@ -1,17 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
.\" Automatically generated by Pandoc 3.1.8
|
|
1
|
+
.\" Automatically generated by Pandoc 3.1.3
|
|
3
2
|
.\"
|
|
3
|
+
.\" Define V font for inline verbatim, using C font in formats
|
|
4
|
+
.\" that render this, and otherwise B font.
|
|
5
|
+
.ie "\f[CB]x\f[]"x" \{\
|
|
6
|
+
. ftr V B
|
|
7
|
+
. ftr VI BI
|
|
8
|
+
. ftr VB B
|
|
9
|
+
. ftr VBI BI
|
|
10
|
+
.\}
|
|
11
|
+
.el \{\
|
|
12
|
+
. ftr V CR
|
|
13
|
+
. ftr VI CI
|
|
14
|
+
. ftr VB CB
|
|
15
|
+
. ftr VBI CBI
|
|
16
|
+
.\}
|
|
4
17
|
.TH "gemstash-customize" "7" "October 28, 2015" "" ""
|
|
18
|
+
.hy
|
|
5
19
|
.SH Customizing the Server
|
|
20
|
+
.PP
|
|
6
21
|
Although Gemstash is designed for as minimal setup as possible, there
|
|
7
22
|
may be times you will want to change some of the default configuration.
|
|
8
23
|
By the end of this guide, you will be able to customize some of the
|
|
9
24
|
Gemstash behavior, including where files are stored, what database
|
|
10
25
|
Gemstash uses, and how Gemstash caches certain requests.
|
|
11
26
|
.SS Setup
|
|
27
|
+
.PP
|
|
12
28
|
Several customizable options are available via an interactive Gemstash
|
|
13
29
|
command.
|
|
14
|
-
Run \f[
|
|
30
|
+
Run \f[V]gemstash setup\f[R] and answer the questions it provides (a
|
|
15
31
|
blank answer will use the default value):
|
|
16
32
|
.RS
|
|
17
33
|
.PP
|
|
@@ -62,11 +78,11 @@ Once you\[cq]ve answered the questions, some checks will be made to
|
|
|
62
78
|
ensure the configuration will work.
|
|
63
79
|
For example, the database didn\[cq]t exist in the previous example, so
|
|
64
80
|
the command failed and the configuration wasn\[cq]t saved.
|
|
65
|
-
If the command passes, you may provide the \f[
|
|
81
|
+
If the command passes, you may provide the \f[V]--redo\f[R] option to
|
|
66
82
|
force configuration to be redone:
|
|
67
83
|
.RS
|
|
68
84
|
.PP
|
|
69
|
-
\f[
|
|
85
|
+
\f[V]$ gemstash setup --redo\f[R]
|
|
70
86
|
.PD 0
|
|
71
87
|
.P
|
|
72
88
|
.PD
|
|
@@ -105,41 +121,46 @@ You are all setup!
|
|
|
105
121
|
.RE
|
|
106
122
|
.PP
|
|
107
123
|
Once all checks have passed, Gemstash will store your answers in the
|
|
108
|
-
configuration file located at \f[
|
|
124
|
+
configuration file located at \f[V]\[ti]/.gemstash/config.yml\f[R].
|
|
109
125
|
.SS Files
|
|
110
|
-
|
|
126
|
+
.PP
|
|
127
|
+
Storage in Gemstash defaults to \f[V]\[ti]/.gemstash\f[R] unless
|
|
111
128
|
otherwise specified.
|
|
112
|
-
You can change this in your config file via the \f[
|
|
129
|
+
You can change this in your config file via the \f[V]:base_path\f[R]
|
|
113
130
|
key:
|
|
114
131
|
.IP
|
|
115
|
-
.
|
|
132
|
+
.nf
|
|
133
|
+
\f[C]
|
|
116
134
|
# \[ti]/.gemstash/config.yml
|
|
117
135
|
---
|
|
118
136
|
:base_path: \[dq]/var/gemstash\[dq]
|
|
119
|
-
|
|
137
|
+
\f[R]
|
|
138
|
+
.fi
|
|
120
139
|
.PP
|
|
121
|
-
When customizing the \f[
|
|
140
|
+
When customizing the \f[V]base_path\f[R], the directory must exist,
|
|
122
141
|
otherwise Gemstash will fail to run.
|
|
123
|
-
Thus, if you want to use \f[
|
|
124
|
-
example, make sure to \f[
|
|
142
|
+
Thus, if you want to use \f[V]/var/gemstash\f[R] like in the previous
|
|
143
|
+
example, make sure to \f[V]mkdir /var/gemstash\f[R] and grant access to
|
|
125
144
|
the directory for the user you run Gemstash with.
|
|
126
145
|
.SS Database
|
|
127
|
-
|
|
146
|
+
.PP
|
|
147
|
+
The \f[V]:db_adapter\f[R] configuration key specifies what database you
|
|
128
148
|
will be using.
|
|
129
|
-
The default \f[
|
|
130
|
-
\f[
|
|
131
|
-
file located within your \f[
|
|
132
|
-
The database file will always be named \f[
|
|
149
|
+
The default \f[V]:db_adapter\f[R] is
|
|
150
|
+
\f[V]sqlite3\f[R] (https://www.sqlite.org/), which will use a database
|
|
151
|
+
file located within your \f[V]:base_path\f[R].
|
|
152
|
+
The database file will always be named \f[V]gemstash.db\f[R].
|
|
133
153
|
.PP
|
|
134
|
-
You may also use \f[
|
|
135
|
-
\f[
|
|
136
|
-
\f[
|
|
137
|
-
for your \f[
|
|
154
|
+
You may also use \f[V]postgres\f[R] (http://www.postgresql.org/),
|
|
155
|
+
\f[V]mysql\f[R] (http://www.mysql.com/), or
|
|
156
|
+
\f[V]mysql2\f[R] (http://sequel.jeremyevans.net/rdoc/files/doc/opening_databases_rdoc.html#label-mysql2)
|
|
157
|
+
for your \f[V]:db_adapter\f[R].
|
|
138
158
|
When using any of these options, you need to specify the
|
|
139
|
-
\f[
|
|
140
|
-
Here is an example configuration to use the \f[
|
|
159
|
+
\f[V]:db_url\f[R] to point to an existing database.
|
|
160
|
+
Here is an example configuration to use the \f[V]postgres\f[R] adapter:
|
|
141
161
|
.IP
|
|
142
|
-
.
|
|
162
|
+
.nf
|
|
163
|
+
\f[C]
|
|
143
164
|
# \[ti]/.gemstash/config.yml
|
|
144
165
|
---
|
|
145
166
|
:db_adapter: postgres
|
|
@@ -148,50 +169,57 @@ Here is an example configuration to use the \f[CR]postgres\f[R] adapter:
|
|
|
148
169
|
:connect_timeout: 10
|
|
149
170
|
:read_timeout: 5
|
|
150
171
|
:timeout: 30
|
|
151
|
-
|
|
172
|
+
\f[R]
|
|
173
|
+
.fi
|
|
152
174
|
.PP
|
|
153
175
|
Regardless of the adapter you choose, the database will automatically
|
|
154
176
|
migrate to your version of Gemstash whenever the database is needed.
|
|
155
177
|
You only need to ensure the database exists and Gemstash will do the
|
|
156
|
-
rest, except for \f[
|
|
178
|
+
rest, except for \f[V]sqlite3\f[R] (for which Gemstash will also create
|
|
157
179
|
the database for you).
|
|
158
180
|
.SS Cache
|
|
181
|
+
.PP
|
|
159
182
|
Certain things (like dependencies) are cached in memory.
|
|
160
183
|
This avoids web calls to the gem source, and database calls for private
|
|
161
184
|
gems.
|
|
162
185
|
.IP
|
|
163
|
-
.
|
|
186
|
+
.nf
|
|
187
|
+
\f[C]
|
|
164
188
|
# \[ti]/.gemstash/config.yml
|
|
165
189
|
---
|
|
166
190
|
:cache_type: memory
|
|
167
191
|
:cache_max_size: 2000
|
|
168
|
-
|
|
192
|
+
\f[R]
|
|
193
|
+
.fi
|
|
169
194
|
.PP
|
|
170
|
-
This configuration uses the default \f[
|
|
171
|
-
increased the \f[
|
|
195
|
+
This configuration uses the default \f[V]memory\f[R] cache, and has
|
|
196
|
+
increased the \f[V]cache_max_size\f[R] setting from its default of 500
|
|
172
197
|
items.
|
|
173
198
|
.PP
|
|
174
199
|
The memory cache can optionally be swapped out with a
|
|
175
200
|
Memcached (http://memcached.org/) server (or cluster of servers).
|
|
176
201
|
.PP
|
|
177
|
-
To use Memcached, use the \f[
|
|
202
|
+
To use Memcached, use the \f[V]memcached\f[R] \f[V]:cache_type\f[R]
|
|
178
203
|
configuration.
|
|
179
204
|
.PP
|
|
180
205
|
Provide the servers as a comma-separated list to the
|
|
181
|
-
\f[
|
|
206
|
+
\f[V]:memcached_servers\f[R] configuration key:
|
|
182
207
|
.IP
|
|
183
|
-
.
|
|
208
|
+
.nf
|
|
209
|
+
\f[C]
|
|
184
210
|
# \[ti]/.gemstash/config.yml
|
|
185
211
|
---
|
|
186
212
|
:cache_type: memcached
|
|
187
213
|
:memcached_servers: memcached1.local:11211,memcached2.local:11211
|
|
188
214
|
:cache_expiration: 1800
|
|
189
|
-
|
|
215
|
+
\f[R]
|
|
216
|
+
.fi
|
|
190
217
|
.PP
|
|
191
|
-
All caching expires in \f[
|
|
218
|
+
All caching expires in \f[V]cache_expiration\f[R] number of seconds.
|
|
192
219
|
Default is 1800 seconds (30 minutes).
|
|
193
220
|
This option applies to all caching.
|
|
194
221
|
.SS Server
|
|
222
|
+
.PP
|
|
195
223
|
Gemstash uses Puma (http://puma.io/) and Rack (http://rack.github.io/)
|
|
196
224
|
as the server.
|
|
197
225
|
Alternate server configurations are not currently supported, but you can
|
|
@@ -203,71 +231,96 @@ for inspiration.
|
|
|
203
231
|
.PP
|
|
204
232
|
While the server is not customizable, the way Gemstash binds the port
|
|
205
233
|
can be changed.
|
|
206
|
-
To change the binding, update the \f[
|
|
234
|
+
To change the binding, update the \f[V]:bind\f[R] configuration key:
|
|
207
235
|
.IP
|
|
208
|
-
.
|
|
236
|
+
.nf
|
|
237
|
+
\f[C]
|
|
209
238
|
# \[ti]/.gemstash/config.yml
|
|
210
239
|
---
|
|
211
240
|
:bind: tcp://0.0.0.0:4242
|
|
212
|
-
|
|
241
|
+
\f[R]
|
|
242
|
+
.fi
|
|
213
243
|
.PP
|
|
214
244
|
This maps directly to the Puma bind
|
|
215
245
|
flag (https://github.com/puma/puma#binding-tcp--sockets), and will
|
|
216
246
|
support anything valid for that flag.
|
|
217
247
|
.PP
|
|
218
248
|
The number of threads Puma uses is also customizable via the
|
|
219
|
-
\f[
|
|
220
|
-
The default is \f[
|
|
249
|
+
\f[V]:puma_threads\f[R] configuration key.
|
|
250
|
+
The default is \f[V]16\f[R].
|
|
221
251
|
.SS Protected Fetch
|
|
252
|
+
.PP
|
|
222
253
|
Gemstash by default allows unauthenticated access for private gems.
|
|
223
|
-
Authenticated access is available via the \f[
|
|
254
|
+
Authenticated access is available via the \f[V]:protected_fetch\f[R]
|
|
224
255
|
configuration key.
|
|
225
256
|
.IP
|
|
226
|
-
.
|
|
257
|
+
.nf
|
|
258
|
+
\f[C]
|
|
227
259
|
# \[ti]/.gemstash/config.yml
|
|
228
260
|
---
|
|
229
261
|
:protected_fetch: true
|
|
230
|
-
|
|
262
|
+
\f[R]
|
|
263
|
+
.fi
|
|
231
264
|
.PP
|
|
232
265
|
More details on protected_fetch are here.
|
|
233
266
|
.SS Fetch Timeout
|
|
267
|
+
.PP
|
|
234
268
|
The default fetch timeout is 20 seconds.
|
|
235
|
-
Use the \f[
|
|
269
|
+
Use the \f[V]:fetch_timeout\f[R] configuration key to change it.
|
|
236
270
|
.IP
|
|
237
|
-
.
|
|
271
|
+
.nf
|
|
272
|
+
\f[C]
|
|
238
273
|
---
|
|
239
274
|
:fetch_timeout: 20
|
|
240
|
-
|
|
275
|
+
\f[R]
|
|
276
|
+
.fi
|
|
277
|
+
.SS Open Timeout
|
|
278
|
+
.PP
|
|
279
|
+
The default connection open timeout is 2 seconds.
|
|
280
|
+
Use the \f[V]:open_timeout\f[R] configuration key to change it.
|
|
281
|
+
.IP
|
|
282
|
+
.nf
|
|
283
|
+
\f[C]
|
|
284
|
+
---
|
|
285
|
+
:open_timeout: 2
|
|
286
|
+
\f[R]
|
|
287
|
+
.fi
|
|
241
288
|
.SS Config File Location
|
|
289
|
+
.PP
|
|
242
290
|
By default, configuration for Gemstash will be at
|
|
243
|
-
\f[
|
|
244
|
-
This can be changed by providing the \f[
|
|
291
|
+
\f[V]\[ti]/.gemstash/config.yml\f[R].
|
|
292
|
+
This can be changed by providing the \f[V]--config-file\f[R] option to
|
|
245
293
|
the various Gemstash commands:
|
|
246
294
|
.IP
|
|
247
|
-
.
|
|
295
|
+
.nf
|
|
296
|
+
\f[C]
|
|
248
297
|
$ gemstash setup --config-file ./gemstash-config.yml
|
|
249
298
|
$ gemstash authorize --config-file ./gemstash-config.yml
|
|
250
299
|
$ gemstash start --config-file ./gemstash-config.yml
|
|
251
300
|
$ gemstash stop --config-file ./gemstash-config.yml
|
|
252
301
|
$ gemstash status --config-file ./gemstash-config.yml
|
|
253
|
-
|
|
302
|
+
\f[R]
|
|
303
|
+
.fi
|
|
254
304
|
.PP
|
|
255
|
-
When providing \f[
|
|
256
|
-
|
|
305
|
+
When providing \f[V]--config-file\f[R] to \f[V]gemstash setup\f[R], the
|
|
306
|
+
provided file will be output to with the provided configuration.
|
|
257
307
|
\f[B]This will overwrite\f[R] any existing configuration.
|
|
258
|
-
If the file doesn\[cq]t exist when providing \f[
|
|
259
|
-
\f[
|
|
260
|
-
\f[
|
|
261
|
-
|
|
308
|
+
If the file doesn\[cq]t exist when providing \f[V]--config-file\f[R] to
|
|
309
|
+
\f[V]gemstash start\f[R], \f[V]gemstash stop\f[R],
|
|
310
|
+
\f[V]gemstash status\f[R], and \f[V]gemstash authorize\f[R], the default
|
|
311
|
+
configuration will be used.
|
|
262
312
|
.SS ERB parsed config
|
|
263
|
-
|
|
313
|
+
.PP
|
|
314
|
+
You may also create a \f[V]\[ti]/.gemstash/config.yml.erb\f[R] file.
|
|
264
315
|
If present, this will be used instead of
|
|
265
|
-
\f[
|
|
316
|
+
\f[V]\[ti]/.gemstash/config.yml\f[R].
|
|
266
317
|
For example, with this you can use environment variables in the config:
|
|
267
318
|
.IP
|
|
268
|
-
.
|
|
319
|
+
.nf
|
|
320
|
+
\f[C]
|
|
269
321
|
# \[ti]/.gemstash/config.yml.erb
|
|
270
322
|
---
|
|
271
323
|
:db_adapter: postgres
|
|
272
324
|
:db_url: <%= ENV[\[dq]DATABASE_URL\[dq]] %>
|
|
273
|
-
|
|
325
|
+
\f[R]
|
|
326
|
+
.fi
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
4mgemstash-customize24m(7) 4mgemstash-customize24m(7)
|
|
2
2
|
|
|
3
|
-
<!-- Automatically generated by Pandoc -->
|
|
4
|
-
|
|
5
3
|
1mCustomizing the Server0m
|
|
6
|
-
Although
|
|
4
|
+
Although Gemstash is designed for as minimal setup as possible, there
|
|
7
5
|
may be times you will want to change some of the default configuration.
|
|
8
|
-
By the end of this guide, you will be able to customize
|
|
6
|
+
By the end of this guide, you will be able to customize some of the
|
|
9
7
|
Gemstash behavior, including where files are stored, what database Gem-
|
|
10
8
|
stash uses, and how Gemstash caches certain requests.
|
|
11
9
|
|
|
12
10
|
1mSetup0m
|
|
13
11
|
Several customizable options are available via an interactive Gemstash
|
|
14
|
-
command.
|
|
12
|
+
command. Run 1mgemstash setup 22mand answer the questions it provides (a
|
|
15
13
|
blank answer will use the default value):
|
|
16
14
|
|
|
17
15
|
$ gemstash setup
|
|
18
16
|
Where should files go? [~/.gemstash]
|
|
19
17
|
Cache with what? [MEMORY, memcached] 1mmemcached0m
|
|
20
|
-
What is
|
|
18
|
+
What is the comma separated Memcached servers? [local-
|
|
21
19
|
host:11211]
|
|
22
20
|
What database adapter? [SQLITE3, postgres, mysql, mysql2] 1mpost-0m
|
|
23
21
|
1mgres0m
|
|
@@ -27,11 +25,11 @@
|
|
|
27
25
|
The database is not available
|
|
28
26
|
Once you've answered the questions, some checks will be made to ensure
|
|
29
27
|
the configuration will work. For example, the database didn't exist in
|
|
30
|
-
the previous example, so the
|
|
31
|
-
wasn't saved. If the command passes, you may provide the --redo
|
|
28
|
+
the previous example, so the command failed and the configuration
|
|
29
|
+
wasn't saved. If the command passes, you may provide the 1m--redo 22moption
|
|
32
30
|
to force configuration to be redone:
|
|
33
31
|
|
|
34
|
-
$ gemstash setup --
|
|
32
|
+
1m$ gemstash setup --redo0m
|
|
35
33
|
Where should files go? [~/.gemstash]
|
|
36
34
|
Cache with what? [MEMORY, memcached] 1mmemcached0m
|
|
37
35
|
What is the comma separated Memcached servers? [local-
|
|
@@ -41,33 +39,33 @@
|
|
|
41
39
|
Checking that the database is available
|
|
42
40
|
You are all setup!
|
|
43
41
|
Once all checks have passed, Gemstash will store your answers in the
|
|
44
|
-
configuration file located at ~/.gemstash/config.
|
|
42
|
+
configuration file located at 1m~/.gemstash/config.yml22m.
|
|
45
43
|
|
|
46
44
|
1mFiles0m
|
|
47
|
-
Storage in Gemstash defaults to ~/.gemstash
|
|
48
|
-
You can change this in your config file via the :base_path
|
|
45
|
+
Storage in Gemstash defaults to 1m~/.gemstash 22munless otherwise specified.
|
|
46
|
+
You can change this in your config file via the 1m:base_path 22mkey:
|
|
49
47
|
|
|
50
48
|
# ~/.gemstash/config.yml
|
|
51
49
|
---
|
|
52
50
|
:base_path: "/var/gemstash"
|
|
53
51
|
|
|
54
|
-
When customizing the
|
|
55
|
-
Gemstash will fail to run. Thus, if you want to use /var/gemstash
|
|
56
|
-
in the previous example, make sure to
|
|
52
|
+
When customizing the 1mbase_path22m, the directory must exist, otherwise
|
|
53
|
+
Gemstash will fail to run. Thus, if you want to use 1m/var/gemstash 22mlike
|
|
54
|
+
in the previous example, make sure to 1mmkdir /var/gemstash 22mand grant ac-
|
|
57
55
|
cess to the directory for the user you run Gemstash with.
|
|
58
56
|
|
|
59
57
|
1mDatabase0m
|
|
60
|
-
The :db_adapter
|
|
61
|
-
using. The default :db_adapter
|
|
62
|
-
which will use
|
|
63
|
-
database file will always be named
|
|
58
|
+
The 1m:db_adapter 22mconfiguration key specifies what database you will be
|
|
59
|
+
using. The default 1m:db_adapter 22mis 1msqlite3 22m(https://www.sqlite.org/),
|
|
60
|
+
which will use a database file located within your 1m:base_path22m. The
|
|
61
|
+
database file will always be named 1mgemstash.db22m.
|
|
64
62
|
|
|
65
|
-
You may
|
|
66
|
-
(http://www.mysql.com/),
|
|
63
|
+
You may also use 1mpostgres 22m(http://www.postgresql.org/), 1mmysql0m
|
|
64
|
+
(http://www.mysql.com/), or 1mmysql2 22m(http://sequel.jeremye-
|
|
67
65
|
vans.net/rdoc/files/doc/opening_databases_rdoc.html#label-mysql2) for
|
|
68
|
-
your :
|
|
69
|
-
the :db_url
|
|
70
|
-
figuration to use the
|
|
66
|
+
your 1m:db_adapter22m. When using any of these options, you need to specify
|
|
67
|
+
the 1m:db_url 22mto point to an existing database. Here is an example con-
|
|
68
|
+
figuration to use the 1mpostgres 22madapter:
|
|
71
69
|
|
|
72
70
|
# ~/.gemstash/config.yml
|
|
73
71
|
---
|
|
@@ -78,10 +76,10 @@
|
|
|
78
76
|
:read_timeout: 5
|
|
79
77
|
:timeout: 30
|
|
80
78
|
|
|
81
|
-
Regardless of the adapter you choose, the database will
|
|
79
|
+
Regardless of the adapter you choose, the database will automatically
|
|
82
80
|
migrate to your version of Gemstash whenever the database is needed.
|
|
83
|
-
You only need to ensure the database exists and Gemstash
|
|
84
|
-
rest, except for
|
|
81
|
+
You only need to ensure the database exists and Gemstash will do the
|
|
82
|
+
rest, except for 1msqlite3 22m(for which Gemstash will also create the data-
|
|
85
83
|
base for you).
|
|
86
84
|
|
|
87
85
|
1mCache0m
|
|
@@ -93,15 +91,15 @@
|
|
|
93
91
|
:cache_type: memory
|
|
94
92
|
:cache_max_size: 2000
|
|
95
93
|
|
|
96
|
-
This configuration uses the default
|
|
97
|
-
|
|
94
|
+
This configuration uses the default 1mmemory 22mcache, and has increased the
|
|
95
|
+
1mcache_max_size 22msetting from its default of 500 items.
|
|
98
96
|
|
|
99
|
-
The memory cache
|
|
97
|
+
The memory cache can optionally be swapped out with a Memcached
|
|
100
98
|
(http://memcached.org/) server (or cluster of servers).
|
|
101
99
|
|
|
102
|
-
To use Memcached, use the
|
|
100
|
+
To use Memcached, use the 1mmemcached :cache_type 22mconfiguration.
|
|
103
101
|
|
|
104
|
-
Provide the servers as a comma-separated list to the :
|
|
102
|
+
Provide the servers as a comma-separated list to the 1m:memcached_servers0m
|
|
105
103
|
configuration key:
|
|
106
104
|
|
|
107
105
|
# ~/.gemstash/config.yml
|
|
@@ -110,19 +108,19 @@
|
|
|
110
108
|
:memcached_servers: memcached1.local:11211,memcached2.local:11211
|
|
111
109
|
:cache_expiration: 1800
|
|
112
110
|
|
|
113
|
-
All caching expires in
|
|
111
|
+
All caching expires in 1mcache_expiration 22mnumber of seconds. Default is
|
|
114
112
|
1800 seconds (30 minutes). This option applies to all caching.
|
|
115
113
|
|
|
116
114
|
1mServer0m
|
|
117
115
|
Gemstash uses Puma (http://puma.io/) and Rack (http://rack.github.io/)
|
|
118
116
|
as the server. Alternate server configurations are not currently sup-
|
|
119
|
-
ported, but you can take a look at the
|
|
117
|
+
ported, but you can take a look at the Puma configuration
|
|
120
118
|
(https://github.com/rubygems/gemstash/blob/master/lib/gemstash/puma.rb)
|
|
121
|
-
and the
|
|
119
|
+
and the rackup file (https://github.com/rubygems/gemstash/blob/mas-
|
|
122
120
|
ter/lib/gemstash/config.ru) for inspiration.
|
|
123
121
|
|
|
124
122
|
While the server is not customizable, the way Gemstash binds the port
|
|
125
|
-
can be changed.
|
|
123
|
+
can be changed. To change the binding, update the 1m:bind 22mconfiguration
|
|
126
124
|
key:
|
|
127
125
|
|
|
128
126
|
# ~/.gemstash/config.yml
|
|
@@ -133,12 +131,12 @@
|
|
|
133
131
|
(https://github.com/puma/puma#binding-tcp--sockets), and will support
|
|
134
132
|
anything valid for that flag.
|
|
135
133
|
|
|
136
|
-
The number of threads
|
|
137
|
-
:puma_threads
|
|
134
|
+
The number of threads Puma uses is also customizable via the
|
|
135
|
+
1m:puma_threads 22mconfiguration key. The default is 1m1622m.
|
|
138
136
|
|
|
139
137
|
1mProtected Fetch0m
|
|
140
|
-
Gemstash
|
|
141
|
-
Authenticated access is available via the :protected_fetch
|
|
138
|
+
Gemstash by default allows unauthenticated access for private gems.
|
|
139
|
+
Authenticated access is available via the 1m:protected_fetch 22mconfigura-
|
|
142
140
|
tion key.
|
|
143
141
|
|
|
144
142
|
# ~/.gemstash/config.yml
|
|
@@ -148,15 +146,22 @@
|
|
|
148
146
|
More details on protected_fetch are here.
|
|
149
147
|
|
|
150
148
|
1mFetch Timeout0m
|
|
151
|
-
The default fetch timeout is 20 seconds. Use the :fetch_timeout
|
|
149
|
+
The default fetch timeout is 20 seconds. Use the 1m:fetch_timeout 22mcon-
|
|
152
150
|
figuration key to change it.
|
|
153
151
|
|
|
154
152
|
---
|
|
155
153
|
:fetch_timeout: 20
|
|
156
154
|
|
|
155
|
+
1mOpen Timeout0m
|
|
156
|
+
The default connection open timeout is 2 seconds. Use the 1m:open_time-0m
|
|
157
|
+
1mout 22mconfiguration key to change it.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
:open_timeout: 2
|
|
161
|
+
|
|
157
162
|
1mConfig File Location0m
|
|
158
|
-
By
|
|
159
|
-
|
|
163
|
+
By default, configuration for Gemstash will be at 1m~/.gemstash/con-0m
|
|
164
|
+
1mfig.yml22m. This can be changed by providing the 1m--config-file 22moption to
|
|
160
165
|
the various Gemstash commands:
|
|
161
166
|
|
|
162
167
|
$ gemstash setup --config-file ./gemstash-config.yml
|
|
@@ -165,15 +170,15 @@
|
|
|
165
170
|
$ gemstash stop --config-file ./gemstash-config.yml
|
|
166
171
|
$ gemstash status --config-file ./gemstash-config.yml
|
|
167
172
|
|
|
168
|
-
When
|
|
169
|
-
be
|
|
170
|
-
existing
|
|
171
|
-
--config-file
|
|
172
|
-
|
|
173
|
+
When providing 1m--config-file 22mto 1mgemstash setup22m, the provided file will
|
|
174
|
+
be output to with the provided configuration. 1mThis will overwrite 22many
|
|
175
|
+
existing configuration. If the file doesn't exist when providing
|
|
176
|
+
1m--config-file 22mto 1mgemstash start22m, 1mgemstash stop22m, 1mgemstash status22m, and
|
|
177
|
+
1mgemstash authorize22m, the default configuration will be used.
|
|
173
178
|
|
|
174
179
|
1mERB parsed config0m
|
|
175
|
-
You
|
|
176
|
-
this will be used instead of ~/.gemstash/config.
|
|
180
|
+
You may also create a 1m~/.gemstash/config.yml.erb 22mfile. If present,
|
|
181
|
+
this will be used instead of 1m~/.gemstash/config.yml22m. For example, with
|
|
177
182
|
this you can use environment variables in the config:
|
|
178
183
|
|
|
179
184
|
# ~/.gemstash/config.yml.erb
|
|
@@ -181,4 +186,4 @@
|
|
|
181
186
|
:db_adapter: postgres
|
|
182
187
|
:db_url: <%= ENV["DATABASE_URL"] %>
|
|
183
188
|
|
|
184
|
-
October 28, 2015
|
|
189
|
+
October 28, 2015 4mgemstash-customize24m(7)
|
|
@@ -1,26 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
.\" Automatically generated by Pandoc 3.1.8
|
|
1
|
+
.\" Automatically generated by Pandoc 3.1.3
|
|
3
2
|
.\"
|
|
3
|
+
.\" Define V font for inline verbatim, using C font in formats
|
|
4
|
+
.\" that render this, and otherwise B font.
|
|
5
|
+
.ie "\f[CB]x\f[]"x" \{\
|
|
6
|
+
. ftr V B
|
|
7
|
+
. ftr VI BI
|
|
8
|
+
. ftr VB B
|
|
9
|
+
. ftr VBI BI
|
|
10
|
+
.\}
|
|
11
|
+
.el \{\
|
|
12
|
+
. ftr V CR
|
|
13
|
+
. ftr VI CI
|
|
14
|
+
. ftr VB CB
|
|
15
|
+
. ftr VBI CBI
|
|
16
|
+
.\}
|
|
4
17
|
.TH "gemstash-debugging" "7" "October 28, 2015" "" ""
|
|
18
|
+
.hy
|
|
5
19
|
.SH Debugging Gemstash
|
|
20
|
+
.PP
|
|
6
21
|
If you are finding Gemstash isn\[cq]t behaving as you would expect, you
|
|
7
22
|
might want to start by looking at the server log.
|
|
8
|
-
You can find the log at \f[
|
|
9
|
-
|
|
10
|
-
By default, this will be at \f[CR]\[ti]/.gemstash/server.log\f[R].
|
|
23
|
+
You can find the log at \f[V]server.log\f[R] within your base directory.
|
|
24
|
+
By default, this will be at \f[V]\[ti]/.gemstash/server.log\f[R].
|
|
11
25
|
.PP
|
|
12
26
|
You might find it easier to view the log directly in your terminal.
|
|
13
27
|
Gemstash outputs its log directly to standard out:
|
|
14
28
|
.IP
|
|
15
|
-
.
|
|
29
|
+
.nf
|
|
30
|
+
\f[C]
|
|
16
31
|
$ gemstash start
|
|
17
|
-
|
|
32
|
+
\f[R]
|
|
33
|
+
.fi
|
|
18
34
|
.PP
|
|
19
35
|
You can also check the status of the server:
|
|
20
36
|
.IP
|
|
21
|
-
.
|
|
37
|
+
.nf
|
|
38
|
+
\f[C]
|
|
22
39
|
$ gemstash status
|
|
23
|
-
|
|
40
|
+
\f[R]
|
|
41
|
+
.fi
|
|
24
42
|
.PP
|
|
25
43
|
The server status is checked by passing through to
|
|
26
44
|
pumactl (https://github.com/puma/puma#controlstatus-server).
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
4mgemstash-debugging24m(7) 4mgemstash-debugging24m(7)
|
|
2
2
|
|
|
3
|
-
<!-- Automatically generated by Pandoc -->
|
|
4
|
-
|
|
5
3
|
1mDebugging Gemstash0m
|
|
6
4
|
If you are finding Gemstash isn't behaving as you would expect, you
|
|
7
5
|
might want to start by looking at the server log. You can find the log
|
|
8
|
-
at
|
|
9
|
-
~/.gemstash/server.
|
|
6
|
+
at 1mserver.log 22mwithin your base directory. By default, this will be at
|
|
7
|
+
1m~/.gemstash/server.log22m.
|
|
10
8
|
|
|
11
|
-
You might find
|
|
9
|
+
You might find it easier to view the log directly in your terminal.
|
|
12
10
|
Gemstash outputs its log directly to standard out:
|
|
13
11
|
|
|
14
12
|
$ gemstash start
|
|
@@ -17,10 +15,10 @@
|
|
|
17
15
|
|
|
18
16
|
$ gemstash status
|
|
19
17
|
|
|
20
|
-
The server status is checked
|
|
18
|
+
The server status is checked by passing through to pumactl
|
|
21
19
|
(https://github.com/puma/puma#controlstatus-server).
|
|
22
20
|
|
|
23
|
-
If you find a
|
|
21
|
+
If you find a bug, please don't hesitate to open a bug report
|
|
24
22
|
(https://github.com/rubygems/gemstash#contributing)!
|
|
25
23
|
|
|
26
|
-
October 28, 2015
|
|
24
|
+
October 28, 2015 4mgemstash-debugging24m(7)
|