A set of tools for puppet <-> Hashicorp vault integration. Though a hiera-based solution exists, we chose a different solution to provide credentials to the puppet.
A facter plugin is used to fetch credentials from the vault credentials storage. The plugin expects either $VAULT_TOKEN and
A vault-token puppet module is used to generate a new accessor token using a pre-defined policy. This token is stored in a /etc/vault.conf file.
- unseal vault credential storage
- set a FACTER_vault_token environment variable with a root or other token with 'token creation capabilities'
- enable vault_token module: class{'vault_token': host => 'vault.domain.com', require => Package['curl'], }
- use variable: user{'vasya': password => "$::vault['users/vasya']", }