Skip to content

Commit 1bc69fc

Browse files
committed
Support upgrades and trigger restart of vault
Closes jsok/pull/154 Closes jsok/puppet-vault/issues/63
1 parent bc9c9ff commit 1bc69fc

File tree

2 files changed

+44
-23
lines changed

2 files changed

+44
-23
lines changed

manifests/config.pp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
owner => $::vault::user,
3636
group => $::vault::group,
3737
mode => $::vault::config_mode,
38+
notify => Class['vault::service'],
3839
}
3940

4041
# If manage_storage_dir is true and a file or raft storage backend is configured

manifests/install.pp

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,72 @@
11
# == Class vault::install
22
#
33
class vault::install {
4+
45
$vault_bin = "${::vault::bin_dir}/vault"
56

67
case $::vault::install_method {
7-
'archive': {
8-
if $::vault::manage_download_dir {
9-
file { $::vault::download_dir:
10-
ensure => directory,
11-
}
8+
'archive': {
9+
if $::vault::manage_download_dir {
10+
file { $::vault::download_dir:
11+
ensure => directory,
1212
}
13+
}
1314

14-
archive { "${::vault::download_dir}/${::vault::download_filename}":
15-
ensure => present,
16-
extract => true,
17-
extract_path => $::vault::bin_dir,
18-
source => $::vault::real_download_url,
19-
cleanup => true,
20-
creates => $vault_bin,
21-
before => File['vault_binary'],
22-
}
15+
$_manage_file_capabilities = true
16+
$_vault_versioned_bin = "/opt/vault-${::vault::version}/vault"
17+
18+
file { "/opt/vault-${::vault::version}":
19+
ensure => directory,
20+
owner => 'root',
21+
group => 'root',
22+
mode => '0755',
23+
}
24+
25+
archive { "${::vault::download_dir}/${::vault::download_filename}":
26+
ensure => present,
27+
extract => true,
28+
extract_path => "/opt/vault-${::vault::version}",
29+
source => $::vault::real_download_url,
30+
cleanup => true,
31+
creates => $_vault_versioned_bin,
32+
before => File['vault_binary'],
33+
}
2334

24-
$_manage_file_capabilities = true
35+
file { 'vault_binary':
36+
path => $vault_bin,
37+
target => $_vault_versioned_bin,
38+
owner => 'root',
39+
group => 'root',
40+
mode => '0755',
41+
notify => Class['vault::service'],
2542
}
2643

44+
}
45+
2746
'repo': {
2847
package { $::vault::package_name:
2948
ensure => $::vault::package_ensure,
3049
}
3150
$_manage_file_capabilities = false
51+
$_vault_versioned_bin = undef
52+
53+
file { 'vault_binary':
54+
path => $vault_bin,
55+
owner => 'root',
56+
group => 'root',
57+
mode => '0755',
58+
}
3259
}
3360

3461
default: {
3562
fail("Installation method ${::vault::install_method} not supported")
3663
}
3764
}
3865

39-
file { 'vault_binary':
40-
path => $vault_bin,
41-
owner => 'root',
42-
group => 'root',
43-
mode => '0755',
44-
}
45-
4666
if !$::vault::disable_mlock and pick($::vault::manage_file_capabilities, $_manage_file_capabilities) {
4767
file_capability { 'vault_binary_capability':
4868
ensure => present,
49-
file => $vault_bin,
69+
file => pick($_vault_versioned_bin, $vault_bin),
5070
capability => 'cap_ipc_lock=ep',
5171
subscribe => File['vault_binary'],
5272
}

0 commit comments

Comments
 (0)