smart_proxy_vault 0.4.0 → 0.4.1

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: 65273d38422ca44e608f96ae9ae8817d400474ee
4
- data.tar.gz: 29a3c9736686f61bea73aea03aa14fb6e142961c
3
+ metadata.gz: 59bbf36d677feac1a85674ef5b6e4592cbaabef9
4
+ data.tar.gz: 9eb12ef4c3225de70436601091f30dcc0dc61e64
5
5
  SHA512:
6
- metadata.gz: 5e5d49e23187f0e440b7183a4796dccb69bddb27ed2a91a6af1131e03d022bdbd323b2c3ffb3039a10b1ec86e83189b75c5b79fde36d2a4aee85a07d40e264db
7
- data.tar.gz: 32d359e5abce0c2e6e7990a36c476e83f9778743afc3d22fea16d38c0b726a618b1a0fed2f303b3482bb6eefe1ec8de129f1682dd08b70cb0caba4240c7063da
6
+ metadata.gz: 52623d07b6e789637e376e452128e6a6c198554aad07dcb1da727f20b5885675cc11f16b1bff5fc64505b95ae9e4359dd841a1fa5fac5dbe69ba914220d4f6dd
7
+ data.tar.gz: 48f28cecae0135f976ddc9a601c92dc37ad0119c9566003a6f4feda0c64778f53c379daddb3070540e536acb72f1a7845540c4a59590bafc2d1a32e1316d31b6
@@ -1,5 +1,8 @@
1
1
  # Change Log
2
2
 
3
+ ## [v0.4.1](https://github.com/theforeman/smart_proxy_vault/tree/v0.4.1)
4
+ - Fix for https://github.com/hashicorp/vault-ruby/issues/121
5
+
3
6
  ## [v0.4.0](https://github.com/theforeman/smart_proxy_vault/tree/v0.4.0)
4
7
  - Added creating tokens from roles
5
8
  - Fixed days to seconds calculation
@@ -13,28 +13,22 @@ module VaultPlugin
13
13
  include ::VaultPlugin::Helpers
14
14
 
15
15
  class Client
16
- attr_reader :connection
16
+ extend ::VaultPlugin::Helpers
17
17
 
18
- include ::VaultPlugin::Helpers
19
-
20
- def initialize
21
- @connection = ::Vault::Client.new(vault_settings)
22
- end
23
-
24
- def issue_token(options)
25
- @connection.auth_token.create(options).auth.client_token
18
+ def self.issue_token(options)
19
+ Vault.auth_token.create(options).auth.client_token
26
20
  end
27
21
 
28
- def issue_role_token(role, options)
29
- @connection.auth_token.create_with_role(role, options).auth.client_token
22
+ def self.issue_role_token(role, options)
23
+ Vault.auth_token.create_with_role(role, options).auth.client_token
30
24
  end
31
25
 
32
- def lookup_self
33
- @connection.auth_token.lookup_self
26
+ def self.lookup_self
27
+ Vault.auth_token.lookup_self
34
28
  end
35
29
 
36
- def renew_self
37
- @connection.auth_token.renew_self(lookup_self.data[:creation_ttl])
30
+ def self.renew_self
31
+ Vault.auth_token.renew_self(lookup_self.data[:creation_ttl])
38
32
  end
39
33
  end
40
34
 
@@ -49,26 +43,22 @@ module VaultPlugin
49
43
  options.merge(ttl: ttl) unless ttl.nil?
50
44
  end
51
45
 
52
- def vault
53
- Client.new
54
- end
55
-
56
46
  def issue(ttl, role)
57
47
  begin
58
48
  opts = options ttl
59
- role.nil? ? vault.issue_token(opts) : vault.issue_role_token(role, opts)
49
+ role.nil? ? Client.issue_token(opts) : Client.issue_role_token(role, opts)
60
50
  rescue StandardError => e
61
51
  log_halt 500, 'Failed to generate Vault token ' + e.message
62
52
  end
63
53
  end
64
54
 
65
55
  def creation_ttl
66
- vault.lookup_self[:data][:creation_ttl]
56
+ Client.lookup_self[:data][:creation_ttl]
67
57
  end
68
58
 
69
59
  def renew
70
60
  begin
71
- vault.renew_self
61
+ Client.renew_self
72
62
  rescue StandardError => e
73
63
  puts 'Failed to renew Vault token ' + e.message
74
64
  end
@@ -16,6 +16,7 @@ module VaultPlugin
16
16
  authorized?
17
17
  end
18
18
 
19
+ vault_client_configure
19
20
  start_renewal
20
21
 
21
22
  get '/token/issue' do
@@ -16,6 +16,14 @@ module VaultPlugin
16
16
  ::VaultPlugin::Plugin.settings.add_token_metadata
17
17
  end
18
18
 
19
+ def vault_client_configure
20
+ Vault.configure do |config|
21
+ vault_settings.each do |k, v|
22
+ config.send("#{k}=", v)
23
+ end
24
+ end
25
+ end
26
+
19
27
  def to_seconds(string)
20
28
  case string.slice(-1)
21
29
  when 'd'
@@ -1,3 +1,3 @@
1
1
  module VaultPlugin
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.1'
3
3
  end
@@ -0,0 +1,18 @@
1
+ module RequestHelpers
2
+ extend RR::DSL
3
+ extend self
4
+
5
+ # Need to stub this before we require smart_proxy_vault/endpoint
6
+ def configure_settings
7
+ stub.proxy(::VaultPlugin::Plugin.settings).token_options {{
8
+ ttl: '12h'
9
+ }}
10
+ stub.proxy(::VaultPlugin::Plugin.settings).vault {{
11
+ address: 'https://vault.example.com',
12
+ token: 'GUID',
13
+ ssl_verify: true
14
+ }}
15
+ end
16
+
17
+ RequestHelpers.configure_settings
18
+ end
@@ -1,9 +1,11 @@
1
1
  require_relative './test_helper'
2
2
  require 'smart_proxy_vault'
3
+ require_relative './helpers/helpers'
3
4
  require 'smart_proxy_vault/endpoint'
4
5
 
5
6
  class RequestTest < Test::Unit::TestCase
6
7
  include Rack::Test::Methods
8
+ include RequestHelpers
7
9
  include VaultPlugin::API
8
10
 
9
11
  ###
@@ -122,14 +124,7 @@ class RequestTest < Test::Unit::TestCase
122
124
  def setup
123
125
  stub_authorized?(true)
124
126
  stub_client
125
- stub.proxy(::VaultPlugin::Plugin.settings).token_options {{
126
- ttl: '12h'
127
- }}
128
- stub.proxy(::VaultPlugin::Plugin.settings).vault {{
129
- address: 'https://vault.example.com',
130
- token: 'GUID',
131
- ssl_verify: true
132
- }}
127
+ configure_settings
133
128
  end
134
129
 
135
130
  def test_vault_token_issue
@@ -154,4 +149,9 @@ class RequestTest < Test::Unit::TestCase
154
149
  stub_response_renew
155
150
  renew
156
151
  end
152
+
153
+ def test_vault_settings
154
+ failure_msg = 'Unexpected Vault Configuration'
155
+ assert_equal [], vault_settings.values - Vault.options.values.compact, failure_msg
156
+ end
157
157
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smart_proxy_vault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Riley
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-11-15 00:00:00.000000000 Z
12
+ date: 2016-11-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -234,6 +234,7 @@ files:
234
234
  - test/factories/rsa.rb
235
235
  - test/fixtures/authentication/chef/bender.pem
236
236
  - test/fixtures/authentication/chef/fry.pem
237
+ - test/helpers/helpers.rb
237
238
  - test/request_test.rb
238
239
  - test/test_helper.rb
239
240
  homepage: http://github.com/theforeman/smart_proxy_vault
@@ -265,5 +266,6 @@ test_files:
265
266
  - test/factories/rsa.rb
266
267
  - test/fixtures/authentication/chef/bender.pem
267
268
  - test/fixtures/authentication/chef/fry.pem
269
+ - test/helpers/helpers.rb
268
270
  - test/request_test.rb
269
271
  - test/test_helper.rb