kbsecret 0.3.5 → 0.3.6
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/bin/kbsecret-dump-fields +1 -12
- data/bin/kbsecret-env +1 -12
- data/bin/kbsecret-list +1 -12
- data/bin/kbsecret-login +1 -12
- data/bin/kbsecret-new +1 -12
- data/bin/kbsecret-new-session +1 -12
- data/bin/kbsecret-pass +1 -12
- data/bin/kbsecret-raw-edit +1 -12
- data/bin/kbsecret-rm +1 -12
- data/bin/kbsecret-rm-session +1 -12
- data/bin/kbsecret-sessions +1 -12
- data/bin/kbsecret-stash-file +1 -12
- data/bin/kbsecret-todo +1 -14
- data/lib/kbsecret/cli.rb +24 -0
- data/lib/kbsecret.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84a1ecab08084cc71d8fb221a3a66984ca666e4b
|
4
|
+
data.tar.gz: cb5712d9720862406333252f437cf690b56f3f59
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 710f4ed51abb06d69d8287fd496b2e18545ca36c895d388bdba991faa87ffb57a511a6f582ea06ed0d5230e16ce5d8dfc18a4d4b4563a18c3f79ea701a3676ad
|
7
|
+
data.tar.gz: 71e11b76e2f36dce94006e4b31bd421d712aa2101f6ec721030b32390feec0afb157be25194050bd2befecd48d4cfc61560cc483a95c18ace30ae0d0213b7bfb
|
data/bin/kbsecret-dump-fields
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Dump all fields for the given record.
|
10
9
|
|
@@ -15,16 +14,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
15
14
|
o.string "-s", "--session", "the session name", default: :default
|
16
15
|
o.bool "-x", "--terse", "output in field:value format"
|
17
16
|
o.string "-i", "--ifs", "separate terse pairs with this string", default: ":"
|
18
|
-
|
19
|
-
o.on "-h", "--help" do
|
20
|
-
puts o
|
21
|
-
exit
|
22
|
-
end
|
23
|
-
|
24
|
-
o.on "--introspect-flags" do
|
25
|
-
puts o.options.flat_map(&:flags).join "\n"
|
26
|
-
exit
|
27
|
-
end
|
28
17
|
end
|
29
18
|
|
30
19
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-env
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Retrieve environment records in a source-able format.
|
10
9
|
|
@@ -19,16 +18,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
19
18
|
o.string "-s", "--session", "the session name", default: :default
|
20
19
|
o.bool "-a", "--all", "retrieve all environment records, not just listed ones"
|
21
20
|
o.bool "-v", "--value-only", "print only the environment value, not the key"
|
22
|
-
|
23
|
-
o.on "-h", "--help" do
|
24
|
-
puts o
|
25
|
-
exit
|
26
|
-
end
|
27
|
-
|
28
|
-
o.on "--introspect-flags" do
|
29
|
-
puts o.options.flat_map(&:flags).join "\n"
|
30
|
-
exit
|
31
|
-
end
|
32
21
|
end
|
33
22
|
|
34
23
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-list
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
List all secrets known to the specified session (or the default session).
|
10
9
|
|
@@ -15,16 +14,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
15
14
|
o.string "-s", "--session", "the session name", default: :default
|
16
15
|
o.string "-t", "--type", "the type of secrets to list", default: nil
|
17
16
|
o.bool "-a", "--show-all", "show everything in each secret (i.e. metadata)"
|
18
|
-
|
19
|
-
o.on "-h", "--help" do
|
20
|
-
puts o
|
21
|
-
exit
|
22
|
-
end
|
23
|
-
|
24
|
-
o.on "--introspect-flags" do
|
25
|
-
puts o.options.flat_map(&:flags).join "\n"
|
26
|
-
exit
|
27
|
-
end
|
28
17
|
end
|
29
18
|
|
30
19
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-login
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Retrieve login records.
|
10
9
|
|
@@ -20,16 +19,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
20
19
|
o.bool "-a", "--all", "retrieve all login records, not just listed ones"
|
21
20
|
o.bool "-x", "--terse", "output in label:username:password format"
|
22
21
|
o.string "-i", "--ifs", "separate terse fields with this string", default: ":"
|
23
|
-
|
24
|
-
o.on "-h", "--help" do
|
25
|
-
puts o
|
26
|
-
exit
|
27
|
-
end
|
28
|
-
|
29
|
-
o.on "--introspect-flags" do
|
30
|
-
puts o.options.flat_map(&:flags).join "\n"
|
31
|
-
exit
|
32
|
-
end
|
33
22
|
end
|
34
23
|
|
35
24
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-new
CHANGED
@@ -2,14 +2,13 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
require "abbrev"
|
7
6
|
require "tty-prompt"
|
8
7
|
|
9
8
|
# allows for abbreviated types (e.g., `kbsecret new env ...`)
|
10
9
|
TYPE_ALIASES = Abbrev.abbrev(KBSecret::Record.record_types).freeze
|
11
10
|
|
12
|
-
opts =
|
11
|
+
opts = KBSecret::CLI.slop do |o|
|
13
12
|
o.banner = <<~EOS
|
14
13
|
Create a new secret record.
|
15
14
|
|
@@ -27,16 +26,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
27
26
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
28
27
|
o.bool "-i", "--interactive", "input record fields interactively"
|
29
28
|
o.bool "-e", "--echo", "echo input to tty (only affects --interactive)"
|
30
|
-
|
31
|
-
o.on "-h", "--help" do
|
32
|
-
puts o
|
33
|
-
exit
|
34
|
-
end
|
35
|
-
|
36
|
-
o.on "--introspect-flags" do
|
37
|
-
puts o.options.flat_map(&:flags).join "\n"
|
38
|
-
exit
|
39
|
-
end
|
40
29
|
end
|
41
30
|
|
42
31
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-new-session
CHANGED
@@ -3,9 +3,8 @@
|
|
3
3
|
|
4
4
|
require "keybase"
|
5
5
|
require "kbsecret"
|
6
|
-
require "slop"
|
7
6
|
|
8
|
-
opts =
|
7
|
+
opts = KBSecret::CLI.slop do |o|
|
9
8
|
o.banner = <<~EOS
|
10
9
|
Create a new session.
|
11
10
|
|
@@ -20,16 +19,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
20
19
|
o.array "-u", "--users", "the keybase users", default: [Keybase.current_user]
|
21
20
|
o.string "-r", "--root", "the secret root directory", default: "kbsecret"
|
22
21
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
23
|
-
|
24
|
-
o.on "-h", "--help" do
|
25
|
-
puts o
|
26
|
-
exit
|
27
|
-
end
|
28
|
-
|
29
|
-
o.on "--introspect-flags" do
|
30
|
-
puts o.options.flat_map(&:flags).join "\n"
|
31
|
-
exit
|
32
|
-
end
|
33
22
|
end
|
34
23
|
|
35
24
|
session_label = opts[:label]
|
data/bin/kbsecret-pass
CHANGED
@@ -2,10 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
require "clipboard"
|
7
6
|
|
8
|
-
opts =
|
7
|
+
opts = KBSecret::CLI.slop do |o|
|
9
8
|
o.banner = <<~EOS
|
10
9
|
Retrieve a login record's password.
|
11
10
|
|
@@ -19,16 +18,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
19
18
|
|
20
19
|
o.string "-s", "--session", "the session name", default: :default
|
21
20
|
o.bool "-c", "--clipboard", "dump the password in the clipboard"
|
22
|
-
|
23
|
-
o.on "-h", "--help" do
|
24
|
-
puts o
|
25
|
-
exit
|
26
|
-
end
|
27
|
-
|
28
|
-
o.on "--introspect-flags" do
|
29
|
-
puts o.options.flat_map(&:flags).join "\n"
|
30
|
-
exit
|
31
|
-
end
|
32
21
|
end
|
33
22
|
|
34
23
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-raw-edit
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Edit the raw JSON of a record in $EDITOR.
|
10
9
|
|
@@ -16,16 +15,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
16
15
|
EOS
|
17
16
|
|
18
17
|
o.string "-s", "--session", "the session name", default: :default
|
19
|
-
|
20
|
-
o.on "-h", "--help" do
|
21
|
-
puts o
|
22
|
-
exit
|
23
|
-
end
|
24
|
-
|
25
|
-
o.on "--introspect-flags" do
|
26
|
-
puts o.options.flat_map(&:flags).join "\n"
|
27
|
-
exit
|
28
|
-
end
|
29
18
|
end
|
30
19
|
|
31
20
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-rm
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
require "tty-prompt"
|
7
6
|
|
8
7
|
$VERBOSE = nil # tty-prompt blasts us with irrelevant warnings on 2.4
|
9
8
|
|
10
|
-
opts =
|
9
|
+
opts = KBSecret::CLI.slop do |o|
|
11
10
|
o.banner = <<~EOS
|
12
11
|
Delete a record.
|
13
12
|
|
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
17
16
|
|
18
17
|
o.string "-s", "--session", "the session name", default: :default
|
19
18
|
o.bool "-i", "--interactive", "ask for confirmation before deleting"
|
20
|
-
|
21
|
-
o.on "-h", "--help" do
|
22
|
-
puts o
|
23
|
-
exit
|
24
|
-
end
|
25
|
-
|
26
|
-
o.on "--introspect-flags" do
|
27
|
-
puts o.options.flat_map(&:flags).join "\n"
|
28
|
-
exit
|
29
|
-
end
|
30
19
|
end
|
31
20
|
|
32
21
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-rm-session
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Deconfigure (and optionally delete) a session.
|
10
9
|
|
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
17
16
|
EOS
|
18
17
|
|
19
18
|
o.bool "-d", "--delete", "unlink the session in addition to deconfiguration"
|
20
|
-
|
21
|
-
o.on "-h", "--help" do
|
22
|
-
puts o
|
23
|
-
exit
|
24
|
-
end
|
25
|
-
|
26
|
-
o.on "--introspect-flags" do
|
27
|
-
puts o.options.flat_map(&:flags).join "\n"
|
28
|
-
exit
|
29
|
-
end
|
30
19
|
end
|
31
20
|
|
32
21
|
label = opts.args.shift
|
data/bin/kbsecret-sessions
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
List all available sessions.
|
10
9
|
The sessions listed can be passed to other commands via the -s flag.
|
@@ -14,16 +13,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
14
13
|
EOS
|
15
14
|
|
16
15
|
o.bool "-a", "--show-all", "show each session in depth (i.e. metadata)"
|
17
|
-
|
18
|
-
o.on "-h", "--help" do
|
19
|
-
puts o
|
20
|
-
exit
|
21
|
-
end
|
22
|
-
|
23
|
-
o.on "--introspect-flags" do
|
24
|
-
puts o.options.flat_map(&:flags).join "\n"
|
25
|
-
exit
|
26
|
-
end
|
27
16
|
end
|
28
17
|
|
29
18
|
KBSecret::Config.session_labels.each do |sess_name|
|
data/bin/kbsecret-stash-file
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Stash the given file (or stdin) as an unstructured record.
|
10
9
|
|
@@ -17,16 +16,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
17
16
|
EOS
|
18
17
|
|
19
18
|
o.string "-s", "--session", "the session name", default: :default
|
20
|
-
|
21
|
-
o.on "-h", "--help" do
|
22
|
-
puts o
|
23
|
-
exit
|
24
|
-
end
|
25
|
-
|
26
|
-
o.on "--introspect-flags" do
|
27
|
-
puts o.options.flat_map(&:flags).join "\n"
|
28
|
-
exit
|
29
|
-
end
|
30
19
|
end
|
31
20
|
|
32
21
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/bin/kbsecret-todo
CHANGED
@@ -2,9 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require "kbsecret"
|
5
|
-
require "slop"
|
6
5
|
|
7
|
-
opts =
|
6
|
+
opts = KBSecret::CLI.slop cmds: %w[start suspend complete] do |o|
|
8
7
|
o.banner = <<~EOS
|
9
8
|
Manage 'to do' records.
|
10
9
|
|
@@ -18,18 +17,6 @@ opts = Slop.parse suppress_errors: true do |o|
|
|
18
17
|
EOS
|
19
18
|
|
20
19
|
o.string "-s", "--session", "the session name", default: :default
|
21
|
-
|
22
|
-
o.on "-h", "--help" do
|
23
|
-
puts o
|
24
|
-
exit
|
25
|
-
end
|
26
|
-
|
27
|
-
o.on "--introspect-flags" do
|
28
|
-
subcmds = %w[start suspend complete]
|
29
|
-
comp = o.options.flat_map(&:flags) + subcmds
|
30
|
-
puts comp.join "\n"
|
31
|
-
exit
|
32
|
-
end
|
33
20
|
end
|
34
21
|
|
35
22
|
session = KBSecret::CLI.ensure_session opts[:session]
|
data/lib/kbsecret/cli.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "pastel"
|
4
|
+
require "slop"
|
4
5
|
|
5
6
|
module KBSecret
|
6
7
|
# An encapsulation of useful methods for kbsecret's CLI.
|
7
8
|
module CLI
|
8
9
|
class << self
|
9
10
|
# The pastel object used to generate colorful output.
|
11
|
+
# @api private
|
10
12
|
PASTEL = Pastel.new
|
11
13
|
|
12
14
|
# Print an error message and terminate.
|
@@ -27,6 +29,28 @@ module KBSecret
|
|
27
29
|
|
28
30
|
Session.new label: sess_label
|
29
31
|
end
|
32
|
+
|
33
|
+
# Parse arguments for a kbsecret utility, adding some default options for
|
34
|
+
# introspection and help output.
|
35
|
+
# @param cmds [Array<String>] additional commands to print in `--introspect-flags`
|
36
|
+
# @param errors [Boolean] whether or not to produce Slop errors
|
37
|
+
# @return [Slop::Result] the result of argument parsing
|
38
|
+
def slop(cmds: [], errors: false)
|
39
|
+
Slop.parse suppress_errors: !errors do |o|
|
40
|
+
yield o
|
41
|
+
|
42
|
+
o.on "-h", "--help" do
|
43
|
+
puts o
|
44
|
+
exit
|
45
|
+
end
|
46
|
+
|
47
|
+
o.on "--introspect-flags" do
|
48
|
+
comp = o.options.flat_map(&:flags) + cmds
|
49
|
+
puts comp.join "\n"
|
50
|
+
exit
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
30
54
|
end
|
31
55
|
end
|
32
56
|
end
|
data/lib/kbsecret.rb
CHANGED
@@ -11,7 +11,7 @@ require_relative "kbsecret/cli"
|
|
11
11
|
# The primary namespace for kbsecret.
|
12
12
|
module KBSecret
|
13
13
|
# kbsecret's current version
|
14
|
-
VERSION = "0.3.
|
14
|
+
VERSION = "0.3.6"
|
15
15
|
|
16
16
|
# fail very early if the user doesn't have keybase and KBFS running
|
17
17
|
raise Keybase::KeybaseNotRunningError unless Keybase.running?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kbsecret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Woodruff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: keybase-unofficial
|