kbsecret 1.2.0 → 1.3.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/bin/kbsecret +6 -14
  4. data/lib/kbsecret/cli/command/abstract.rb +51 -0
  5. data/lib/kbsecret/cli/command/conf.rb +42 -0
  6. data/lib/kbsecret/cli/command/cp.rb +54 -0
  7. data/lib/kbsecret/cli/command/dump_fields.rb +53 -0
  8. data/lib/kbsecret/cli/command/env.rb +66 -0
  9. data/lib/kbsecret/cli/command/generator.rb +62 -0
  10. data/lib/kbsecret/cli/command/generators.rb +37 -0
  11. data/lib/kbsecret/cli/command/list.rb +48 -0
  12. data/lib/kbsecret/cli/command/login.rb +66 -0
  13. data/lib/kbsecret/cli/command/new.rb +82 -0
  14. data/lib/kbsecret/cli/command/pass.rb +51 -0
  15. data/lib/kbsecret/cli/command/raw_edit.rb +46 -0
  16. data/lib/kbsecret/cli/command/rm.rb +58 -0
  17. data/lib/kbsecret/cli/command/session.rb +128 -0
  18. data/lib/kbsecret/cli/command/sessions.rb +47 -0
  19. data/lib/kbsecret/cli/command/stash_file.rb +62 -0
  20. data/lib/kbsecret/cli/command/todo.rb +78 -0
  21. data/lib/kbsecret/cli/command.rb +45 -0
  22. data/lib/kbsecret/cli.rb +6 -4
  23. data/lib/kbsecret/config.rb +4 -3
  24. data/lib/kbsecret/record/abstract.rb +2 -2
  25. data/lib/kbsecret/record.rb +9 -7
  26. data/lib/kbsecret/version.rb +1 -1
  27. metadata +22 -20
  28. data/lib/kbsecret/cli/kbsecret-conf +0 -31
  29. data/lib/kbsecret/cli/kbsecret-cp +0 -44
  30. data/lib/kbsecret/cli/kbsecret-dump-fields +0 -39
  31. data/lib/kbsecret/cli/kbsecret-env +0 -53
  32. data/lib/kbsecret/cli/kbsecret-generator +0 -42
  33. data/lib/kbsecret/cli/kbsecret-generators +0 -28
  34. data/lib/kbsecret/cli/kbsecret-list +0 -36
  35. data/lib/kbsecret/cli/kbsecret-login +0 -53
  36. data/lib/kbsecret/cli/kbsecret-new +0 -68
  37. data/lib/kbsecret/cli/kbsecret-pass +0 -37
  38. data/lib/kbsecret/cli/kbsecret-raw-edit +0 -31
  39. data/lib/kbsecret/cli/kbsecret-rm +0 -44
  40. data/lib/kbsecret/cli/kbsecret-session +0 -105
  41. data/lib/kbsecret/cli/kbsecret-sessions +0 -38
  42. data/lib/kbsecret/cli/kbsecret-stash-file +0 -48
  43. data/lib/kbsecret/cli/kbsecret-todo +0 -47
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "kbsecret"
5
-
6
- include KBSecret
7
-
8
- cmd = CLI.create do |c|
9
- c.slop do |o|
10
- o.banner = <<~HELP
11
- Usage:
12
- kbsecret sessions [options]
13
- HELP
14
-
15
- o.bool "-a", "--show-all", "show each session in depth (i.e. metadata)"
16
- end
17
- end
18
-
19
- Config.session_labels.each do |sess_name|
20
- session_hash = Config.session(sess_name)
21
- session = cmd.guard { Session[sess_name] }
22
-
23
- puts sess_name
24
-
25
- next unless cmd.opts.show_all?
26
-
27
- if session_hash[:team]
28
- puts <<~DETAIL
29
- \tTeam: #{session_hash[:team]}
30
- \tSecrets root: #{session_hash[:root]} (#{session.path})
31
- DETAIL
32
- else
33
- puts <<~DETAIL
34
- \tUsers: #{session_hash[:users].join(", ")}
35
- \tSecrets root: #{session_hash[:root]} (#{session.path})
36
- DETAIL
37
- end
38
- end
@@ -1,48 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "kbsecret"
5
- require "base64"
6
-
7
- include KBSecret
8
-
9
- cmd = CLI.create do |c|
10
- c.slop do |o|
11
- o.banner = <<~HELP
12
- Usage:
13
- kbsecret stash-file <record> [file]
14
- HELP
15
-
16
- o.string "-s", "--session", "the session to add to", default: :default
17
- o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
18
- o.bool "-b", "--base64", "encode the file as base64"
19
- end
20
-
21
- c.dreck errors: false do
22
- string :label
23
- string :filename
24
- end
25
-
26
- c.ensure_session!
27
- end
28
-
29
- label = cmd.args[:label]
30
- filename = cmd.args[:filename]
31
-
32
- cmd.die "Missing a record label to create." unless label
33
-
34
- if cmd.session.record?(label) && !cmd.opts.force?
35
- cmd.die "Refusing to overwrite an existing record without --force."
36
- end
37
-
38
- contents = if filename.empty? || filename == "-"
39
- STDIN.read
40
- elsif File.file?(filename)
41
- File.read(filename)
42
- else
43
- cmd.die "That file doesn't exist."
44
- end
45
-
46
- contents = Base64.encode64(contents) if cmd.opts.base64?
47
-
48
- cmd.guard { cmd.session.add_record(:unstructured, label, contents) }
@@ -1,47 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "kbsecret"
5
-
6
- include KBSecret
7
-
8
- cmd = CLI.create do |c|
9
- c.slop cmds: %w[start suspend complete] do |o|
10
- o.banner = <<~HELP
11
- Usage:
12
- kbsecret todo <start|suspend|complete> <record>
13
- HELP
14
-
15
- o.string "-s", "--session", "the session to search in", default: :default
16
- end
17
-
18
- c.dreck do
19
- string :command
20
- string :label
21
- end
22
-
23
- c.ensure_session!
24
- end
25
-
26
- label = cmd.args[:label]
27
- todo = cmd.session[label]
28
-
29
- cmd.die "No such record." unless todo
30
- cmd.die "'#{todo}' is not a todo record." unless todo.type == :todo
31
-
32
- case cmd.args[:command]
33
- when "start"
34
- cmd.die "That task is already started!" if todo.started?
35
- todo.start!
36
- puts "#{todo.label}: '#{todo.todo}' marked as started at #{todo.start}"
37
- when "suspend"
38
- cmd.die "That task is already suspended!" if todo.suspended?
39
- todo.suspend!
40
- puts "#{todo.label}: '#{todo.todo}' marked as suspended at #{todo.stop}"
41
- when "complete"
42
- cmd.die "That task is already completed!" if todo.completed?
43
- todo.complete!
44
- puts "#{todo.label}: '#{todo.todo}' marked as completed at #{todo.stop}"
45
- else
46
- cmd.die "Unknown subcommand: '#{cmd.args[:command]}'."
47
- end