arcanus 0.11.0 → 0.12.0
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/lib/arcanus/command/unlock.rb +23 -3
- data/lib/arcanus/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: 2fb8869826196e49c619322eb2f20bfc525cdd56
|
|
4
|
+
data.tar.gz: 0195c1a11109ef5321c07abcab57b39cf526c9e8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fa848a90874f1a862f16cf66f6c0cf7885f08cf6d79274a147e6f68e4f7e16b4166c94ae641a4614161dbddcbd18a965a7362ee6045405c9d59e5cfd9a0375b7
|
|
7
|
+
data.tar.gz: 55041de90f9a2dc0e511565bb591f69a15fb106c4593d331a7ac64aa28ac3f7f4fddfafd14139df103735c4b0919234b34e1e209b4cf6292e7e7303fe62b1d6a
|
|
@@ -6,9 +6,6 @@ module Arcanus::Command
|
|
|
6
6
|
return unless has_chest?
|
|
7
7
|
return if already_unlocked?
|
|
8
8
|
|
|
9
|
-
ui.print "This repository's Arcanus key is locked by a password."
|
|
10
|
-
ui.print "Until you unlock it, you won't be able to view/edit secrets."
|
|
11
|
-
|
|
12
9
|
unlock_key
|
|
13
10
|
|
|
14
11
|
ui.success "Key unlocked and saved in #{repo.unlocked_key_path}"
|
|
@@ -42,6 +39,17 @@ module Arcanus::Command
|
|
|
42
39
|
end
|
|
43
40
|
|
|
44
41
|
def unlock_key
|
|
42
|
+
if ENV.key?('ARCANUS_PASSWORD')
|
|
43
|
+
unlock_key_via_env
|
|
44
|
+
else
|
|
45
|
+
unlock_key_interactive
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def unlock_key_interactive
|
|
50
|
+
ui.print "This repository's Arcanus key is locked by a password."
|
|
51
|
+
ui.print "Until you unlock it, you won't be able to view/edit secrets."
|
|
52
|
+
|
|
45
53
|
loop do
|
|
46
54
|
ui.print 'Enter password: ', newline: false
|
|
47
55
|
password = ui.secret_user_input
|
|
@@ -56,5 +64,17 @@ module Arcanus::Command
|
|
|
56
64
|
end
|
|
57
65
|
end
|
|
58
66
|
end
|
|
67
|
+
|
|
68
|
+
def unlock_key_via_env
|
|
69
|
+
ui.print 'ARCANUS_PASSWORD environment variable detected. Attempting to unlock chest...'
|
|
70
|
+
begin
|
|
71
|
+
key = Arcanus::Key.from_protected_file(repo.locked_key_path, ENV['ARCANUS_PASSWORD'])
|
|
72
|
+
key.save(key_file_path: repo.unlocked_key_path)
|
|
73
|
+
ui.success 'Chest unlocked!'
|
|
74
|
+
rescue Arcanus::Errors::DecryptionError => ex
|
|
75
|
+
ui.error 'Unable to unlock key using the ARCANUS_PASSWORD environment variable provided!'
|
|
76
|
+
ui.error ex.message
|
|
77
|
+
end
|
|
78
|
+
end
|
|
59
79
|
end
|
|
60
80
|
end
|
data/lib/arcanus/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: arcanus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.12.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shane da Silva
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-06-
|
|
11
|
+
date: 2016-06-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: childprocess
|