Skip to content

Commit 808e665

Browse files
author
vitalie
committed
Hashicorp Vault - underscore paths
1 parent 235ae87 commit 808e665

File tree

4 files changed

+23
-2
lines changed

4 files changed

+23
-2
lines changed

lib/travis/build/addons.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
require 'active_support/core_ext/string/inflections.rb'
1+
require 'active_support/core_ext/string/inflections'
22
require 'travis/build/addons/apt'
33
require 'travis/build/addons/apt_packages'
44
require 'travis/build/addons/apt_retries'

lib/travis/build/appliances/vault_keys.rb

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
require 'active_support/core_ext/object/blank'
12
require 'travis/build/appliances/base'
23
require 'travis/services/vault'
34

lib/travis/services/vault/keys/resolver.rb

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
require 'active_support/core_ext/object/blank'
2+
require 'active_support/core_ext/string/inflections'
3+
14
module Travis
25
module Vault
36
class Keys
@@ -27,7 +30,7 @@ def call
2730
env_name = key
2831
env_name = [secret_name, env_name].join('_') if true # To-Do: Make the prepend customizable from .travis.yml
2932
env_name = (path.split('/') << env_name).join('_') if false # To-Do: Make the prepend customizable from .travis.yml
30-
export(env_name.upcase, %("#{value}"), echo: false, secure: true)
33+
export(env_name.underscore.upcase, %("#{value}"), echo: false, secure: true)
3134
vault_secrets << value
3235
end
3336
else

spec/build/services/vault/keys/resolver_spec.rb

+17
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,24 @@
3939
call
4040
end
4141
end
42+
end
43+
44+
context 'when paths contain unusual chars' do
45+
let(:paths) { %w[path/to/something/secret-thing] }
46+
47+
before do
48+
Travis::Vault::Keys::KV2.stubs(:resolve).with(paths.first, vault).returns({ my_key: 'MySecretValue' })
49+
end
50+
51+
context 'when path returns value from Vault' do
52+
it do
53+
sh.expects(:echo).never
54+
sh.expects(:export).with('SECRET_THING_MY_KEY', %("MySecretValue"), echo: false, secure: true)
55+
data.expects(:vault_secrets=).with(%w[MySecretValue])
4256

57+
call
58+
end
59+
end
4360
end
4461

4562
context 'when path does not returns value from Vault' do

0 commit comments

Comments
 (0)