configuration_service-provider-vault 2.0.11 → 2.0.12

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e2efda386b98936600169be0934aadde6b1cff9b
4
- data.tar.gz: 03e80961a58f8647c421f59068363ce12b14c234
3
+ metadata.gz: eec3721da8adb644965322492bdb6d4b732e262d
4
+ data.tar.gz: 8cbc4d28b57ddb179ae85fdd6e66d433533b6e93
5
5
  SHA512:
6
- metadata.gz: 1df77863012abfdd299b75083c12c77884a436f7c3b4ee44036f118a58b866bb75a724066528a1970b62dd5be9b466cad3b805ea95b3c6e00d98b40e55b83a26
7
- data.tar.gz: f33306925eacfb111d4e5e57c067186085d3fdf248c721a51e787c66965f5af0802a5eb78b3a4f899ef042baf6e953bf44201451a2604d5d38b3ecb024339cec
6
+ metadata.gz: 910f0639b50b61d0c5411add59b4e5637d20b1a523b568b0ea144a6152715f977c8938a507507d5c93f830dffdfd6f57fade9f99468209214f465a9aa919ac34
7
+ data.tar.gz: 4f48469e23fcec927342e4649ad72143bf650d5975d1f7cb75396cb72f6b7d621c36e30cf873b396507d88f134c9436ca30c2dabdc1640b983355d3029085754
data/.gemspec CHANGED
@@ -18,6 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.required_ruby_version = '>= 2.0'
22
+
21
23
  spec.add_dependency "vault", "~> 0.2"
22
24
  spec.add_dependency "configuration_service", "~> 2.0.5"
23
25
  spec.add_development_dependency "bundler", "~> 1.7"
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ /fixtures/vault.pid
data/.travis.yml CHANGED
@@ -1,9 +1,22 @@
1
+ ---
1
2
  language: ruby
2
3
  rvm:
3
- - 2.0.0
4
- - 2.2.2
4
+ - ruby-2.0.0
5
+ - ruby-2.3.0
6
+ - jruby-9.0.4.0
5
7
  before_install:
8
+ - r=$(rvm current)
9
+ - v=${r#*-}; v=${v%-clang}
10
+ - p=${r%%-*}
11
+ - if [ "$p" = "ruby" ]; then rebuild=true; fi
12
+ - if [ -n "$rebuild" ]; then git clone https://github.com/openssl/openssl.git; fi
13
+ - if [ -n "$rebuild" ]; then (cd openssl && git checkout OpenSSL_1_0_1n); fi
14
+ - if [ -n "$rebuild" ]; then (cd openssl && ./config -fPIC --prefix=/usr/local/ssl shared && make && sudo make install) >/dev/null; fi
15
+ - if [ -n "$rebuild" ]; then git clone https://github.com/rbenv/ruby-build.git; fi
16
+ - if [ -n "$rebuild" ]; then (cd ruby-build && sudo ./install.sh); fi
17
+ - if [ -n "$rebuild" ]; then RUBY_CONFIGURE_OPTS=--with-openssl-dir=/usr/local/ssl ruby-build $v ~/.rvm/rubies/$r; fi
6
18
  - rm -f vault_0.3.1_linux_amd64.zip
7
19
  - wget https://dl.bintray.com/mitchellh/vault/vault_0.3.1_linux_amd64.zip
8
20
  - unzip vault_0.3.1_linux_amd64.zip
9
21
  - sudo mv vault /usr/local/bin/
22
+ - gem install bundler
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ require "open3"
1
2
  require "bundler/gem_tasks"
2
3
 
3
4
  task :default => :test
@@ -12,6 +13,16 @@ task :test do
12
13
  end
13
14
  end
14
15
 
16
+ desc "Just fire up and tear down a vault server"
17
+ task :scramble do
18
+ if File.exists?("#{ENV["HOME"]}/.vault-token")
19
+ raise "cannot test with ~/.vault-token present"
20
+ end
21
+ with_devserver do
22
+ $stderr.puts "DEBUG: doing nothing..."
23
+ end
24
+ end
25
+
15
26
  desc "Run cucumber without starting a Vault development server"
16
27
  task :just_test do
17
28
  gem = Gem::Specification.find_by_name("configuration_service")
@@ -21,64 +32,14 @@ task :just_test do
21
32
  end
22
33
 
23
34
  def with_devserver
24
- assert_no_vault_server
25
- devserver_start
26
- File.unlink("#{ENV["HOME"]}/.vault-token")
35
+ ENV["VAULT_TOKEN"] = %x[bin/start-dev-server.sh].chomp
36
+ ENV["VAULT_ADDR"] = "https://127.0.0.1:8200"
37
+ ENV["VAULT_CACERT"] = "fixtures/ssl/ca-chain.cert.pem"
38
+ raise "Could not start vault dev server" unless $?.success?
27
39
  begin
28
40
  yield
29
41
  ensure
30
- devserver_stop
42
+ system("bin/stop-dev-server.sh")
31
43
  end
32
44
  end
33
45
 
34
- def assert_no_vault_server
35
- require "socket"
36
-
37
- begin
38
- Socket.tcp('127.0.0.1', 8200).close
39
- raise "can't start devserver; localhost already listening on TCP port 8200"
40
- rescue Errno::ECONNREFUSED
41
- end
42
- end
43
-
44
- def devserver_start
45
- require "open3"
46
-
47
- channel, notify = IO.pipe
48
-
49
- fork do
50
- channel.close
51
- begin
52
- _, stdout, _, wait_thr = Open3.popen3("vault server -dev")
53
- rescue
54
- notify.puts("Process.exit(0)")
55
- raise
56
- end
57
-
58
- vault_pid = wait_thr[:pid]
59
- notify.puts("ENV['VAULT_PID']='#{vault_pid}'")
60
- while line = stdout.gets
61
- line.chomp!
62
- if line =~ /export VAULT_ADDR='([^']+)'/
63
- notify.puts("ENV['VAULT_ADDR']='#{$1}'")
64
- elsif line =~ /^Root Token: (.+)/
65
- notify.puts("ENV['VAULT_TOKEN']='#{$1}'")
66
- notify.close
67
- break
68
- end
69
- end
70
- Process.detach(vault_pid)
71
- Process.exit(0)
72
- end
73
-
74
- notify.close
75
- while line = channel.gets
76
- line.chomp!
77
- eval line
78
- end
79
- %w[VAULT_PID VAULT_ADDR VAULT_TOKEN].each { |s| $stderr.puts "export #{s}='#{ENV[s]}'" }
80
- end
81
-
82
- def devserver_stop
83
- Process.kill("TERM", ENV['VAULT_PID'].to_i)
84
- end
@@ -0,0 +1,20 @@
1
+ #!/bin/sh -e
2
+
3
+ vault server -config fixtures/vault.d/configuration.json 1>&2 &
4
+ pid=$!
5
+ echo $pid > fixtures/vault.pid
6
+
7
+ while ! nc -z 127.0.0.1 8200; do
8
+ sleep 1
9
+ done
10
+
11
+ init=$(vault init -ca-cert fixtures/ssl/ca-chain.cert.pem -key-shares=1 -key-threshold=1)
12
+ # Key 1: 3635ffc636e58cd594b588084b599d661487c77d21eed2d5de048898474fac84
13
+ # Initial Root Token: 3c5bece4-c521-0334-2d01-81e91791fe85
14
+
15
+ key=$(echo "$init" | sed -ne 's/^Key 1: \(.*\)$/\1/p')
16
+ token=$(echo "$init" | sed -ne 's/^Initial Root Token: \(.*\)$/\1/p')
17
+
18
+ vault unseal -ca-cert fixtures/ssl/ca-chain.cert.pem $key 1>&2
19
+
20
+ echo $token
@@ -0,0 +1,4 @@
1
+ #!/bin/sh -e
2
+
3
+ kill $(cat fixtures/vault.pid)
4
+ rm -f fixtures/vault.pid
@@ -0,0 +1,71 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIGITCCBAmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgaUxCzAJBgNVBAYTAlpB
3
+ MRUwEwYDVQQIDAxXZXN0ZXJuIENhcGUxEjAQBgNVBAcMCUNhcGUgVG93bjEYMBYG
4
+ A1UECgwPSGV0em5lciBQVFkgTHRkMS4wLAYDVQQLDCVIZXR6bmVyIFBUWSBMdGQg
5
+ Q2VydGlmaWNhdGUgQXV0aG9yaXR5MSEwHwYDVQQDDBg6SGV0em5lciBQVFkgTHRk
6
+ IFJvb3QgQ0EwHhcNMTYwMjA0MTQ1MTM3WhcNMjYwMjAxMTQ1MTM3WjCBmDELMAkG
7
+ A1UEBhMCWkExFTATBgNVBAgMDFdlc3Rlcm4gQ2FwZTEYMBYGA1UECgwPSGV0em5l
8
+ ciBQVFkgTHRkMS4wLAYDVQQLDCVIZXR6bmVyIFBUWSBMdGQgQ2VydGlmaWNhdGUg
9
+ QXV0aG9yaXR5MSgwJgYDVQQDDB9IZXR6bmVyIFBUWSBMdGQgSW50ZXJtZWRpYXRl
10
+ IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9iuD7qiNE4E5X1ja
11
+ QVBmv3d9J+SkRjdOPKxaxNY6RAHa7kksZkuTIb1oa1Ik/T6U2NCZbsg7maNwfxOm
12
+ ewHnpeN6a0RtsTlp/PO/ev3CfULqA0OGDa6Um4bzHclPIfkzKIqMhKSjQ8FIQZln
13
+ 1J8lVImRUkQYukUYvDFm6850hISs0f4dDNIqep5Vog7Roj92bnQ1CnPF/zJ6r+PQ
14
+ AwqUTk45Ht5q6ebEdWA6NhWjmBWWfKpt+TnOTTT6cYFxI04cOv99qgqhHdArQa9w
15
+ 4HWo5lt3MckkkUJMtOhBICN0i7OCODj2RxTtOVRMBDzDg3KJH97T++lR6rvefPzj
16
+ nczP7a/GKQt19h7DD9N9oTAi4I31bYwLQhL77mnIdlqR7ZZxcRgQe9OZcpOGoNqA
17
+ lUio3DX1fjO0aQ12HG2KElD1GvOezFsJOADNE9BH0yhs+XKSNTzCX8Gn1OyvStFE
18
+ U9Qx0USs5r0ZuzwKJzMfueHv6848qCZqYrR1NezdJyub+xWnc+tjl5wdeCyOv7Cj
19
+ ivT1n2oyBDK/MwSlrDMZS88CNUAGLS5xV3CAZW49FfuQ5nx943T74QU1gw3yInnL
20
+ k6VuZ+djNxMQL4Lt72HdJnzt/+9upcU1YrTjDWmUGFKepE0esHBRsB3jmhVGqRuN
21
+ x5kpAsGS05viwMCsKyXJhFk0NtsCAwEAAaNmMGQwHQYDVR0OBBYEFMnYN4t8kJ9l
22
+ fZ8URkzkw2Q+Fco6MB8GA1UdIwQYMBaAFEmLx8tSTjPPxgRXaAekVbOHQIYJMBIG
23
+ A1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUA
24
+ A4ICAQAs6iD73Glj244NQ2qJwYPBTW8meML4iLB/zE10y1Q5Rumgme6Lil/5o2Xy
25
+ iRSAgpvcncxOWOiHv855hlCMFuUly9nRRfEe84Z2G/t8YrPxrLlLEj5hFfhuGh1t
26
+ 77Bryq7jGjG05P7HyE5gNIfzm+Q5KqNt8xgm949VemBre4akRSOudfp9sC98nB0L
27
+ 5mMvyhjIc9HC9PgZeKZVEKlCl75LK7yxOWDX1L+vv5ZmjOeF4srQnYyMBd280h68
28
+ PYyqws7S1afCj0A274xqEaKtBx+WP5CEjeEjJWgCaRAcCSAd0T+IX0XpN2nwub9L
29
+ gxCPTlDPaoXKt+Vu1SjQyWs0U1igMA+XOlQqExvbGOo2+i4Cp06EUrCofIT/dDM4
30
+ SCy8FshbhMiSSMW4Uf4cmpWfD/kVSvm3WDtlbDO+ZOX8gLvB2uvgtfyzvZsF6Qbq
31
+ 1+9WZy5x/VwJXGAHj4Hl9QpcqWEIqgjUN1ltzxSSsQC6KxByQWerziTpHt2yX+31
32
+ rm0fQ8uUvil2KfK+RI8rotmb/VpBNBcbXHvBNkAecYBfJT88S4mN84NEP1lIQ2OO
33
+ Kb2xL0wgYLUKmrFAS5+psTRqNZGG9ndZtHWBfEa4hZsDGLyyeDYWkXvNcVmAAYHz
34
+ 2Fk/KPXYeJ9/ZqLSaPoIgHZLjs/uGOQ06BP79NIyI5FyMwsOeg==
35
+ -----END CERTIFICATE-----
36
+ -----BEGIN CERTIFICATE-----
37
+ MIIGMjCCBBqgAwIBAgIJAIPECGxEZLbHMA0GCSqGSIb3DQEBCwUAMIGlMQswCQYD
38
+ VQQGEwJaQTEVMBMGA1UECAwMV2VzdGVybiBDYXBlMRIwEAYDVQQHDAlDYXBlIFRv
39
+ d24xGDAWBgNVBAoMD0hldHpuZXIgUFRZIEx0ZDEuMCwGA1UECwwlSGV0em5lciBQ
40
+ VFkgTHRkIENlcnRpZmljYXRlIEF1dGhvcml0eTEhMB8GA1UEAwwYOkhldHpuZXIg
41
+ UFRZIEx0ZCBSb290IENBMB4XDTE2MDIwNDE0NTAwM1oXDTM2MDEzMDE0NTAwM1ow
42
+ gaUxCzAJBgNVBAYTAlpBMRUwEwYDVQQIDAxXZXN0ZXJuIENhcGUxEjAQBgNVBAcM
43
+ CUNhcGUgVG93bjEYMBYGA1UECgwPSGV0em5lciBQVFkgTHRkMS4wLAYDVQQLDCVI
44
+ ZXR6bmVyIFBUWSBMdGQgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MSEwHwYDVQQDDBg6
45
+ SGV0em5lciBQVFkgTHRkIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw
46
+ ggIKAoICAQDPdYR521NrO6ccGxSCHUukafstCJXKcOKQYSEPMUjlB6r3EwkgUGL9
47
+ h8IdAqQiSvZLtTPpaPVabiA6E1bHYq4NRdqvkUFfJdRQazSEFdYkW4h+koSn/Pyu
48
+ f4qtgf7XyVsd/ZPizmoOB7eYFpycG+YKfRm7wPTwGuVQDlkOG2H20v1UJ3cKybja
49
+ NAuNGdivVIvmC+2uL692O9/dIMHSJ4Jzy2Bzs4fLfzo8NVIjCBKXpItx50Bl+UUu
50
+ ob3XNYe/2Gcxibp9KVqC7fxVOO2/pSmNpA3mR+ghfnuG9BtfXvUxcogV6GYfX7Ou
51
+ iDJ4H3kwLUxjKzEApHuZvq5Pu9RkIcMn8fQ48BGxD0cblv4RY1T1uV7oxq4eLmco
52
+ QFU8DjEC40CwYjnotprQUIlGHsix1hNfcD+4zcM9ua1OXVspmvv0CFxBGg3Zvreu
53
+ RCQbkpfQCj8GnTwOUY9Nk1NyDcOD06+aDau6s8swFbUTaEPeFDD5hamx9jQuo3fp
54
+ swDlgExSHw1jJgoZ6Iceo9QY1tY6AaWY/HA1LlBhtR0qXitIpqtAwB5GW3QddKZL
55
+ tfuLrPlnhU+gn7rj92w/lcKjepxcNp7xyHKwGnGM9ipys9yZkRKBXYSUCfdet2v0
56
+ 4j8SBXgxyN65vyKzjdjJe1SszTunnILD451NdznsNtwCYA4I+I+RZwIDAQABo2Mw
57
+ YTAdBgNVHQ4EFgQUSYvHy1JOM8/GBFdoB6RVs4dAhgkwHwYDVR0jBBgwFoAUSYvH
58
+ y1JOM8/GBFdoB6RVs4dAhgkwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
59
+ AYYwDQYJKoZIhvcNAQELBQADggIBABXm8BnNAYqztRCjp+7N9G1aYDvJojetN6j+
60
+ e/E7XBadhIJmKOVd0U5XHbj/Cqov0zidZJ5iQG8HIwWIp6MDTaJP6t7QEko9mtkI
61
+ ZYw2G1GkvRcA+mxzkw01blfDr9SA29wZf0IDuOgi4oVMvnm+GKdgVMovTilyVYX8
62
+ 5QSUPdF6UJbXEfNSKgzDZJQcTsdrJhBwLkgUoa/X+5JXOy/q+dUm302jDk9jn9+k
63
+ PfX+0uHAVmNf6Y+Ra1zpZ8xseGOujdoGiLO/2K16+J/5bb/51Tx47CLrNRC5j/jG
64
+ AdbGWg1tUUN0ctQopYYNA4tprkXfBLRvQYt5uA09nn9eKI2isyld2Eha09tXsoVv
65
+ uouIO7jvcoZk0sUOAs5L2zA5uT8FTylYInr++dHBZuc81SWPI+0GOUK/SIOLerGD
66
+ 5+oMocum6+Qo/PpZhw48Awf3Qy8nFFXpn4dngWoLXWlMMEpWEFIDS5B051tZvViV
67
+ rh3c8goozIIpEeXvxHp42ICBcjw7QLMYviBv2/WcItrrQbviAagxBEhiwZC6jrw5
68
+ gXEcsfuCjc0n+XE/9Tw2aJphWyyXMSvZC46MO3MHG7s5Wlpu205k6yrEb8XryWBG
69
+ q0xrZ0afHa4FM3oRxhSgonYQuX4K/aIdT1qzUrf/69jMgbGbnPo5xFS54I7+JtkZ
70
+ iP9EjJlQ
71
+ -----END CERTIFICATE-----
@@ -0,0 +1,41 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIHMzCCBRugAwIBAgICEAYwDQYJKoZIhvcNAQELBQAwgZgxCzAJBgNVBAYTAlpB
3
+ MRUwEwYDVQQIDAxXZXN0ZXJuIENhcGUxGDAWBgNVBAoMD0hldHpuZXIgUFRZIEx0
4
+ ZDEuMCwGA1UECwwlSGV0em5lciBQVFkgTHRkIENlcnRpZmljYXRlIEF1dGhvcml0
5
+ eTEoMCYGA1UEAwwfSGV0em5lciBQVFkgTHRkIEludGVybWVkaWF0ZSBDQTAeFw0x
6
+ NjAyMDYwNzM4MzRaFw0xOTAyMDUwNzM4MzRaMGYxCzAJBgNVBAYTAlpBMRUwEwYD
7
+ VQQIDAxXZXN0ZXJuIENhcGUxEjAQBgNVBAcMCUNhcGUgVG93bjEYMBYGA1UECgwP
8
+ SGV0em5lciBQVFkgTHRkMRIwEAYDVQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3
9
+ DQEBAQUAA4ICDwAwggIKAoICAQDgg2W2IhdqdSreSP39MK5aayGHMVl944LNa4BY
10
+ ahTwi2AT8AgYDvQxByr+j9dzLr7qmMbFtTqFDr/YFIKxaIqpkfWKamrkhqI9n3ZL
11
+ pBMN5PQ3/rKNy60EzCQeJNl/XbsFsgA1Kyd8DhbFeAHYB4TTxCXACFsukJIRehLP
12
+ 0sdasAnvjMUXzhOfusq0YU8iGBP14yFQqH0/YWTBrrIiSusu/0Ktb2RaCcYu35sd
13
+ pjQhqmpqnW4uR1swF0zZyYB89T0Kj69SdgATIdPs3O7LCKCZLG+pD0xBmcveZAlL
14
+ e/GUmjHMYI1TDlODDOfpvonJazC5AElJI24jmBbUKlwwDyhkDXRpPkkgmVmLQBy0
15
+ UY4zw2FXyrpEqrO97Di4ZwBmfiiVaMW8eWXQsf0ROBV0m7lUBlw1VLKvWgpT8pgX
16
+ WwmZ6xDWOxPJ4bifWFiTa79KzMLxQv+O29pfaUlLUnoSkyaeMYhGVYKepWkUSrvG
17
+ 7ABNBgd1iNCZer8kDe4rYWnhhfgN/RoRJd77vRVTbIhGd6YOB88tdLHGKgjr89fc
18
+ zAurd/qJ3XsNHa/pNF09/YK9dbREErYkVloJEqH7UtQx+cWrlrBiDjnK9hV3HvuZ
19
+ 0GxR3KlNB5UjZArnUPNgtCsZxcA0D8o7eHMRh7QQgV8CPI6xCsNy9fHLPzXcGgGL
20
+ gtOIDwIDAQABo4IBtjCCAbIwCQYDVR0TBAIwADARBglghkgBhvhCAQEEBAMCBkAw
21
+ MwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJhdGVkIFNlcnZlciBDZXJ0aWZp
22
+ Y2F0ZTAdBgNVHQ4EFgQUiNbH+6oNwexJZ64b04Cf7aR+tvMwgdMGA1UdIwSByzCB
23
+ yIAUydg3i3yQn2V9nxRGTOTDZD4VyjqhgaukgagwgaUxCzAJBgNVBAYTAlpBMRUw
24
+ EwYDVQQIDAxXZXN0ZXJuIENhcGUxEjAQBgNVBAcMCUNhcGUgVG93bjEYMBYGA1UE
25
+ CgwPSGV0em5lciBQVFkgTHRkMS4wLAYDVQQLDCVIZXR6bmVyIFBUWSBMdGQgQ2Vy
26
+ dGlmaWNhdGUgQXV0aG9yaXR5MSEwHwYDVQQDDBg6SGV0em5lciBQVFkgTHRkIFJv
27
+ b3QgQ0GCAhAAMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcDATBD
28
+ BgNVHREEPDA6gglsb2NhbGhvc3SCFWxvY2FsaG9zdC5sb2NhbGRvbWFpbocEfwAA
29
+ AYcQAAAAAAAAAAAAAAAAAAAAATANBgkqhkiG9w0BAQsFAAOCAgEAzuMx9N9li+3d
30
+ JU1e3LSsQ4DqpVYIoFjJ0q7HkyzLZME51O+WuGJwIufEVWykwxtbNbHX6DfGHf+M
31
+ BF7DGxaza8UKQvv5P9DeIfGhvJtczARENVpqwKnR+Ior1UGv+QNVLDblXCLLqn08
32
+ EmHdof6BRoyas3IboWV7fIbUPMhMEO2NBcuULFs4NcqTYdyAyID9yz3a4+63dqZq
33
+ uYCaFDViRshjtqnmnWQtWnUx9miP8PEnBWNUSIeXnAa8HhN2HWWuL+4pp5j6UOZt
34
+ BcdtvS8ho/6vgxrA4YZNkhg+3wjJLvuKKZGhtqG7ZaD3nohOFIQkay1DVkVQsmEF
35
+ fbLZmhDx4HmZgpdD8LMQctN5FvkLFEm5VyLHJy3bvJxJsekvxge8OcrL6vnONvix
36
+ 0pqR/y1RpM40q99HmRq7Z0OpKhoH41ta4D01m0v5KgqrKWG52zNM7UmXzf3T+HEl
37
+ HR7mCV9TnvLKLcLU9r321QmVoPR7soVvRblwfA4yx14yYysTWPm044esp9Rn2quH
38
+ oEB0+JHqOPxC6xiXLc6qloQI2V2yj+sfQEUEzY9M2o7tpQHQmdnd4JAka/Hw/DaB
39
+ LkrZ1CR+O2u9Y8Gsnxt6+f2R8o2+mlo6EPtDzhpc0pau4yVLmzQiigj/GoewjrOV
40
+ oZTKK8bcH9Cet4BEDZJw6lG7m4PEYbo=
41
+ -----END CERTIFICATE-----
@@ -0,0 +1,51 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ 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
51
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1,16 @@
1
+ {
2
+ "disable_mlock": true,
3
+ "default_lease_ttl": "24h",
4
+ "max_lease_ttl": "24h",
5
+ "backend": {
6
+ "inmem":{
7
+ }
8
+ },
9
+ "listener": {
10
+ "tcp": {
11
+ "address":"127.0.0.1:8200",
12
+ "tls_cert_file":"./fixtures/ssl/localhost.cert.pem",
13
+ "tls_key_file":"./fixtures/ssl/localhost.key.pem"
14
+ }
15
+ }
16
+ }
@@ -17,13 +17,20 @@ module ConfigurationService
17
17
  #
18
18
  class Vault
19
19
 
20
+ ##
21
+ # @private
22
+ SSL_CIPHERS = "TLSv1.2+HIGH:!aNULL:!eNULL"
23
+
20
24
  ##
21
25
  # @param [Hash] options
22
26
  # @option options [String] :address {https://vaultproject.io HashiCorp Vault} HTTP service URL
23
27
  def initialize(options = {})
24
28
  address = options[:address] or raise ArgumentError, "missing required argument: address"
25
29
  @vault = ::Vault::Client.new(address: address)
26
- @vault.ssl_ciphers = "TLSv1.2+HIGH:!aNULL:!eNULL"
30
+ @vault.ssl_ciphers = SSL_CIPHERS
31
+ if ca_cert = options[:ca_cert]
32
+ @vault.ssl_ca_cert = ca_cert
33
+ end
27
34
  end
28
35
 
29
36
  ##
@@ -4,7 +4,7 @@ module ConfigurationService
4
4
 
5
5
  class Vault
6
6
 
7
- VERSION = "2.0.11"
7
+ VERSION = "2.0.12"
8
8
 
9
9
  end
10
10
 
@@ -17,14 +17,16 @@ module ConfigurationService
17
17
  ##
18
18
  # A new instance of VaultAdminClient
19
19
  #
20
- # It expects a development mode Vault instance listening at +http://127.0.0.1:8200+ and expects a root token for that
21
- # instance in the +VAULT_TOKEN+ envinronment variable.
20
+ # It expects a development mode Vault instance listening at +https://127.0.0.1:8200+ and expects a root token for that
21
+ # instance in the +VAULT_TOKEN+ envinronment variable. Accepts the +VAULT_ADDR+ and +VAULT_CACERT+ environment
22
+ # variables if present.
22
23
  #
23
- def initialize
24
+ def initialize(options = {})
24
25
  if ENV["VAULT_TOKEN"] and File.exists?("#{ENV["HOME"]}/.vault-token")
25
26
  $stderr.puts "warning: ~/.vault-token overrides VAULT_TOKEN environment variable"
26
27
  end
27
28
  @vault = ::Vault::Client.new
29
+ @vault.ssl_ciphers = ConfigurationService::Provider::Vault::SSL_CIPHERS
28
30
  end
29
31
 
30
32
  ##
@@ -29,13 +29,13 @@ module ConfigurationService
29
29
  # @see http://www.rubydoc.info/gems/configuration_service/ConfigurationService/Test/OrchestrationProvider#service_provider_configuration-instance_method ConfigurationService::Test::OrchestrationProvider#service_provider_configuration
30
30
  #
31
31
  def service_provider_configuration
32
- {address: "http://127.0.0.1:8200"}
32
+ {address: (ENV["VAULT_ADDR"] || "https://127.0.0.1:8200"), ca_cert: (ENV["VAULT_CACERT"] || "fixtures/ssl/ca-chain.cert.pem")}
33
33
  end
34
34
 
35
35
  ##
36
36
  # The service provider under test
37
37
  #
38
- # @see ihttp://localhost:8808/docs/ConfigurationService/Test/VaultOrchestrationProvider#service_provider-instance_method ConfigurationService::Test::OrchestrationProvider#service_provider
38
+ # @see http://localhost:8808/docs/ConfigurationService/Test/VaultOrchestrationProvider#service_provider-instance_method ConfigurationService::Test::OrchestrationProvider#service_provider
39
39
  #
40
40
  def service_provider
41
41
  ConfigurationService::Provider::Vault.new(service_provider_configuration)
@@ -47,7 +47,7 @@ module ConfigurationService
47
47
  # @see http://localhost:8808/docs/ConfigurationService/Test/VaultOrchestrationProvider#broken_service_provider-instance_method ConfigurationService::Test::OrchestrationProvider#broken_service_provider
48
48
  #
49
49
  def broken_service_provider
50
- ConfigurationService::Provider::Vault.new(address: "http://127.0.0.1:8201")
50
+ ConfigurationService::Provider::Vault.new(address: "https://127.0.0.1:8201")
51
51
  end
52
52
 
53
53
  ##
metadata CHANGED
@@ -1,94 +1,94 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configuration_service-provider-vault
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.11
4
+ version: 2.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sheldon Hearn
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-02 00:00:00.000000000 Z
11
+ date: 2016-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: vault
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0.2'
20
- type: :runtime
19
+ name: vault
21
20
  prerelease: false
21
+ type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: configuration_service
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - "~>"
32
31
  - !ruby/object:Gem::Version
33
32
  version: 2.0.5
34
- type: :runtime
33
+ name: configuration_service
35
34
  prerelease: false
35
+ type: :runtime
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.0.5
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - "~>"
46
45
  - !ruby/object:Gem::Version
47
46
  version: '1.7'
48
- type: :development
47
+ name: bundler
49
48
  prerelease: false
49
+ type: :development
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.7'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
60
  version: '10.0'
62
- type: :development
61
+ name: rake
63
62
  prerelease: false
63
+ type: :development
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: cucumber
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - "~>"
74
73
  - !ruby/object:Gem::Version
75
74
  version: '2.0'
76
- type: :development
75
+ name: cucumber
77
76
  prerelease: false
77
+ type: :development
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rspec-expectations
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
86
  - - "~>"
88
87
  - !ruby/object:Gem::Version
89
88
  version: '3.3'
90
- type: :development
89
+ name: rspec-expectations
91
90
  prerelease: false
91
+ type: :development
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
@@ -111,11 +111,17 @@ files:
111
111
  - Rakefile
112
112
  - bin/console
113
113
  - bin/setup
114
+ - bin/start-dev-server.sh
115
+ - bin/stop-dev-server.sh
114
116
  - contrib/.gitignore
115
117
  - contrib/README.md
116
118
  - contrib/authorize.rb
117
119
  - contrib/publish.rb
118
120
  - contrib/request.rb
121
+ - fixtures/ssl/ca-chain.cert.pem
122
+ - fixtures/ssl/localhost.cert.pem
123
+ - fixtures/ssl/localhost.key.pem
124
+ - fixtures/vault.d/configuration.json
119
125
  - lib/configuration_service/provider/vault.rb
120
126
  - lib/configuration_service/provider/vault/path_helper.rb
121
127
  - lib/configuration_service/provider/vault/version.rb
@@ -124,7 +130,7 @@ files:
124
130
  homepage: https://github.com/hetznerZA/configuration_service-provider-vault
125
131
  licenses: []
126
132
  metadata: {}
127
- post_install_message:
133
+ post_install_message:
128
134
  rdoc_options: []
129
135
  require_paths:
130
136
  - lib
@@ -132,16 +138,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
132
138
  requirements:
133
139
  - - ">="
134
140
  - !ruby/object:Gem::Version
135
- version: '0'
141
+ version: '2.0'
136
142
  required_rubygems_version: !ruby/object:Gem::Requirement
137
143
  requirements:
138
144
  - - ">="
139
145
  - !ruby/object:Gem::Version
140
146
  version: '0'
141
147
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.5.1
144
- signing_key:
148
+ rubyforge_project:
149
+ rubygems_version: 2.4.8
150
+ signing_key:
145
151
  specification_version: 4
146
152
  summary: Vault provider for Configuration Service
147
153
  test_files: []