gemstash 2.3.2 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -36
  3. data/lib/gemstash/authorization.rb +5 -2
  4. data/lib/gemstash/cli/authorize.rb +42 -1
  5. data/lib/gemstash/cli.rb +4 -0
  6. data/lib/gemstash/db/authorization.rb +3 -3
  7. data/lib/gemstash/man/gemstash-authorize.1 +21 -33
  8. data/lib/gemstash/man/gemstash-authorize.1.txt +23 -15
  9. data/lib/gemstash/man/gemstash-configuration.5 +63 -118
  10. data/lib/gemstash/man/gemstash-configuration.5.txt +54 -54
  11. data/lib/gemstash/man/gemstash-customize.7 +60 -103
  12. data/lib/gemstash/man/gemstash-customize.7.txt +35 -35
  13. data/lib/gemstash/man/gemstash-debugging.7 +8 -27
  14. data/lib/gemstash/man/gemstash-debugging.7.txt +6 -6
  15. data/lib/gemstash/man/gemstash-deploy.7 +15 -39
  16. data/lib/gemstash/man/gemstash-deploy.7.txt +16 -16
  17. data/lib/gemstash/man/gemstash-mirror.7 +10 -31
  18. data/lib/gemstash/man/gemstash-mirror.7.txt +3 -3
  19. data/lib/gemstash/man/gemstash-multiple-sources.7 +17 -44
  20. data/lib/gemstash/man/gemstash-multiple-sources.7.txt +8 -8
  21. data/lib/gemstash/man/gemstash-private-gems.7 +51 -102
  22. data/lib/gemstash/man/gemstash-private-gems.7.txt +21 -21
  23. data/lib/gemstash/man/gemstash-readme.7 +29 -75
  24. data/lib/gemstash/man/gemstash-readme.7.txt +10 -10
  25. data/lib/gemstash/man/gemstash-setup.1 +13 -33
  26. data/lib/gemstash/man/gemstash-setup.1.txt +11 -11
  27. data/lib/gemstash/man/gemstash-start.1 +7 -25
  28. data/lib/gemstash/man/gemstash-start.1.txt +6 -6
  29. data/lib/gemstash/man/gemstash-status.1 +5 -23
  30. data/lib/gemstash/man/gemstash-status.1.txt +4 -4
  31. data/lib/gemstash/man/gemstash-stop.1 +5 -23
  32. data/lib/gemstash/man/gemstash-stop.1.txt +4 -4
  33. data/lib/gemstash/man/gemstash-version.1 +4 -24
  34. data/lib/gemstash/man/gemstash-version.1.txt +1 -1
  35. data/lib/gemstash/migrations/05_authorization_names.rb +10 -0
  36. data/lib/gemstash/version.rb +1 -1
  37. metadata +18 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 912995cae585f3bc5fb9a4b1e1737fc9ef8afdfc47892d66e6360374dc37dc40
4
- data.tar.gz: d6b0c0e60e4dba8ea22113b29f02f19817e79b1a83fb335ee3901a3840df5d85
3
+ metadata.gz: d58f7aa439647ca176542a5baa37d06ecc97a932d01c865dfc6c84ced8339eec
4
+ data.tar.gz: 5c2509224be5415b8beb839973c529d58cb76986bb93a4231069122974b85179
5
5
  SHA512:
6
- metadata.gz: ef4f8e1a2e605b727ecb3209ae78e8f178e6b4967c3c98f431be973760cec50a6321cbac294817a201017cdc574ff6a849b02db8b6545cc87d938c4d3d7866ee
7
- data.tar.gz: 4eea0daecfdb6686801d540f356db7673a87d3075b88fffb62ef6e730e55139e4cac7b287f456de4c07d2ff4caf2aebda3cc27f1818e5d8d3d4bd42a96f78de9
6
+ metadata.gz: becd0a79decd3a755c9867935e942854b614b2bbfa03a1928a770aed8faa9b4fcbd1d4f672c60cd01d45d9ebd20d591f2d4e30da0076bbe6d966cbea76b123eb
7
+ data.tar.gz: f775af62ccd3e2c5efada9cd41208fcbf060bfe2ab23a16fe79f70947d171a403d43aa2e4f96a48c78b73e5045f5aeda07af1e0d3fa80a210ffefd015cbc6ace
data/CHANGELOG.md CHANGED
@@ -1,57 +1,56 @@
1
- ## 2.3.2 (2023-09-14)
1
+ ## 2.4.0 (2023-09-27)
2
+
3
+ ### Changes
2
4
 
3
- https://github.com/rubygems/gemstash/compare/v2.3.1...v2.3.2
5
+ - Support naming and listing authorizations ([#365](https://github.com/rubygems/gemstash/pull/365), [@kyrofa](https://github.com/kyrofa))
6
+
7
+ ## 2.3.2 (2023-09-14)
4
8
 
5
9
  ### Fixes
6
10
 
7
- - Require a now-needed file for Puma 6. Thanks, [@ktreis][]! ([#362](https://github.com/rubygems/gemstash/pull/362), [@olleolleolle][])
11
+ - Require a now-needed file for Puma 6. Thanks, [@ktreis][]! ([#362](https://github.com/rubygems/gemstash/pull/362), [@olleolleolle](https://github.com/olleolleolle))
8
12
 
9
13
  ## 2.3.1 (2023-09-05)
10
14
 
11
- https://github.com/rubygems/gemstash/compare/v2.3.0...v2.3.1
12
-
13
15
  ### Fixes
14
16
 
15
- - Reinstate Ruby Central in README. ([#353](https://github.com/rubygems/gemstash/pull/353), [@olleolleolle][])
16
- - Implement Puma 5-required logger method `#sync` ([#355](https://github.com/rubygems/gemstash/pull/355), [@ball-hayden][])
17
+ - Reinstate Ruby Central in README. ([#353](https://github.com/rubygems/gemstash/pull/353), [@olleolleolle](https://github.com/olleolleolle))
18
+ - Implement Puma 5-required logger method `#sync` ([#355](https://github.com/rubygems/gemstash/pull/355), [@ball-hayden](https://github.com/ball-hayden))
17
19
 
18
20
  ## 2.3.0 (2023-08-30)
19
21
 
20
- https://github.com/rubygems/gemstash/compare/v2.2.2...v2.3.0
21
-
22
22
  ### Changes
23
23
 
24
- - Support Puma 6. ([#335](https://github.com/rubygems/gemstash/pull/335), [@MSP-Greg][])
25
- - Make UpstreamSource intermediate specs from upstream. ([#337](https://github.com/rubygems/gemstash/pull/337), [@tedgarb][])
26
- - Mention RubyCentral. ([#338](https://github.com/rubygems/gemstash/pull/338), [@adarsh][])
27
- - Configure Dependabot. ([#341](https://github.com/rubygems/gemstash/pull/341), [@olleolleolle][])
24
+ - Support Puma 6. ([#335](https://github.com/rubygems/gemstash/pull/335), [@MSP-Greg](https://github.com/MSP-Greg))
25
+ - Make UpstreamSource intermediate specs from upstream. ([#337](https://github.com/rubygems/gemstash/pull/337), [@tedgarb](https://github.com/tedgarb))
26
+ - Mention RubyCentral. ([#338](https://github.com/rubygems/gemstash/pull/338), [@adarsh](https://github.com/adarsh))
27
+ - Configure Dependabot. ([#341](https://github.com/rubygems/gemstash/pull/341), [@olleolleolle](https://github.com/olleolleolle))
28
28
 
29
29
  ## 2.2.2 (2023-03-03)
30
30
 
31
31
  ### Changes
32
32
 
33
- - Allow newer versions of the `activesupport` dependency ([#332](https://github.com/rubygems/gemstash/pull/332), [@kyrofa][])
33
+ - Allow newer versions of the `activesupport` dependency ([#332](https://github.com/rubygems/gemstash/pull/332), [@kyrofa](https://github.com/kyrofa))
34
34
 
35
35
  ## 2.2.1 (2023-02-09)
36
36
 
37
37
  ### Bugfixes
38
38
 
39
- - Add permitted classes to a `YAML.load` in cache ([#329](https://github.com/rubygems/gemstash/pull/329), [@SocalNick][])
39
+ - Add permitted classes to a `YAML.load` in cache ([#329](https://github.com/rubygems/gemstash/pull/329), [@SocalNick](https://github.com/SocialNick))
40
40
 
41
41
  ## 2.2.0 (2023-01-27)
42
42
 
43
43
  ### Bugfixes
44
44
 
45
- - Respect auth set in upstream host uri ([#317](https://github.com/rubygems/gemstash/pull/317), [@jebentier][])
46
- - Change the response code for "/versions" from 403 to 404 ([#326](https://github.com/rubygems/gemstash/pull/326), [@hendric-dev][])
45
+ - Respect auth set in upstream host uri ([#317](https://github.com/rubygems/gemstash/pull/317), [@jebentier](https://github.com/jbentier))
46
+ - Change the response code for "/versions" from 403 to 404 ([#326](https://github.com/rubygems/gemstash/pull/326), [@hendric-dev](https://github.com/hendric-dev))
47
47
 
48
48
  ### Changes
49
49
 
50
- - Support Ruby 3 ([#312](https://github.com/rubygems/gemstash/pull/312), [@tonytonyjan][])
51
- - Drop support for EOL Ruby versions 2.4, 2.5, 2.6 ([#328](https://github.com/rubygems/gemstash/pull/328), [@indirect][])
52
- - Update `dalli` dependency ([#324](https://github.com/rubygems/gemstash/pull/324), [@indirect][])
53
-
54
- Also thanks to: [@indirect][] and [@hsbt][] who fixed CI issues and lint warnings.
50
+ - Support Ruby 3 ([#312](https://github.com/rubygems/gemstash/pull/312), [@tonytonyjan](https://github.com/tonytonyjan))
51
+ - Drop support for EOL Ruby versions 2.4, 2.5, 2.6 ([#328](https://github.com/rubygems/gemstash/pull/328), [@indirect](https://github.com/indirect))
52
+ - Update `dalli` dependency ([#324](https://github.com/rubygems/gemstash/pull/324), [@indirect](https://github.com/indirect))
53
+ - Also thanks to: [@indirect][] and [@hsbt][] who fixed CI issues and lint warnings.
55
54
 
56
55
  ## 2.1.0 (2020-02-26)
57
56
 
@@ -290,17 +289,3 @@ Also thanks to: [@indirect][] and [@hsbt][] who fixed CI issues and lint warning
290
289
  - Various fixes 2 ([#47](https://github.com/bundler/gemstash/pull/47), [@smellsblue](https://github.com/smellsblue))
291
290
  - Various fixes 3 ([#49](https://github.com/bundler/gemstash/pull/49), [@smellsblue](https://github.com/smellsblue))
292
291
  - Add Gemtash logo ([#50](https://github.com/bundler/gemstash/pull/50), [@jonathanrieta](https://github.com/jonathanrieta))
293
-
294
- [@SocalNick]: https://github.com/SocalNick
295
- [@hendric-dev]: https://github.com/hendric-dev
296
- [@hsbt]: https://github.com/hsbt
297
- [@indirect]: https://github.com/indirect
298
- [@jebentier]: https://github.com/jebentier
299
- [@kyrofa]: https://github.com/kyrofa
300
- [@tonytonyjan]: https://github.com/tonytonyjan
301
- [@MSP-Greg]: https://github.com/MSP-Greg
302
- [@tedgarb]: https://github.com/tedgarb
303
- [@adarsh]: https://github.com/adarsh
304
- [@olleolleolle]: https://github.com/olleolleolle
305
- [@ball-hayden]: https://github.com/ball-hayden
306
- [@ktreis]: https://github.com/ktreis
@@ -13,7 +13,9 @@ module Gemstash
13
13
  extend Gemstash::Logging
14
14
  VALID_PERMISSIONS = %w[push yank fetch].freeze
15
15
 
16
- def self.authorize(auth_key, permissions)
16
+ attr_reader :name
17
+
18
+ def self.authorize(auth_key, permissions, name = nil)
17
19
  raise "Authorization key is required!" if auth_key.to_s.strip.empty?
18
20
  raise "Permissions are required!" if permissions.to_s.empty?
19
21
 
@@ -25,7 +27,7 @@ module Gemstash
25
27
  permissions = permissions.join(",")
26
28
  end
27
29
 
28
- Gemstash::DB::Authorization.insert_or_update(auth_key, permissions)
30
+ Gemstash::DB::Authorization.insert_or_update(auth_key, permissions, name)
29
31
  gemstash_env.cache.invalidate_authorization(auth_key)
30
32
  log.info "Authorization '#{auth_key}' updated with access to '#{permissions}'"
31
33
  end
@@ -62,6 +64,7 @@ module Gemstash
62
64
 
63
65
  def initialize(record)
64
66
  @auth_key = record.auth_key
67
+ @name = record.name
65
68
  @all = record.permissions == "all"
66
69
  @permissions = Set.new(record.permissions.split(","))
67
70
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "gemstash"
4
4
  require "securerandom"
5
+ require "terminal-table"
5
6
 
6
7
  module Gemstash
7
8
  class CLI
@@ -12,8 +13,13 @@ module Gemstash
12
13
  prepare
13
14
  setup_logging
14
15
 
16
+ # Catch invalid option combinations
17
+ raise Gemstash::CLI::Error.new(@cli, "--remove and --list cannot both be used") if @cli.options[:remove] && @cli.options[:list]
18
+
15
19
  if @cli.options[:remove]
16
20
  remove_authorization
21
+ elsif @cli.options[:list]
22
+ list_authorizations
17
23
  else
18
24
  save_authorization
19
25
  end
@@ -26,6 +32,8 @@ module Gemstash
26
32
  end
27
33
 
28
34
  def remove_authorization
35
+ raise Gemstash::CLI::Error.new(@cli, "--name cannot be used with --remove") if @cli.options[:remove] && @cli.options[:name]
36
+
29
37
  unless @args.empty?
30
38
  raise Gemstash::CLI::Error.new(@cli, "To remove individual permissions, you do not need --remove
31
39
  Instead just authorize with the new set of permissions")
@@ -43,7 +51,24 @@ Instead just authorize with the new set of permissions")
43
51
  end
44
52
  end
45
53
 
46
- Gemstash::Authorization.authorize(auth_key, permissions)
54
+ begin
55
+ name = @cli.options[:name]
56
+ Gemstash::Authorization.authorize(auth_key, permissions, name)
57
+ rescue Sequel::UniqueConstraintViolation => e
58
+ raise unless name && e.message.include?("authorizations.name")
59
+
60
+ raise Gemstash::CLI::Error.new(@cli, "Authorization with name '#{name}' already exists")
61
+ end
62
+ end
63
+
64
+ def list_authorizations
65
+ raise Gemstash::CLI::Error.new(@cli, "--key and --name cannot both be used with --list") if @cli.options[:name] && @cli.options[:key]
66
+
67
+ rows = map_authorizations(@cli.options[:key], @cli.options[:name]) do |authorization|
68
+ [authorization.name, authorization.auth_key, authorization.permissions]
69
+ end
70
+
71
+ @cli.say Terminal::Table.new :headings => %w[Name Key Permissions], :rows => rows
47
72
  end
48
73
 
49
74
  def auth_key(allow_generate: true)
@@ -66,6 +91,22 @@ Instead just authorize with the new set of permissions")
66
91
  @args
67
92
  end
68
93
  end
94
+
95
+ def map_authorizations(key = nil, name = nil, &block)
96
+ return Gemstash::DB::Authorization.map(&block) unless name || key
97
+
98
+ authorization = if name
99
+ Gemstash::DB::Authorization[name: name].tap do |authorization|
100
+ raise Gemstash::CLI::Error.new(@cli, "No authorization named '#{name}'") unless authorization
101
+ end
102
+ else
103
+ Gemstash::DB::Authorization[auth_key: key].tap do |authorization|
104
+ raise Gemstash::CLI::Error.new(@cli, "No authorization with key '#{key}'") unless authorization
105
+ end
106
+ end
107
+
108
+ [yield(authorization)]
109
+ end
69
110
  end
70
111
  end
71
112
  end
data/lib/gemstash/cli.rb CHANGED
@@ -51,10 +51,14 @@ module Gemstash
51
51
  desc "authorize [PERMISSIONS...]", "Add authorizations to push/yank private gems"
52
52
  method_option :remove, :type => :boolean, :default => false, :desc =>
53
53
  "Remove an authorization key"
54
+ method_option :list, :type => :boolean, :default => false, :desc =>
55
+ "List existing authorization keys"
54
56
  method_option :config_file, :type => :string, :desc =>
55
57
  "Config file to save to"
56
58
  method_option :key, :type => :string, :desc =>
57
59
  "Authorization key to create/update/delete (optional unless deleting)"
60
+ method_option :name, :type => :string, :desc =>
61
+ "Name of the key (optional)"
58
62
  def authorize(*args)
59
63
  Gemstash::CLI::Authorize.new(self, *args).run
60
64
  end
@@ -6,14 +6,14 @@ module Gemstash
6
6
  module DB
7
7
  # Sequel model for authorizations table.
8
8
  class Authorization < Sequel::Model
9
- def self.insert_or_update(auth_key, permissions)
9
+ def self.insert_or_update(auth_key, permissions, name = nil)
10
10
  db.transaction do
11
11
  record = self[auth_key: auth_key]
12
12
 
13
13
  if record
14
- record.update(permissions: permissions)
14
+ record.update(permissions: permissions, name: name)
15
15
  else
16
- create(auth_key: auth_key, permissions: permissions)
16
+ create(auth_key: auth_key, permissions: permissions, name: name)
17
17
  end
18
18
  end
19
19
  end
@@ -1,66 +1,54 @@
1
1
  <!-- Automatically generated by Pandoc -->
2
- .\" Automatically generated by Pandoc 3.1.6.2
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-authorize" "1" "October 9, 2015" "" ""
19
- .hy
20
5
  .SH Name
21
- .PP
22
6
  gemstash-authorize - Adds or removes authorization to interact with
23
7
  privately stored gems
24
8
  .SH Synopsis
25
- .PP
26
- \f[V]gemstash authorize [permissions] [--remove] [--key SECURE_KEY] [--config-file FILE]\f[R]
9
+ \f[CR]gemstash authorize [permissions] [--remove] [--list] [--key SECURE_KEY] [--name NAME] [--config-file FILE]\f[R]
27
10
  .SH Description
28
- .PP
29
11
  Adds or removes authorization to interact with privately stored gems.
30
12
  .PP
31
13
  Any arguments will be used as specific permissions.
32
- Valid permissions include \f[V]push\f[R], \f[V]yank\f[R], and
33
- \f[V]fetch\f[R].
14
+ Valid permissions include \f[CR]push\f[R], \f[CR]yank\f[R], and
15
+ \f[CR]fetch\f[R].
34
16
  If no permissions are provided, then all permissions will be granted
35
17
  (including any that may be added in future versions of Gemstash).
36
18
  .SS Usage
37
19
  .IP
38
- .nf
39
- \f[C]
20
+ .EX
40
21
  gemstash authorize
41
22
  gemstash authorize push yank
23
+ gemstash authorize push --name my-auth
42
24
  gemstash authorize yank --key <secure-key>
43
25
  gemstash authorize --remove --key <secure-key>
44
- \f[R]
45
- .fi
26
+ gemstash authorize --list
27
+ .EE
46
28
  .SH Options
47
29
  .IP \[bu] 2
48
- \f[V]--config-file FILE\f[R]: Specify the config file to use.
30
+ \f[CR]--config-file FILE\f[R]: Specify the config file to use.
49
31
  If you aren\[cq]t using the default config file at
50
- \f[V]\[ti]/.gemstash/config.yml\f[R] or
51
- \f[V]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
32
+ \f[CR]\[ti]/.gemstash/config.yml\f[R] or
33
+ \f[CR]\[ti]/.gemstash/config.yml.erb\f[R], then you must specify the
52
34
  config file via this option.
53
35
  .IP \[bu] 2
54
- \f[V]--key SECURE_KEY\f[R]: Specify the API key to affect.
36
+ \f[CR]--key SECURE_KEY\f[R]: Specify the API key to affect.
55
37
  This should be the actual key value, not a name.
56
- This option is required when using \f[V]--remove\f[R] but is optional
38
+ This option is required when using \f[CR]--remove\f[R] but is optional
57
39
  otherwise.
58
40
  If adding an authorization, using this will either create or update the
59
41
  permissions for the specified API key.
60
42
  If missing, a new API key will always be generated.
61
43
  Note that a key can only have a maximum length of 255 chars.
62
44
  .IP \[bu] 2
63
- \f[V]--remove\f[R]: Remove an authorization rather than add or update
45
+ \f[CR]--name\f[R]: Name of the authorization.
46
+ Purely for ease of identification, not required.
47
+ .IP \[bu] 2
48
+ \f[CR]--remove\f[R]: Remove an authorization rather than add or update
64
49
  one.
65
50
  When removing, permission values are not allowed.
66
- The \f[V]--key <secure-key>\f[R] option is required.
51
+ The \f[CR]--key <secure-key>\f[R] option is required.
52
+ .IP \[bu] 2
53
+ \f[CR]--list\f[R]: List current authorizations.
54
+ Provide \f[CR]--name\f[R] or \f[CR]--key\f[R] to show only one result.
@@ -7,38 +7,46 @@
7
7
  privately stored gems
8
8
 
9
9
  1mSynopsis0m
10
- 1mgemstash authorize [permissions] [--remove] [--key SECURE_KEY] [--con-0m
11
- 1mfig-file FILE]0m
10
+ gemstash authorize [permissions] [--remove] [--list] [--key SECURE_KEY]
11
+ [--name NAME] [--config-file FILE]
12
12
 
13
13
  1mDescription0m
14
14
  Adds or removes authorization to interact with privately stored gems.
15
15
 
16
- Any arguments will be used as specific permissions. Valid permissions
17
- include 1mpush22m, 1myank22m, and 1mfetch22m. If no permissions are provided, then
16
+ Any arguments will be used as specific permissions. Valid permissions
17
+ include push, yank, and fetch. If no permissions are provided, then
18
18
  all permissions will be granted (including any that may be added in fu-
19
19
  ture versions of Gemstash).
20
20
 
21
21
  1mUsage0m
22
22
  gemstash authorize
23
23
  gemstash authorize push yank
24
+ gemstash authorize push --name my-auth
24
25
  gemstash authorize yank --key <secure-key>
25
26
  gemstash authorize --remove --key <secure-key>
27
+ gemstash authorize --list
26
28
 
27
29
  1mOptions0m
28
- o 1m--config-file FILE22m: Specify the config file to use. If you aren't
29
- using the default config file at 1m~/.gemstash/config.yml 22mor 1m~/.gem-0m
30
- 1mstash/config.yml.erb22m, then you must specify the config file via this
30
+ o --config-file FILE: Specify the config file to use. If you aren't
31
+ using the default config file at ~/.gemstash/config.yml or ~/.gem-
32
+ stash/config.yml.erb, then you must specify the config file via this
31
33
  option.
32
34
 
33
- o 1m--key SECURE_KEY22m: Specify the API key to affect. This should be the
34
- actual key value, not a name. This option is required when using
35
- 1m--remove 22mbut is optional otherwise. If adding an authorization, us-
36
- ing this will either create or update the permissions for the speci-
37
- fied API key. If missing, a new API key will always be generated.
35
+ o --key SECURE_KEY: Specify the API key to affect. This should be the
36
+ actual key value, not a name. This option is required when using
37
+ --remove but is optional otherwise. If adding an authorization, us-
38
+ ing this will either create or update the permissions for the speci-
39
+ fied API key. If missing, a new API key will always be generated.
38
40
  Note that a key can only have a maximum length of 255 chars.
39
41
 
40
- o 1m--remove22m: Remove an authorization rather than add or update one.
41
- When removing, permission values are not allowed. The 1m--key <secure-0m
42
- 1mkey> 22moption is required.
42
+ o --name: Name of the authorization. Purely for ease of identifica-
43
+ tion, not required.
44
+
45
+ o --remove: Remove an authorization rather than add or update one.
46
+ When removing, permission values are not allowed. The --key <secure-
47
+ key> option is required.
48
+
49
+ o --list: List current authorizations. Provide --name or --key to show
50
+ only one result.
43
51
 
44
52
  October 9, 2015 4mgemstash-authorize24m(1)