confidante 0.28.0.pre.15 → 0.28.0.pre.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9650fc6b5cfb60cde80bd5d25dde663535bca870a8f9b08ce29eb9c2375be8f7
4
- data.tar.gz: 17cc9dd25523d6415681f1fcda2b8036c94360b4927fa97dd5532e1bfc3386e8
3
+ metadata.gz: f227c07f069e181681816cc7489b858e84902900d7c19f31b5ba99449f6e431b
4
+ data.tar.gz: b0d0e7a23a56b82c86a26aedad88b03f12ae92a08a8a6d670cd6929916c15c79
5
5
  SHA512:
6
- metadata.gz: 8a81fed1309c40c7f52fac384b1f084ad7f1a8352adc031aed918d780f7d072436007f12571fe8c739173f35f6b834073bb1e67efc4441ac4d085fda3e57d642
7
- data.tar.gz: e8eb70b0f2246395a497ade451252cf05d762bad52d2128f6ce50360ba20709f8921de4059202d19463641dc39dbb10a8c7f5fce7f9f81d1248e7567721abe4c
6
+ metadata.gz: 83b32114eccd28d13653e36afe295828adf3def314aa33d21da2665e237021c74128b852c7244a273cedfa880bcd2ad628226ca16ae14db5f50d9adb39cc0626
7
+ data.tar.gz: 031042a9e6e29028ff51a5772c834cf4025f04b4e250a3ca2ea5fe638d1d1fb70c43bf209200ff5c2e3b6ccc07537a711d87277b1035ac5fdfebb4d8d51fe5a9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- confidante (0.28.0.pre.15)
4
+ confidante (0.28.0.pre.16)
5
5
  activesupport (>= 4)
6
6
  hiera (~> 3.3)
7
7
  shikashi (~> 0.6)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Confidante
4
- VERSION = '0.28.0.pre.15'
4
+ VERSION = '0.28.0.pre.16'
5
5
  end
@@ -19,22 +19,31 @@ class Hiera
19
19
  vault_address = vault_config[:address]
20
20
  vault_client = Vault::Client.new(address: vault_address)
21
21
 
22
- source = vault_config[:sources][0]
22
+ value = get_value(vault_client, key, vault_config[:sources])
23
23
 
24
- throw(:unsupported_secrets_engine) unless source[:engine] == 'kv'
24
+ Backend.parse_answer(value, scope)
25
+ end
25
26
 
26
- value = read_kv_value(vault_client, source, key)
27
+ def get_value(vault_client, key, sources)
28
+ found_source = sources.find do |source|
29
+ read_kv_value(vault_client, source, key)
30
+ end
27
31
 
28
- Backend.parse_answer(value, scope)
32
+ throw(:no_such_key) unless found_source
33
+
34
+ read_kv_value(vault_client, found_source, key)
29
35
  end
30
36
 
31
37
  def read_kv_value(vault_client, source, key)
32
- secret = vault_client.kv(source[:mount]).read(key)
33
- throw(:no_such_key) unless secret
38
+ throw(:unsupported_secrets_engine) unless source[:engine] == 'kv'
39
+
40
+ mount = source[:mount]
41
+ full_path = "#{source[:path]}/#{key}"
42
+
43
+ secret = vault_client.kv(mount).read(full_path)
44
+ return nil unless secret
34
45
 
35
- value = secret.data[:value]
36
- throw(:no_such_key) unless value
37
- value
46
+ secret.data[:value]
38
47
  end
39
48
  end
40
49
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: confidante
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0.pre.15
4
+ version: 0.28.0.pre.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers