vault_config 0.1.0 → 0.1.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/vault_config.rb +17 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 878236e43a6669f17ab701e86c126be38a5d2f25e5e9254153aece8fc51f949f
4
- data.tar.gz: a010e7af8d8335695f50e784a67b1d4713ebc08a3f967202863253d4e0e8d044
3
+ metadata.gz: 98d714ab72b56774fdb5d2f75c1ebad0d755779e2bc9180a728d7150bf442f03
4
+ data.tar.gz: 68162b88547887b5db4568676f8cee33a78258dea4aaa1c80ce4daf0bbb69f03
5
5
  SHA512:
6
- metadata.gz: 49e82f237c63c34b7795d174c1c32cc53f25587acd884641b7112b231ed85db4e4acf46e475b784d338cb076a7b7e4aac94c8ec7bcbf9808627f609b5bbb0f6c
7
- data.tar.gz: 4b78654d8e5df702aaf09d9662dd579b675cbfe58e5ecd6b1f3e571744ed817339b001d1142b75f61415dd29e8eebf87d5bfa6b9b90dfccbb7b071cbecabc70d
6
+ metadata.gz: e2299844c434615f734509b96fde34e10f4346ec20514ff493f2255044fc2b7e265ef31658fe38ec67eee58b34ae4c1adb9460ec0bda150f76e172554429116b
7
+ data.tar.gz: 6275a41cac24047732c053f2e9ffbfdff21bdcd9a170e4894532d5aa4301c941f79ad30d0b14bf0eeb068c2ed2e57a8f42d6e2558ec3be30d212fd3e217d569b
data/lib/vault_config.rb CHANGED
@@ -23,20 +23,32 @@ class VaultConfig
23
23
  token: token || ENV['VAULT_TOKEN'],
24
24
  increment: increment,
25
25
  }.to_json, header)
26
- puts response.body
27
26
  JSON.parse(response.body)
28
27
  end
29
28
 
30
29
  def load!
31
- header = {'X-Vault-Token': ENV['VAULT_TOKEN']}
32
- response = Net::HTTP.get_response(client_uri, header)
33
- JSON.parse(response.body)['data']['data'].each do |k, v|
30
+ ret = get client_uri, headers
31
+ ret['data']['data'].each do |k, v|
34
32
  ENV[k] = v
35
33
  end
36
34
  end
37
35
 
36
+ private def get(uri, headers = {})
37
+ Net::HTTP.start(uri.host, uri.port) do |http|
38
+ request = Net::HTTP::Get.new uri, headers
39
+ response = http.request request
40
+ return JSON.parse(response.body)
41
+ end
42
+ end
43
+
44
+ private def headers
45
+ @headers ||= {}
46
+ @headers['X-Vault-Token'] = ENV['VAULT_TOKEN']
47
+ @headers
48
+ end
49
+
38
50
  private def client_uri
39
- if @app.start_with?('/')
51
+ @client_uri ||= if @app.start_with?('/')
40
52
  arr = @app.split('/')
41
53
  arr[1] = "#{arr[1]}/data"
42
54
  URI(File.join(ENV['VAULT_ADDR'], 'v1/', arr.join('/')))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vault_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - azhao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-01 00:00:00.000000000 Z
11
+ date: 2022-01-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: default safe in a easy way by using HashiCorp Vault
14
14
  email: azhao.1981@gmail.com