kbsecret 0.6.0 → 0.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/kbsecret +1 -1
- data/bin/kbsecret-dump-fields +1 -3
- data/bin/kbsecret-env +1 -7
- data/bin/kbsecret-list +1 -3
- data/bin/kbsecret-login +1 -7
- data/bin/kbsecret-new +0 -6
- data/bin/kbsecret-new-session +3 -8
- data/bin/kbsecret-pass +1 -7
- data/bin/kbsecret-raw-edit +1 -6
- data/bin/kbsecret-rm +1 -3
- data/bin/kbsecret-rm-session +1 -7
- data/bin/kbsecret-sessions +1 -4
- data/bin/kbsecret-stash-file +0 -6
- data/bin/kbsecret-todo +0 -7
- data/lib/kbsecret/cli.rb +37 -40
- data/lib/kbsecret/record/todo.rb +2 -0
- data/lib/version.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: 78a85052182c04cc8a63759dfe1ffebcab9febf1
|
4
|
+
data.tar.gz: 57cf4570ac91c7ef25a3533f7ac1750d7b1dd510
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f98b14697eae67ab73822f4629793da398087003d701f74b123415a5f20cdf666919a886ef599564505bd5fe49f46f767dcd6656ca851f5351ecaa3356a74e3
|
7
|
+
data.tar.gz: 02ceed6620e31589f595ef39fdd50bb669739845d1ef1fb5c74a7e0f4c0b68e760d554207db59aaf2468b49ce936929955e420de1703b84c5605ee9da7eb59d4
|
data/bin/kbsecret
CHANGED
data/bin/kbsecret-dump-fields
CHANGED
@@ -8,10 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Dump all fields for the given record.
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret dump-fields [
|
12
|
+
kbsecret dump-fields [options] <record>
|
15
13
|
EOS
|
16
14
|
|
17
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/bin/kbsecret-env
CHANGED
@@ -8,14 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Retrieve environment records in a source-able format.
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret env [
|
15
|
-
|
16
|
-
Examples:
|
17
|
-
kbsecret env --all
|
18
|
-
kbsecret env staging beta
|
12
|
+
kbsecret env [options] <record [record ...]>
|
19
13
|
EOS
|
20
14
|
|
21
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/bin/kbsecret-list
CHANGED
@@ -8,10 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
List all secrets known to the specified session (or the default session).
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret list [
|
12
|
+
kbsecret list [options]
|
15
13
|
EOS
|
16
14
|
|
17
15
|
o.string "-s", "--session", "the session to list from", default: :default
|
data/bin/kbsecret-login
CHANGED
@@ -8,14 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Retrieve login records.
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret login [
|
15
|
-
|
16
|
-
Examples:
|
17
|
-
kbsecret login --terse --ifs "*" gmail
|
18
|
-
kbsecret login gmail netflix
|
12
|
+
kbsecret login [options] <record [record ...]>
|
19
13
|
EOS
|
20
14
|
|
21
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/bin/kbsecret-new
CHANGED
@@ -13,15 +13,9 @@ TYPE_ALIASES = Abbrev.abbrev(Record.record_types).freeze
|
|
13
13
|
cmd = CLI.new do
|
14
14
|
slop do |o|
|
15
15
|
o.banner = <<~EOS
|
16
|
-
Create a new secret record.
|
17
|
-
|
18
16
|
Usage:
|
19
17
|
kbsecret new [options] <type> <label>
|
20
18
|
kbsecret new [options] --args <type> <label> <fields>
|
21
|
-
|
22
|
-
Examples:
|
23
|
-
kbsecret new login gmail
|
24
|
-
kbsecret new environment foo-api
|
25
19
|
EOS
|
26
20
|
|
27
21
|
o.string "-s", "--session", "the session to contain the record", default: :default
|
data/bin/kbsecret-new-session
CHANGED
@@ -9,18 +9,13 @@ include KBSecret
|
|
9
9
|
cmd = CLI.new do
|
10
10
|
slop do |o|
|
11
11
|
o.banner = <<~EOS
|
12
|
-
Create a new session.
|
13
|
-
|
14
12
|
Usage:
|
15
|
-
kbsecret new-session --label <label> --
|
16
|
-
|
17
|
-
Example:
|
18
|
-
kbsecret new-session -l dev -u me,otherperson -r devsecrets
|
13
|
+
kbsecret new-session [options] --label <label> --root <dir>
|
19
14
|
EOS
|
20
15
|
|
21
|
-
o.string "-l", "--label", "the session label"
|
16
|
+
o.string "-l", "--label", "the session label"
|
22
17
|
o.array "-u", "--users", "the keybase users", default: [Keybase.current_user]
|
23
|
-
o.string "-r", "--root", "the secret root directory"
|
18
|
+
o.string "-r", "--root", "the secret root directory"
|
24
19
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
25
20
|
end
|
26
21
|
end
|
data/bin/kbsecret-pass
CHANGED
@@ -9,14 +9,8 @@ include KBSecret
|
|
9
9
|
cmd = CLI.new do
|
10
10
|
slop do |o|
|
11
11
|
o.banner = <<~EOS
|
12
|
-
Retrieve a login record's password.
|
13
|
-
|
14
12
|
Usage:
|
15
|
-
kbsecret pass [
|
16
|
-
|
17
|
-
Examples:
|
18
|
-
kbsecret pass gmail | xclip
|
19
|
-
kbsecret pass --clipboard gmail
|
13
|
+
kbsecret pass [options] <record>
|
20
14
|
EOS
|
21
15
|
|
22
16
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/bin/kbsecret-raw-edit
CHANGED
@@ -8,13 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Edit the raw JSON of a record in $EDITOR.
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret raw-edit [
|
15
|
-
|
16
|
-
Examples:
|
17
|
-
kbsecret raw-edit gmail
|
12
|
+
kbsecret raw-edit [options] <record>
|
18
13
|
EOS
|
19
14
|
|
20
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/bin/kbsecret-rm
CHANGED
@@ -11,10 +11,8 @@ $VERBOSE = nil # tty-prompt blasts us with irrelevant warnings on 2.4
|
|
11
11
|
cmd = CLI.new do
|
12
12
|
slop do |o|
|
13
13
|
o.banner = <<~EOS
|
14
|
-
Delete a record.
|
15
|
-
|
16
14
|
Usage:
|
17
|
-
kbsecret rm [
|
15
|
+
kbsecret rm [options] <record>
|
18
16
|
EOS
|
19
17
|
|
20
18
|
o.string "-s", "--session", "the session containing the record", default: :default
|
data/bin/kbsecret-rm-session
CHANGED
@@ -8,14 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Deconfigure (and optionally delete) a session.
|
12
|
-
|
13
11
|
Usage:
|
14
|
-
kbsecret rm-session [
|
15
|
-
|
16
|
-
Example:
|
17
|
-
kbsecret rm-session old-keys
|
18
|
-
kbsecret rm-session --delete even-older-keys
|
12
|
+
kbsecret rm-session [options] <session>
|
19
13
|
EOS
|
20
14
|
|
21
15
|
o.bool "-d", "--delete", "unlink the session in addition to deconfiguration"
|
data/bin/kbsecret-sessions
CHANGED
@@ -8,11 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
List all available sessions.
|
12
|
-
The sessions listed can be passed to other commands via the -s flag.
|
13
|
-
|
14
11
|
Usage:
|
15
|
-
kbsecret sessions [
|
12
|
+
kbsecret sessions [options]
|
16
13
|
EOS
|
17
14
|
|
18
15
|
o.bool "-a", "--show-all", "show each session in depth (i.e. metadata)"
|
data/bin/kbsecret-stash-file
CHANGED
@@ -8,14 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Stash the given file (or stdin) as an unstructured record.
|
12
|
-
|
13
11
|
Usage:
|
14
12
|
kbsecret stash-file <record> [file]
|
15
|
-
|
16
|
-
Example:
|
17
|
-
kbsecret stash-file foo ~/foo
|
18
|
-
echo "using stdin" | kbsecret stash-file from-stdin
|
19
13
|
EOS
|
20
14
|
|
21
15
|
o.string "-s", "--session", "the session to add to", default: :default
|
data/bin/kbsecret-todo
CHANGED
@@ -8,15 +8,8 @@ include KBSecret
|
|
8
8
|
cmd = CLI.new do
|
9
9
|
slop cmds: %w[start suspend complete] do |o|
|
10
10
|
o.banner = <<~EOS
|
11
|
-
Manage 'to do' records.
|
12
|
-
|
13
11
|
Usage:
|
14
12
|
kbsecret todo <start|suspend|complete> <record>
|
15
|
-
|
16
|
-
Examples:
|
17
|
-
kbsecret todo start unit-tests
|
18
|
-
kbsecret todo suspend laundry
|
19
|
-
kbsecret todo complete shopping
|
20
13
|
EOS
|
21
14
|
|
22
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
data/lib/kbsecret/cli.rb
CHANGED
@@ -36,25 +36,30 @@ module KBSecret
|
|
36
36
|
@args = nil
|
37
37
|
instance_eval(&block)
|
38
38
|
rescue => e
|
39
|
-
self.class.die e.to_s.capitalize
|
39
|
+
self.class.die "#{e.to_s.capitalize}."
|
40
40
|
end
|
41
41
|
|
42
42
|
# Parse options for a kbsecret utility, adding some default options for
|
43
|
-
# introspection and help output.
|
43
|
+
# introspection, verbosity, and help output.
|
44
44
|
# @param cmds [Array<String>] additional commands to print in `--introspect-flags`
|
45
45
|
# @param errors [Boolean] whether or not to produce Slop errors
|
46
46
|
# @return [Slop::Result] the result of argument parsing
|
47
47
|
# @note This should be called within the block passed to {#initialize}.
|
48
|
-
def slop(cmds: [], errors:
|
48
|
+
def slop(cmds: [], errors: true)
|
49
49
|
@opts = Slop.parse suppress_errors: !errors do |o|
|
50
|
+
o.separator "Options:"
|
51
|
+
|
50
52
|
yield o
|
51
53
|
|
52
|
-
o.
|
54
|
+
o.bool "-V", "--verbose", "produce more verbose output"
|
55
|
+
o.bool "-w", "--no-warn", "suppress warning messages"
|
56
|
+
|
57
|
+
o.on "-h", "--help", "show this help message" do
|
53
58
|
puts o
|
54
59
|
exit
|
55
60
|
end
|
56
61
|
|
57
|
-
o.on "--introspect-flags" do
|
62
|
+
o.on "--introspect-flags", "dump recognized flags and subcommands" do
|
58
63
|
comp = o.options.flat_map(&:flags) + cmds
|
59
64
|
puts comp.join "\n"
|
60
65
|
exit
|
@@ -86,7 +91,32 @@ module KBSecret
|
|
86
91
|
# options or arguments are being tested for a valid session.
|
87
92
|
def ensure_session!(where = :option)
|
88
93
|
label = where == :option ? @opts[:session] : @args[:session]
|
89
|
-
raise "Unknown session: '#{label}'
|
94
|
+
raise "Unknown session: '#{label}'" unless Config.session? label
|
95
|
+
end
|
96
|
+
|
97
|
+
# Print an informational message if verbose output has been enabled.
|
98
|
+
# @param msg [String] the message to print
|
99
|
+
# @return [void]
|
100
|
+
def info(msg)
|
101
|
+
return unless @opts.verbose?
|
102
|
+
STDERR.puts "#{"Info".green}: #{msg}"
|
103
|
+
end
|
104
|
+
|
105
|
+
# Print a warning message unless warnings have been suppressed.
|
106
|
+
# @param msg [String] the message to print
|
107
|
+
# @return [void]
|
108
|
+
def warn(msg)
|
109
|
+
return if @opts.no_warn?
|
110
|
+
STDERR.puts "#{"Warning".yellow}: #{msg}"
|
111
|
+
end
|
112
|
+
|
113
|
+
# Print an error message and terminate.
|
114
|
+
# @param msg [String] the message to print
|
115
|
+
# @return [void]
|
116
|
+
# @note This method does not return!
|
117
|
+
def die(msg)
|
118
|
+
pretty = "#{"Fatal".red}: #{msg}"
|
119
|
+
abort pretty
|
90
120
|
end
|
91
121
|
|
92
122
|
class << self
|
@@ -94,51 +124,18 @@ module KBSecret
|
|
94
124
|
# @param msg [String] the message to print
|
95
125
|
# @return [void]
|
96
126
|
# @note This method does not return!
|
127
|
+
# @deprecated use {#die} instead.
|
97
128
|
def die(msg)
|
98
129
|
pretty = "#{"Fatal".red}: #{msg}"
|
99
130
|
abort pretty
|
100
131
|
end
|
101
132
|
|
102
|
-
# Instantiate a session if it exists, and terminate otherwise.
|
103
|
-
# @param sess_label [String, Symbol] the session label to instantiate
|
104
|
-
# @return [void]
|
105
|
-
# @note This method does not return if the given session is not configured!
|
106
|
-
# @deprecated Use {#ensure_session!} instead.
|
107
|
-
def ensure_session(sess_label)
|
108
|
-
die "Unknown session: '#{sess_label}'." unless Config.session? sess_label
|
109
|
-
|
110
|
-
Session.new label: sess_label
|
111
|
-
end
|
112
|
-
|
113
133
|
# Finds a reasonable default field separator by checking the environment first
|
114
134
|
# and then falling back to ":".
|
115
135
|
# @return [String] the field separator
|
116
136
|
def ifs
|
117
137
|
ENV["IFS"] || ":"
|
118
138
|
end
|
119
|
-
|
120
|
-
# Parse arguments for a kbsecret utility, adding some default options for
|
121
|
-
# introspection and help output.
|
122
|
-
# @param cmds [Array<String>] additional commands to print in `--introspect-flags`
|
123
|
-
# @param errors [Boolean] whether or not to produce Slop errors
|
124
|
-
# @return [Slop::Result] the result of argument parsing
|
125
|
-
# @deprecated Use {#initialize} instead.
|
126
|
-
def slop(cmds: [], errors: false)
|
127
|
-
Slop.parse suppress_errors: !errors do |o|
|
128
|
-
yield o
|
129
|
-
|
130
|
-
o.on "-h", "--help" do
|
131
|
-
puts o
|
132
|
-
exit
|
133
|
-
end
|
134
|
-
|
135
|
-
o.on "--introspect-flags" do
|
136
|
-
comp = o.options.flat_map(&:flags) + cmds
|
137
|
-
puts comp.join "\n"
|
138
|
-
exit
|
139
|
-
end
|
140
|
-
end
|
141
|
-
end
|
142
139
|
end
|
143
140
|
end
|
144
141
|
end
|
data/lib/kbsecret/record/todo.rb
CHANGED
data/lib/version.rb
CHANGED
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.6.
|
4
|
+
version: 0.6.1
|
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-07-
|
11
|
+
date: 2017-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fpm
|