hiera-gosecret 0.1.7 → 0.2.0

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
  SHA1:
3
- metadata.gz: bdf74d74098d9c3199c17b00cb46c7c926c824cd
4
- data.tar.gz: db17e9e0b2235387499e69e434377c94ed717e9e
3
+ metadata.gz: 7e89158c273939dcc923cffd0fadf0e8ee8f4083
4
+ data.tar.gz: 9beecbe66d71d44d114bfd691961c7551f207209
5
5
  SHA512:
6
- metadata.gz: 19a13a2c35244074c9529628d25d215ded725806cc7f60c75eb58b07c3e50bb5a8802a76fa67e596f85ca01c05af948afeaecbc6f828871bbbcf33487df74347
7
- data.tar.gz: ccdbc8c011c39d083e8cc15ee4aaf9523ad1001e1267c3e5806b79b83d069b5cf7b250430683ef935d26d91d69c67912ca9e3c53bc6dd482e3a40027b22c291d
6
+ metadata.gz: 005d2255fab8e33affa4b9b689ef8c2883072da9c2c4daca3827004238029072e89378e35901f6639e5620456b4072811ce44ad0c5b30140bb4ef42a93b3d814
7
+ data.tar.gz: 9cf51fa74d72a36a901d917772f7c520ff4872c962509022270f30d292ffb49ad9e1f662542c541b7d12bb50f678b1cc95001720b5036f895e97b860b7151fb6
@@ -27,15 +27,32 @@ class Hiera
27
27
  answer = b.lookup(key, scope, order_override, resolution_type)
28
28
  break if answer != nil
29
29
  end
30
- decrypt(answer) if answer != nil and answer.is_a? String and answer.start_with? "[gosecret|"
30
+ Hiera.debug("answer: #{answer} resolution_type: #{resolution_type}")
31
+ # decrypt(answer)
32
+ case resolution_type
33
+ when :array
34
+ new_answer ||= []
35
+ answer.each do |item|
36
+ new_answer << decrypt(item) || item
37
+ end
38
+ return new_answer
39
+ when :hash
40
+ # TODO: Verify if this works for nested hashes
41
+ new_answer ||= {}
42
+ answer.each do |key, value|
43
+ new_answer[key] = decrypt(value) || value
44
+ end
45
+ return new_answer
46
+ else
47
+ return decrypt(answer)
48
+ end
31
49
  end
32
50
 
33
- GOSECRET_REGEX = /\[(gosecret(\|[^\]\|]*){4})\]/
34
-
35
51
  def decrypt(value)
36
- `gosecret-decrypt "#{Config[:gosecret][:keydir]}" "#{value}"`
52
+ if value != nil and value.is_a?(String) and /\[(gosecret(\|[^\]\|]*){4})\]/.match(value)
53
+ `gosecret-decrypt "#{Config[:gosecret][:keydir]}" "#{value}"`
54
+ end
37
55
  end
38
-
39
56
  end
40
57
  end
41
58
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiera-gosecret
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Calvin Leung Huang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-06 00:00:00.000000000 Z
11
+ date: 2015-01-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Hiera backend for decrypting gosecret-encrypted values
14
14
  email: