secret_hub 0.2.1 → 0.2.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55c57ad86eb27ea766d06923f3231e513dcb37da3050c6d1ac22de4831796140
4
- data.tar.gz: d653818ddfd5967f66761ad76512a027c0b7e1942c72a3f0b3e91ce4c99a7bc3
3
+ metadata.gz: 6395f8f799ffb59615d0c926519b74bc6c924c2696841a16f847f14e1750988c
4
+ data.tar.gz: 57a8dd0b5de09ea6ff62084a269e882a57a8197736e87a8caeeeed236ecb2817
5
5
  SHA512:
6
- metadata.gz: 3f7f20c2ac2b71264a73a33fae3436e22968083f3bb00855a5f3f74c0a0e528c80ac6b2d0d9d2a2ab374a19c2345212e1c79bed7601a3244fd8f08c4f981164d
7
- data.tar.gz: 8e4b87a3229d977c6c61c5629481517e4cdc945825e0e00b8343f629ab1d4811c6ab1958c6aaedc5258bcd75c9f75b4cde95fbb3cf141b427e7fa9f96f629b3a
6
+ metadata.gz: 385b7a968fbb014cfa1166e69dfa7c189af538d98e87f9df9ceaf07bd41f64137ae503732a2b25939edb71c9ee44cba811d5df2fe0ec53bcad7c557ed07d4049
7
+ data.tar.gz: 28994ec833f8cc308823e300922f28c132b184a7fe105d24c84f0c7e29a41a70525fe109d49ba9600c38427d02b03bc4b84d3e33a7bbda6c8d425649241ee377
data/bin/secrethub CHANGED
@@ -8,12 +8,12 @@ router = SecretHub::CLI.router
8
8
 
9
9
  begin
10
10
  exit router.run ARGV
11
- rescue Interrupt => e
11
+ rescue Interrupt
12
12
  say "\nGoodbye"
13
13
  exit 1
14
14
  rescue => e
15
15
  puts e.backtrace.reverse if ENV['DEBUG']
16
- say! "!txtred!#{e.class}"
16
+ say! "rib` #{e.class}`"
17
17
  say! e.message
18
18
  exit 1
19
- end
19
+ end
@@ -8,8 +8,8 @@ module SecretHub
8
8
  class CLI
9
9
  def self.router
10
10
  router = MisterBin::Runner.new version: VERSION,
11
- header: "GitHub Secret Manager",
12
- footer: "Run !txtpur!secrethub COMMAND --help!txtrst! for command specific help"
11
+ header: 'GitHub Secret Manager',
12
+ footer: 'Run m`secrethub COMMAND --help` for command specific help'
13
13
 
14
14
  router.route 'repo', to: Commands::Repo
15
15
  router.route 'org', to: Commands::Org
@@ -18,5 +18,4 @@ module SecretHub
18
18
  router
19
19
  end
20
20
  end
21
-
22
21
  end
@@ -10,7 +10,6 @@ module SecretHub
10
10
  def github
11
11
  @github ||= GitHubClient.new
12
12
  end
13
-
14
13
  end
15
14
  end
16
- end
15
+ end
@@ -6,45 +6,46 @@ module SecretHub
6
6
  class Bulk < Base
7
7
  using StringObfuscation
8
8
 
9
- summary "Manage multiple secrets in multiple repositories"
10
-
11
- usage "secrethub bulk init [CONFIG]"
12
- usage "secrethub bulk show [CONFIG --visible]"
13
- usage "secrethub bulk list [CONFIG]"
14
- usage "secrethub bulk save [CONFIG --clean --dry --only REPO]"
15
- usage "secrethub bulk clean [CONFIG --dry]"
16
- usage "secrethub bulk (-h|--help)"
17
-
18
- command "init", "Create a sample configuration file in the current directory"
19
- command "show", "Show the configuration file"
20
- command "save", "Save multiple secrets to multiple repositories"
21
- command "clean", "Delete secrets from multiple repositories unless they are specified in the config file"
22
- command "list", "Show all secrets in all repositories"
23
-
24
- option "-c, --clean", "Also delete any other secret not defined in the configuration file"
25
- option "-v, --visible", "Also show secret values"
26
- option "-d, --dry", "Dry run"
27
- option "-o, --only REPO", "Save all secrets to a single repository from the configuration file"
28
-
29
- param "CONFIG", "Path to the configuration file [default: secrethub.yml]"
30
-
31
- example "secrethub bulk init"
32
- example "secrethub bulk show --visible"
33
- example "secrethub bulk clean"
34
- example "secrethub bulk list mysecrets.yml"
35
- example "secrethub bulk save mysecrets.yml --dry"
36
- example "secrethub bulk save --clean"
37
- example "secrethub bulk save --only me/my-important-repo"
9
+ summary 'Manage multiple secrets in multiple repositories'
10
+
11
+ usage 'secrethub bulk init [CONFIG]'
12
+ usage 'secrethub bulk show [CONFIG --visible]'
13
+ usage 'secrethub bulk list [CONFIG]'
14
+ usage 'secrethub bulk save [CONFIG --clean --dry --only REPO]'
15
+ usage 'secrethub bulk clean [CONFIG --dry]'
16
+ usage 'secrethub bulk (-h|--help)'
17
+
18
+ command 'init', 'Create a sample configuration file in the current directory'
19
+ command 'show', 'Show the configuration file'
20
+ command 'save', 'Save multiple secrets to multiple repositories'
21
+ command 'clean', 'Delete secrets from multiple repositories unless they are specified in the config file'
22
+ command 'list', 'Show all secrets in all repositories'
23
+
24
+ option '-c, --clean', 'Also delete any other secret not defined in the configuration file'
25
+ option '-v, --visible', 'Also show secret values'
26
+ option '-d, --dry', 'Dry run'
27
+ option '-o, --only REPO', 'Save all secrets to a single repository from the configuration file'
28
+
29
+ param 'CONFIG', 'Path to the configuration file [default: secrethub.yml]'
30
+
31
+ example 'secrethub bulk init'
32
+ example 'secrethub bulk show --visible'
33
+ example 'secrethub bulk clean'
34
+ example 'secrethub bulk list mysecrets.yml'
35
+ example 'secrethub bulk save mysecrets.yml --dry'
36
+ example 'secrethub bulk save --clean'
37
+ example 'secrethub bulk save --only me/my-important-repo'
38
38
 
39
39
  def init_command
40
40
  raise SecretHubError, "File #{config_file} already exists" if File.exist? config_file
41
+
41
42
  FileUtils.cp config_template, config_file
42
- say "!txtgrn!Saved #{config_file}"
43
+ say "Saved g`#{config_file}`"
43
44
  end
44
45
 
45
46
  def show_command
46
47
  config.each do |repo, secrets|
47
- say "!txtblu!#{repo}:"
48
+ say "b`#{repo}`:"
48
49
  secrets.each do |key, value|
49
50
  show_secret key, value, args['--visible']
50
51
  end
@@ -53,9 +54,9 @@ module SecretHub
53
54
 
54
55
  def list_command
55
56
  config.each_repo do |repo|
56
- say "!txtblu!#{repo}:"
57
+ say "b`#{repo}`:"
57
58
  github.secrets(repo).each do |secret|
58
- say "- !txtpur!#{secret}"
59
+ say "- m`#{secret}`"
59
60
  end
60
61
  end
61
62
  end
@@ -66,22 +67,23 @@ module SecretHub
66
67
  skipped = 0
67
68
 
68
69
  config.each do |repo, secrets|
69
- next if only and repo != only
70
- say "!txtblu!#{repo}"
70
+ next if only && (repo != only)
71
+
72
+ say "b`#{repo}`"
71
73
  skipped += update_repo repo, secrets, dry
72
74
  clean_repo repo, secrets.keys, dry if args['--clean']
73
75
  end
74
76
 
75
- puts "\n" if skipped > 0 or dry
76
- say "Skipped #{skipped} missing secrets" if skipped > 0
77
- say "Dry run, nothing happened" if dry
77
+ puts "\n" if skipped.positive? || dry
78
+ say "Skipped #{skipped} missing secrets" if skipped.positive?
79
+ say 'Dry run, nothing happened' if dry
78
80
  end
79
81
 
80
82
  def clean_command
81
83
  dry = args['--dry']
82
84
 
83
85
  config.each do |repo, secrets|
84
- say "!txtblu!#{repo}"
86
+ say "b`#{repo}`"
85
87
  clean_repo repo, secrets.keys, dry
86
88
  end
87
89
 
@@ -95,9 +97,9 @@ module SecretHub
95
97
  delete_candidates = repo_keys - keys
96
98
 
97
99
  delete_candidates.each do |key|
98
- say "delete !txtpur!#{key} "
100
+ say "delete m`#{key}` "
99
101
  github.delete_secret repo, key unless dry
100
- say "!txtgrn!OK"
102
+ say 'g`OK`'
101
103
  end
102
104
  end
103
105
 
@@ -105,12 +107,12 @@ module SecretHub
105
107
  skipped = 0
106
108
 
107
109
  secrets.each do |key, value|
108
- say "save !txtpur!#{key} "
110
+ say "save m`#{key}` "
109
111
  if value
110
112
  github.put_secret repo, key, value unless dry
111
- say "!txtgrn!OK"
113
+ say 'g`OK`'
112
114
  else
113
- say "!txtred!MISSING"
115
+ say 'r`MISSING`'
114
116
  skipped += 1
115
117
  end
116
118
  end
@@ -121,9 +123,9 @@ module SecretHub
121
123
  def show_secret(key, value, visible)
122
124
  if value
123
125
  value = value.obfuscate unless visible
124
- say " !txtpur!#{key}: !txtcyn!#{value}"
126
+ say " m`#{key}`: c`#{value}`"
125
127
  else
126
- say " !txtpur!#{key}: !txtred!*MISSING*"
128
+ say " m`#{key}`: r`*MISSING*`"
127
129
  end
128
130
  end
129
131
 
@@ -1,41 +1,41 @@
1
1
  module SecretHub
2
2
  module Commands
3
3
  class Org < Base
4
- summary "Manage organization secrets"
5
-
6
- usage "secrethub org list ORG"
7
- usage "secrethub org save ORG KEY [VALUE]"
8
- usage "secrethub org delete ORG KEY"
9
- usage "secrethub org (-h|--help)"
10
-
11
- command "list", "Show all organization secrets"
12
- command "save", "Create or update an organization secret (with private repositories visibility)"
13
- command "delete", "Delete an organization secret"
14
-
15
- param "ORG", "Name of the organization"
16
- param "KEY", "The name of the secret"
17
- param "VALUE", "The plain text secret value. If not provided, it is expected to be set as an environment variable"
18
-
19
- example "secrethub org list myorg"
20
- example "secrethub org save myorg PASSWORD"
21
- example "secrethub org save myorg PASSWORD s3cr3t"
22
- example "secrethub org delete myorg PASSWORD"
4
+ summary 'Manage organization secrets'
5
+
6
+ usage 'secrethub org list ORG'
7
+ usage 'secrethub org save ORG KEY [VALUE]'
8
+ usage 'secrethub org delete ORG KEY'
9
+ usage 'secrethub org (-h|--help)'
10
+
11
+ command 'list', 'Show all organization secrets'
12
+ command 'save', 'Create or update an organization secret (with private repositories visibility)'
13
+ command 'delete', 'Delete an organization secret'
14
+
15
+ param 'ORG', 'Name of the organization'
16
+ param 'KEY', 'The name of the secret'
17
+ param 'VALUE', 'The plain text secret value. If not provided, it is expected to be set as an environment variable'
18
+
19
+ example 'secrethub org list myorg'
20
+ example 'secrethub org save myorg PASSWORD'
21
+ example 'secrethub org save myorg PASSWORD s3cr3t'
22
+ example 'secrethub org delete myorg PASSWORD'
23
23
 
24
24
  def list_command
25
- say "!txtblu!#{org}:"
25
+ say "b`#{org}`:"
26
26
  github.org_secrets(org).each do |secret|
27
- say "- !txtpur!#{secret}"
27
+ say "- m`#{secret}`"
28
28
  end
29
29
  end
30
30
 
31
- def save_command
31
+ def save_command
32
32
  github.put_org_secret org, key, value
33
- say "Saved !txtblu!#{org} !txtpur!#{key}"
33
+ say "Saved b`#{org}` m`#{key}`"
34
34
  end
35
35
 
36
36
  def delete_command
37
37
  github.delete_org_secret org, key
38
- say "Deleted !txtblu!#{org} !txtpur!#{key}"
38
+ say "Deleted b`#{org}` m`#{key}`"
39
39
  end
40
40
 
41
41
  private
@@ -50,13 +50,13 @@ module SecretHub
50
50
 
51
51
  def value
52
52
  result = args['VALUE'] || ENV[key]
53
- if result
54
- result
55
- else
56
- raise InvalidInput, "Please provide a value, either in the command line or in the environment variable '#{key}'"
53
+ unless result
54
+ raise InvalidInput,
55
+ "Please provide a value, either in the command line or in the environment variable '#{key}'"
57
56
  end
58
- end
59
57
 
58
+ result
59
+ end
60
60
  end
61
61
  end
62
62
  end
@@ -1,41 +1,41 @@
1
1
  module SecretHub
2
2
  module Commands
3
3
  class Repo < Base
4
- summary "Manage repository secrets"
5
-
6
- usage "secrethub repo list REPO"
7
- usage "secrethub repo save REPO KEY [VALUE]"
8
- usage "secrethub repo delete REPO KEY"
9
- usage "secrethub repo (-h|--help)"
10
-
11
- command "list", "Show all repository secrets"
12
- command "save", "Create or update a repository secret"
13
- command "delete", "Delete a repository secret"
14
-
15
- param "REPO", "Full name of the GitHub repository (user/repo)"
16
- param "KEY", "The name of the secret"
17
- param "VALUE", "The plain text secret value. If not provided, it is expected to be set as an environment variable"
18
-
19
- example "secrethub repo list me/myrepo"
20
- example "secrethub repo save me/myrepo PASSWORD"
21
- example "secrethub repo save me/myrepo PASSWORD s3cr3t"
22
- example "secrethub repo delete me/myrepo PASSWORD"
4
+ summary 'Manage repository secrets'
5
+
6
+ usage 'secrethub repo list REPO'
7
+ usage 'secrethub repo save REPO KEY [VALUE]'
8
+ usage 'secrethub repo delete REPO KEY'
9
+ usage 'secrethub repo (-h|--help)'
10
+
11
+ command 'list', 'Show all repository secrets'
12
+ command 'save', 'Create or update a repository secret'
13
+ command 'delete', 'Delete a repository secret'
14
+
15
+ param 'REPO', 'Full name of the GitHub repository (user/repo)'
16
+ param 'KEY', 'The name of the secret'
17
+ param 'VALUE', 'The plain text secret value. If not provided, it is expected to be set as an environment variable'
18
+
19
+ example 'secrethub repo list me/myrepo'
20
+ example 'secrethub repo save me/myrepo PASSWORD'
21
+ example 'secrethub repo save me/myrepo PASSWORD s3cr3t'
22
+ example 'secrethub repo delete me/myrepo PASSWORD'
23
23
 
24
24
  def list_command
25
- say "!txtblu!#{repo}:"
25
+ say "b`#{repo}`:"
26
26
  github.secrets(repo).each do |secret|
27
- say "- !txtpur!#{secret}"
27
+ say "- m`#{secret}`"
28
28
  end
29
29
  end
30
30
 
31
- def save_command
31
+ def save_command
32
32
  github.put_secret repo, key, value
33
- say "Saved !txtblu!#{repo} !txtpur!#{key}"
33
+ say "Saved b`#{repo}` m`#{key}`"
34
34
  end
35
35
 
36
36
  def delete_command
37
37
  github.delete_secret repo, key
38
- say "Deleted !txtblu!#{repo} !txtpur!#{key}"
38
+ say "Deleted b`#{repo}` m`#{key}`"
39
39
  end
40
40
 
41
41
  private
@@ -50,11 +50,12 @@ module SecretHub
50
50
 
51
51
  def value
52
52
  result = args['VALUE'] || ENV[key]
53
- if result
54
- result
55
- else
56
- raise InvalidInput, "Please provide a value, either in the command line or in the environment variable '#{key}'"
53
+ unless result
54
+ raise InvalidInput,
55
+ "Please provide a value, either in the command line or in the environment variable '#{key}'"
57
56
  end
57
+
58
+ result
58
59
  end
59
60
  end
60
61
  end
@@ -6,7 +6,12 @@ module SecretHub
6
6
 
7
7
  def self.load(config_file)
8
8
  raise ConfigurationError, "Config file not found #{config_file}" unless File.exist? config_file
9
+
10
+ new YAML.load_file config_file, aliases: true
11
+ rescue ArgumentError
12
+ # :nocov:
9
13
  new YAML.load_file config_file
14
+ # :nocov:
10
15
  end
11
16
 
12
17
  def initialize(data)
@@ -18,11 +23,11 @@ module SecretHub
18
23
  end
19
24
 
20
25
  def each(&block)
21
- to_h.each &block
26
+ to_h.each(&block)
22
27
  end
23
28
 
24
29
  def each_repo(&block)
25
- to_h.keys.each &block
30
+ to_h.keys.each(&block)
26
31
  end
27
32
 
28
33
  private
@@ -31,18 +36,20 @@ module SecretHub
31
36
  result = {}
32
37
  data.each do |repo, secrets|
33
38
  next unless repo.include? '/'
39
+
34
40
  result[repo] = resolve_secrets secrets
35
41
  end
36
42
  result
37
43
  end
38
44
 
39
45
  def resolve_secrets(secrets)
40
- secrets = [] unless secrets
41
-
42
- if secrets.is_a? Hash
43
- secrets.map { |key, value| [key, value || ENV[key]] }.to_h
44
- elsif secrets.is_a? Array
45
- secrets.map { |key| [key, ENV[key]] }.to_h
46
+ secrets ||= []
47
+
48
+ case secrets
49
+ when Hash
50
+ secrets.to_h { |key, value| [key, value || ENV[key]] }
51
+ when Array
52
+ secrets.to_h { |key| [key, ENV[key]] }
46
53
  end
47
54
  end
48
55
  end
@@ -2,7 +2,7 @@ module SecretHub
2
2
  SecretHubError = Class.new StandardError
3
3
  ConfigurationError = Class.new SecretHubError
4
4
  InvalidInput = Class.new SecretHubError
5
-
5
+
6
6
  class APIError < SecretHubError
7
7
  attr_reader :response
8
8
 
@@ -11,4 +11,4 @@ module SecretHub
11
11
  super "[#{response.code}] #{response.body}"
12
12
  end
13
13
  end
14
- end
14
+ end
@@ -39,8 +39,8 @@ module SecretHub
39
39
  secret = encrypt_for repo, value
40
40
  key_id = public_key(repo)['key_id']
41
41
  put "/repos/#{repo}/actions/secrets/#{name}",
42
- encrypted_value: secret,
43
- key_id: key_id
42
+ encrypted_value: secret,
43
+ key_id: key_id
44
44
  end
45
45
 
46
46
  # PUT /orgs/:org/actions/secrets/:secret_name
@@ -48,9 +48,9 @@ module SecretHub
48
48
  secret = encrypt_for org, value
49
49
  key_id = public_key(org)['key_id']
50
50
  put "/orgs/#{org}/actions/secrets/#{name}",
51
- encrypted_value: secret,
52
- key_id: key_id,
53
- visibility: 'private'
51
+ encrypted_value: secret,
52
+ key_id: key_id,
53
+ visibility: 'private'
54
54
  end
55
55
 
56
56
  # DELETE /repos/:owner/:repo/actions/secrets/:name
@@ -97,15 +97,14 @@ module SecretHub
97
97
  end
98
98
 
99
99
  def headers
100
- {
101
- "Authorization" => "token #{secret_token}",
102
- "User-Agent" => "SecretHub Gem"
100
+ {
101
+ 'Authorization' => "token #{secret_token}",
102
+ 'User-Agent' => 'SecretHub Gem',
103
103
  }
104
104
  end
105
105
 
106
106
  def secret_token
107
- ENV['GITHUB_ACCESS_TOKEN'] || raise(ConfigurationError, "Please set GITHUB_ACCESS_TOKEN")
107
+ ENV['GITHUB_ACCESS_TOKEN'] || raise(ConfigurationError, 'Please set GITHUB_ACCESS_TOKEN')
108
108
  end
109
-
110
109
  end
111
110
  end
@@ -6,18 +6,18 @@ module SecretHub
6
6
  def obfuscate
7
7
  text = dup
8
8
  trim = false
9
-
9
+
10
10
  if text.size > 40
11
11
  trim = true
12
12
  text = text[0..40]
13
13
  end
14
-
14
+
15
15
  result = StringObfuscator.obfuscate text,
16
- percent: 60,
16
+ percent: 60,
17
17
  min_obfuscated_length: 5
18
18
 
19
19
  trim ? "#{result}..." : result
20
20
  end
21
21
  end
22
22
  end
23
- end
23
+ end
@@ -1,4 +1,4 @@
1
- require "base64"
1
+ require 'base64'
2
2
  require 'rbnacl'
3
3
 
4
4
  module SecretHub
@@ -1,3 +1,3 @@
1
1
  module SecretHub
2
- VERSION = "0.2.1"
3
- end
2
+ VERSION = '0.2.2'
3
+ end
data/lib/secret_hub.rb CHANGED
@@ -2,5 +2,3 @@ require 'secret_hub/version'
2
2
  require 'secret_hub/exceptions'
3
3
  require 'secret_hub/github_client'
4
4
  require 'secret_hub/config'
5
-
6
- require 'byebug' if ENV['BYEBUG']
metadata CHANGED
@@ -1,71 +1,91 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: secret_hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-18 00:00:00.000000000 Z
11
+ date: 2024-02-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mister_bin
14
+ name: colsole
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.8.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '2'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.8.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '2'
33
+ - !ruby/object:Gem::Dependency
34
+ name: httparty
15
35
  requirement: !ruby/object:Gem::Requirement
16
36
  requirements:
17
37
  - - "~>"
18
38
  - !ruby/object:Gem::Version
19
- version: '0.7'
39
+ version: '0.21'
20
40
  type: :runtime
21
41
  prerelease: false
22
42
  version_requirements: !ruby/object:Gem::Requirement
23
43
  requirements:
24
44
  - - "~>"
25
45
  - !ruby/object:Gem::Version
26
- version: '0.7'
46
+ version: '0.21'
27
47
  - !ruby/object:Gem::Dependency
28
- name: colsole
48
+ name: lp
29
49
  requirement: !ruby/object:Gem::Requirement
30
50
  requirements:
31
51
  - - "~>"
32
52
  - !ruby/object:Gem::Version
33
- version: '0.7'
53
+ version: '0.2'
34
54
  type: :runtime
35
55
  prerelease: false
36
56
  version_requirements: !ruby/object:Gem::Requirement
37
57
  requirements:
38
58
  - - "~>"
39
59
  - !ruby/object:Gem::Version
40
- version: '0.7'
60
+ version: '0.2'
41
61
  - !ruby/object:Gem::Dependency
42
- name: httparty
62
+ name: mister_bin
43
63
  requirement: !ruby/object:Gem::Requirement
44
64
  requirements:
45
65
  - - "~>"
46
66
  - !ruby/object:Gem::Version
47
- version: '0.17'
67
+ version: 0.7.3
48
68
  type: :runtime
49
69
  prerelease: false
50
70
  version_requirements: !ruby/object:Gem::Requirement
51
71
  requirements:
52
72
  - - "~>"
53
73
  - !ruby/object:Gem::Version
54
- version: '0.17'
74
+ version: 0.7.3
55
75
  - !ruby/object:Gem::Dependency
56
- name: lp
76
+ name: rackup
57
77
  requirement: !ruby/object:Gem::Requirement
58
78
  requirements:
59
79
  - - "~>"
60
80
  - !ruby/object:Gem::Version
61
- version: '0.2'
81
+ version: '2.1'
62
82
  type: :runtime
63
83
  prerelease: false
64
84
  version_requirements: !ruby/object:Gem::Requirement
65
85
  requirements:
66
86
  - - "~>"
67
87
  - !ruby/object:Gem::Version
68
- version: '0.2'
88
+ version: '2.1'
69
89
  - !ruby/object:Gem::Dependency
70
90
  name: rbnacl
71
91
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +114,34 @@ dependencies:
94
114
  - - "~>"
95
115
  - !ruby/object:Gem::Version
96
116
  version: '0.1'
117
+ - !ruby/object:Gem::Dependency
118
+ name: bigdecimal
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: csv
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :runtime
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
97
145
  description: Command line interface for managing GitHub secrets in bulk
98
146
  email: db@dannyben.com
99
147
  executables:
@@ -119,8 +167,9 @@ files:
119
167
  homepage: https://github.com/dannyben/secret_hub
120
168
  licenses:
121
169
  - MIT
122
- metadata: {}
123
- post_install_message:
170
+ metadata:
171
+ rubygems_mfa_required: 'true'
172
+ post_install_message:
124
173
  rdoc_options: []
125
174
  require_paths:
126
175
  - lib
@@ -128,15 +177,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
128
177
  requirements:
129
178
  - - ">="
130
179
  - !ruby/object:Gem::Version
131
- version: 2.4.0
180
+ version: '3.0'
132
181
  required_rubygems_version: !ruby/object:Gem::Requirement
133
182
  requirements:
134
183
  - - ">="
135
184
  - !ruby/object:Gem::Version
136
185
  version: '0'
137
186
  requirements: []
138
- rubygems_version: 3.1.2
139
- signing_key:
187
+ rubygems_version: 3.5.6
188
+ signing_key:
140
189
  specification_version: 4
141
190
  summary: Manage GitHub secrets over multiple repositories
142
191
  test_files: []