diff --git a/site/profiles/manifests/vault/server.pp b/site/profiles/manifests/vault/server.pp index 665b2ea..3a7ecff 100644 --- a/site/profiles/manifests/vault/server.pp +++ b/site/profiles/manifests/vault/server.pp @@ -130,6 +130,20 @@ class profiles::vault::server ( mode => '0600', } + # go-plugin creates each secrets plugin's control socket under TMPDIR + # (/tmp/pluginNNN by default); systemd-tmpfiles-clean reaps aged /tmp files + # and severs the socket of a long-lived plugin, orphaning the process. Point + # TMPDIR at a per-start RuntimeDirectory on /run (tmpfs, no age cleanup). + systemd::manage_dropin { 'plugin-tmpdir.conf': + unit => 'vault.service', + service_entry => { + 'RuntimeDirectory' => 'vault-plugins', + 'RuntimeDirectoryMode' => '0700', + 'Environment' => 'TMPDIR=/run/vault-plugins', + }, + notify => Service['vault'], + } + service { 'vault': ensure => true, enable => true,