vault_config 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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