vault_config 0.1.2 → 0.010

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 +1 -53
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34c2b9b4363eb262639ab2c4e8a2b2015d563b752ea5fbf7ea98df467519dfac
4
- data.tar.gz: 355b5ded01bb65959a852448169c17e35dcfff59be49f2c23357ff28e5610cd3
3
+ metadata.gz: '024955556643501414dfc917025a316247295c03409ff778c439d851a8a2da89'
4
+ data.tar.gz: 19518ec349ed895070a7c7fba8c10f8b5a67c7104b1231796d168c65e28718b8
5
5
  SHA512:
6
- metadata.gz: b0fb4f51e8b5c8f54519843d941a85c01b7f4fdfd29b8700387d1e49575347bd71a18f3bd8f8db8a9505fab1ee5615c46393904fbf169a5e148e5d076734d41e
7
- data.tar.gz: 6438334f04add8afe4280341316ca82131dcba2807ca32eb13fbafbd8dbf6a628ef0ff821b3856eb3d78581bd4e1949e5c5157618b0153f0990bc0fecac16ec7
6
+ metadata.gz: 955f9b0574b91d0f6679dbf19277fb1343834a47a870786cd3a250c693832abce64744969c61f80b54c0ec69ae57dd0934de0d7ee2ca74f4f7859335cbc5dcb0
7
+ data.tar.gz: d5ce5347e98ea60614f56ccecdb86130af5950b11590d8b3ae8a1a6184fbf5d8c4749589296bf0472d68eb292915b32ff129cb5b4a46274243962b1df59bd70d
data/lib/vault_config.rb CHANGED
@@ -1,7 +1,4 @@
1
1
  #
2
- require 'net/http'
3
- require 'json'
4
-
5
2
  class VaultConfig
6
3
  def initialize(app)
7
4
  @app = app
@@ -12,57 +9,8 @@ class VaultConfig
12
9
  client.load!
13
10
  end
14
11
 
15
- def self.load_with_warning(app)
16
- begin
17
- client = self.new(app)
18
- client.load!
19
- rescue => exception
20
- puts "Warning: VaultConfig.load error --- ignore \n #{exception.message}"
21
- end
22
- end
23
-
24
- # https://learn.hashicorp.com/tutorials/vault/tokens
25
- def self.renew(token = nil, increment = '12h')
26
- uri = URI(File.join(ENV['VAULT_ADDR'], '/v1/auth/token/renew'))
27
- header = {
28
- 'X-Vault-Token': ENV['VAULT_TOKEN'],
29
- 'content-type':'application/json'
30
- }
31
- response = Net::HTTP.post(uri, {
32
- token: token || ENV['VAULT_TOKEN'],
33
- increment: increment,
34
- }.to_json, header)
35
- JSON.parse(response.body)
36
- end
37
-
38
12
  def load!
39
- ret = get client_uri, headers
40
- ret['data']['data'].each do |k, v|
41
- ENV[k] = v
42
- end
43
- end
44
-
45
- private def get(uri, headers = {})
46
- Net::HTTP.start(uri.host, uri.port) do |http|
47
- request = Net::HTTP::Get.new uri, headers
48
- response = http.request request
49
- return JSON.parse(response.body)
50
- end
51
- end
52
-
53
- private def headers
54
- @headers ||= {}
55
- @headers['X-Vault-Token'] = ENV['VAULT_TOKEN']
56
- @headers
57
- end
58
-
59
- private def client_uri
60
- @client_uri ||= if @app.start_with?('/')
61
- arr = @app.split('/')
62
- arr[1] = "#{arr[1]}/data"
63
- URI(File.join(ENV['VAULT_ADDR'], 'v1/', arr.join('/')))
64
- else
65
- URI(File.join(ENV['VAULT_ADDR'], 'v1/secret/data', @app))
13
+ net::http.start('vault.example.com', 8200) do |http|
66
14
  end
67
15
  end
68
16
  end
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.2
4
+ version: '0.010'
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-05 00:00:00.000000000 Z
11
+ date: 2021-12-30 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