gemstash 2.0.0 → 2.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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/exe/gemstash +3 -0
  3. data/lib/gemstash.rb +2 -0
  4. data/lib/gemstash/api_key_authorization.rb +3 -0
  5. data/lib/gemstash/authorization.rb +7 -3
  6. data/lib/gemstash/cache.rb +5 -2
  7. data/lib/gemstash/cli.rb +2 -0
  8. data/lib/gemstash/cli/authorize.rb +3 -3
  9. data/lib/gemstash/cli/base.rb +4 -1
  10. data/lib/gemstash/cli/setup.rb +8 -1
  11. data/lib/gemstash/cli/start.rb +4 -1
  12. data/lib/gemstash/cli/status.rb +2 -0
  13. data/lib/gemstash/cli/stop.rb +2 -0
  14. data/lib/gemstash/config.ru +3 -3
  15. data/lib/gemstash/configuration.rb +7 -1
  16. data/lib/gemstash/db.rb +3 -0
  17. data/lib/gemstash/db/authorization.rb +2 -0
  18. data/lib/gemstash/db/cached_rubygem.rb +3 -0
  19. data/lib/gemstash/db/dependency.rb +2 -0
  20. data/lib/gemstash/db/rubygem.rb +3 -0
  21. data/lib/gemstash/db/upstream.rb +3 -0
  22. data/lib/gemstash/db/version.rb +3 -0
  23. data/lib/gemstash/dependencies.rb +4 -0
  24. data/lib/gemstash/env.rb +22 -4
  25. data/lib/gemstash/gem_fetcher.rb +2 -0
  26. data/lib/gemstash/gem_pusher.rb +5 -3
  27. data/lib/gemstash/gem_source.rb +2 -0
  28. data/lib/gemstash/gem_source/dependency_caching.rb +4 -4
  29. data/lib/gemstash/gem_source/private_source.rb +3 -0
  30. data/lib/gemstash/gem_source/rack_middleware.rb +3 -0
  31. data/lib/gemstash/gem_source/upstream_source.rb +9 -3
  32. data/lib/gemstash/gem_yanker.rb +4 -0
  33. data/lib/gemstash/health.rb +2 -0
  34. data/lib/gemstash/http_client.rb +4 -1
  35. data/lib/gemstash/logging.rb +2 -0
  36. data/lib/gemstash/man/gemstash-authorize.1 +51 -0
  37. data/lib/gemstash/man/gemstash-authorize.1.txt +33 -53
  38. data/lib/gemstash/man/gemstash-configuration.5 +229 -0
  39. data/lib/gemstash/man/gemstash-configuration.5.txt +150 -6
  40. data/lib/gemstash/man/gemstash-customize.7 +301 -0
  41. data/lib/gemstash/man/gemstash-customize.7.txt +183 -62
  42. data/lib/gemstash/man/gemstash-debugging.7 +34 -0
  43. data/lib/gemstash/man/gemstash-debugging.7.txt +17 -54
  44. data/lib/gemstash/man/gemstash-deploy.7 +72 -0
  45. data/lib/gemstash/man/gemstash-deploy.7.txt +44 -51
  46. data/lib/gemstash/man/gemstash-mirror.7 +40 -0
  47. data/lib/gemstash/man/gemstash-mirror.7.txt +20 -53
  48. data/lib/gemstash/man/gemstash-multiple-sources.7 +89 -0
  49. data/lib/gemstash/man/gemstash-multiple-sources.7.txt +53 -48
  50. data/lib/gemstash/man/gemstash-private-gems.7 +227 -0
  51. data/lib/gemstash/man/gemstash-private-gems.7.txt +108 -18
  52. data/lib/gemstash/man/gemstash-readme.7 +233 -0
  53. data/lib/gemstash/man/gemstash-readme.7.txt +126 -10
  54. data/lib/gemstash/man/gemstash-setup.1 +43 -0
  55. data/lib/gemstash/man/gemstash-setup.1.txt +28 -54
  56. data/lib/gemstash/man/gemstash-start.1 +26 -0
  57. data/lib/gemstash/man/gemstash-start.1.txt +16 -56
  58. data/lib/gemstash/man/gemstash-status.1 +20 -0
  59. data/lib/gemstash/man/gemstash-status.1.txt +13 -57
  60. data/lib/gemstash/man/gemstash-stop.1 +20 -0
  61. data/lib/gemstash/man/gemstash-stop.1.txt +13 -57
  62. data/lib/gemstash/man/gemstash-version.1 +22 -0
  63. data/lib/gemstash/man/gemstash-version.1.txt +12 -57
  64. data/lib/gemstash/migrations/01_gem_dependencies.rb +2 -0
  65. data/lib/gemstash/migrations/02_authorizations.rb +2 -0
  66. data/lib/gemstash/migrations/03_cached_gems.rb +2 -0
  67. data/lib/gemstash/migrations/04_health_tests.rb +2 -0
  68. data/lib/gemstash/puma.rb +2 -0
  69. data/lib/gemstash/rack_env_rewriter.rb +11 -2
  70. data/lib/gemstash/specs_builder.rb +5 -1
  71. data/lib/gemstash/storage.rb +12 -3
  72. data/lib/gemstash/upstream.rb +2 -0
  73. data/lib/gemstash/version.rb +3 -1
  74. data/lib/gemstash/web.rb +2 -0
  75. metadata +69 -22
@@ -0,0 +1,43 @@
1
+ .\" Automatically generated by Pandoc 2.5
2
+ .\"
3
+ .TH "gemstash\-setup" "1" "October 9, 2015" "" ""
4
+ .hy
5
+ .SH NAME
6
+ .PP
7
+ gemstash\-setup \- Customize your Gemstash configuration interactively
8
+ .SH SYNOPSIS
9
+ .PP
10
+ \f[C]gemstash setup [\-\-redo] [\-\-debug] [\-\-config\-file FILE]\f[R]
11
+ .SH DESCRIPTION
12
+ .PP
13
+ Customize your Gemstash configuration interactively.
14
+ This will save your config file, but only if a few checks pass after
15
+ you\[cq]ve provided your answers.
16
+ .SS USAGE
17
+ .IP
18
+ .nf
19
+ \f[C]
20
+ gemstash setup
21
+ gemstash setup \-\-redo
22
+ gemstash setup \-\-config\-file <file>
23
+ \f[R]
24
+ .fi
25
+ .SH OPTIONS
26
+ .IP \[bu] 2
27
+ \f[C]\-\-redo\f[R]: Redo the configuration.
28
+ This does nothing the first time \f[C]gemstash setup\f[R] is run.
29
+ If you want to change your configuration using \f[C]gemstash setup\f[R]
30
+ after you\[cq]ve run it before, you must provide this option, otherwise
31
+ Gemstash will simply indicate your setup is complete.
32
+ .IP \[bu] 2
33
+ \f[C]\-\-debug\f[R]: Output additional information if one of the checks
34
+ at the end of setup fails.
35
+ This will do nothing if all checks pass.
36
+ .IP \[bu] 2
37
+ \f[C]\-\-config\-file FILE\f[R]: Specify the config file to write to.
38
+ Without this option, your configuration will be written to
39
+ \f[C]\[ti]/.gemstash/config.yml\f[R].
40
+ If you write to a custom location, you will need to pass the
41
+ \f[C]\-\-config\-file\f[R] option to all Gemstash commands.
42
+ If you plan to use ERB in your config file (gemstash help customize.7),
43
+ you might want to use \f[C]\[ti]/.gemstash/config.yml.erb\f[R].
@@ -1,66 +1,40 @@
1
+ gemstash-setup(1) gemstash-setup(1)
1
2
 
2
3
 
3
4
 
5
+ 1mNAME0m
6
+ gemstash-setup - Customize your Gemstash configuration interactively
4
7
 
8
+ 1mSYNOPSIS0m
9
+ gemstash setup [--redo] [--debug] [--config-file FILE]
5
10
 
11
+ 1mDESCRIPTION0m
12
+ Customize your Gemstash configuration interactively. This will save
13
+ your config file, but only if a few checks pass after you've provided
14
+ your answers.
6
15
 
16
+ 1mUSAGE0m
17
+ gemstash setup
18
+ gemstash setup --redo
19
+ gemstash setup --config-file <file>
7
20
 
21
+ 1mOPTIONS0m
22
+ o --redo: Redo the configuration. This does nothing the first time
23
+ gemstash setup is run. If you want to change your configuration us-
24
+ ing gemstash setup after you've run it before, you must provide this
25
+ option, otherwise Gemstash will simply indicate your setup is com-
26
+ plete.
8
27
 
28
+ o --debug: Output additional information if one of the checks at the
29
+ end of setup fails. This will do nothing if all checks pass.
9
30
 
31
+ o --config-file FILE: Specify the config file to write to. Without
32
+ this option, your configuration will be written to ~/.gemstash/con-
33
+ fig.yml. If you write to a custom location, you will need to pass
34
+ the --config-file option to all Gemstash commands. If you plan to
35
+ use ERB in your config file (gemstash help customize.7), you might
36
+ want to use ~/.gemstash/config.yml.erb.
10
37
 
11
38
 
12
39
 
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
40
+ October 9, 2015 gemstash-setup(1)
@@ -0,0 +1,26 @@
1
+ .\" Automatically generated by Pandoc 2.5
2
+ .\"
3
+ .TH "gemstash\-start" "1" "October 9, 2015" "" ""
4
+ .hy
5
+ .SH NAME
6
+ .PP
7
+ gemstash\-start \- Starts the Gemstash server
8
+ .SH SYNOPSIS
9
+ .PP
10
+ \f[C]gemstash start [\-\-no\-daemonize] [\-\-config\-file FILE]\f[R]
11
+ .SH DESCRIPTION
12
+ .PP
13
+ Starts the Gemstash server.
14
+ .SH OPTIONS
15
+ .IP \[bu] 2
16
+ \f[C]\-\-config\-file FILE\f[R]: Specify the config file to use.
17
+ If you aren\[cq]t using the default config file at
18
+ \f[C]\[ti]/.gemstash/config.yml\f[R] or
19
+ \f[C]\[ti]/.gemstash/config.yml.erb\f[R] (gemstash help customize.7),
20
+ then you must specify the config file via this option.
21
+ .IP \[bu] 2
22
+ \f[C]\-\-no\-daemonize\f[R]: The Gemstash server daemonizes itself by
23
+ default.
24
+ Provide this option to instead run the server until \f[C]Ctrl\-C\f[R] is
25
+ typed.
26
+ When not daemonized, the log will be output to standard out.
@@ -1,66 +1,26 @@
1
+ gemstash-start(1) gemstash-start(1)
1
2
 
2
3
 
3
4
 
5
+ 1mNAME0m
6
+ gemstash-start - Starts the Gemstash server
4
7
 
8
+ 1mSYNOPSIS0m
9
+ gemstash start [--no-daemonize] [--config-file FILE]
5
10
 
11
+ 1mDESCRIPTION0m
12
+ Starts the Gemstash server.
6
13
 
14
+ 1mOPTIONS0m
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 (gemstash help customize.7), then you must spec-
18
+ ify the config file via this option.
7
19
 
20
+ o --no-daemonize: The Gemstash server daemonizes itself by default.
21
+ Provide this option to instead run the server until Ctrl-C is typed.
22
+ When not daemonized, the log will be output to standard out.
8
23
 
9
24
 
10
25
 
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
26
+ October 9, 2015 gemstash-start(1)
@@ -0,0 +1,20 @@
1
+ .\" Automatically generated by Pandoc 2.5
2
+ .\"
3
+ .TH "gemstash\-status" "1" "October 28, 2015" "" ""
4
+ .hy
5
+ .SH NAME
6
+ .PP
7
+ gemstash\-status \- Checks status of the Gemstash server
8
+ .SH SYNOPSIS
9
+ .PP
10
+ \f[C]gemstash status [\-\-config\-file FILE]\f[R]
11
+ .SH DESCRIPTION
12
+ .PP
13
+ Checks status of the Gemstash server.
14
+ .SH OPTIONS
15
+ .IP \[bu] 2
16
+ \f[C]\-\-config\-file FILE\f[R]: Specify the config file to use.
17
+ If you aren\[cq]t using the default config file at
18
+ \f[C]\[ti]/.gemstash/config.yml\f[R] or
19
+ \f[C]\[ti]/.gemstash/config.yml.erb\f[R] (gemstash help customize.7),
20
+ then you must specify the config file via this option.
@@ -1,66 +1,22 @@
1
+ gemstash-status(1) gemstash-status(1)
1
2
 
2
3
 
3
4
 
5
+ 1mNAME0m
6
+ gemstash-status - Checks status of the Gemstash server
4
7
 
8
+ 1mSYNOPSIS0m
9
+ gemstash status [--config-file FILE]
5
10
 
11
+ 1mDESCRIPTION0m
12
+ Checks status of the Gemstash server.
6
13
 
14
+ 1mOPTIONS0m
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 (gemstash help customize.7), then you must spec-
18
+ ify the config file via this option.
7
19
 
8
20
 
9
21
 
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
22
+ October 28, 2015 gemstash-status(1)
@@ -0,0 +1,20 @@
1
+ .\" Automatically generated by Pandoc 2.5
2
+ .\"
3
+ .TH "gemstash\-stop" "1" "October 9, 2015" "" ""
4
+ .hy
5
+ .SH NAME
6
+ .PP
7
+ gemstash\-stop \- Stops the Gemstash server
8
+ .SH SYNOPSIS
9
+ .PP
10
+ \f[C]gemstash stop [\-\-config\-file FILE]\f[R]
11
+ .SH DESCRIPTION
12
+ .PP
13
+ Stops the Gemstash server.
14
+ .SH OPTIONS
15
+ .IP \[bu] 2
16
+ \f[C]\-\-config\-file FILE\f[R]: Specify the config file to use.
17
+ If you aren\[cq]t using the default config file at
18
+ \f[C]\[ti]/.gemstash/config.yml\f[R] or
19
+ \f[C]\[ti]/.gemstash/config.yml.erb\f[R] (gemstash help customize.7),
20
+ then you must specify the config file via this option.
@@ -1,66 +1,22 @@
1
+ gemstash-stop(1) gemstash-stop(1)
1
2
 
2
3
 
3
4
 
5
+ 1mNAME0m
6
+ gemstash-stop - Stops the Gemstash server
4
7
 
8
+ 1mSYNOPSIS0m
9
+ gemstash stop [--config-file FILE]
5
10
 
11
+ 1mDESCRIPTION0m
12
+ Stops the Gemstash server.
6
13
 
14
+ 1mOPTIONS0m
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 (gemstash help customize.7), then you must spec-
18
+ ify the config file via this option.
7
19
 
8
20
 
9
21
 
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
22
+ October 9, 2015 gemstash-stop(1)