Я использую модуль hiera-eyaml, https://github.com/voxpupuli/hiera-eyaml, и хотите динамически установить путь для открытого и закрытого ключей. Я пробовал использовать:
options:
pkcs7_private_key: %{confdir}/keys/private_key.pkcs7.pem
pkcs7_public_key: %{confdir}/keys/public_key.pkcs7.pem
Но %{confdir}
пусто, а полученный путь /keys/public_key.pkcs7.pem
. Я что-то делаю не так или это не поддерживается?
Я знаю, что факты можно использовать в конфиге hiera, https://puppet.com/docs/puppet/5.2/hiera_config_yaml_5.html, но можно ли также использовать переменные конфигурации марионетки?
Ты можешь использовать %{settings::confdir}
как ключ интерполяции.
https://puppet.com/docs/puppet/4.10/lang_facts_and_builtin_vars.html#puppet-master-variables
Мастер Марионетки устанавливает несколько переменных. Они наиболее полезны при управлении Puppet с помощью Puppet. (Например, управление puppet.conf с помощью шаблона.)
Они недоступны в хэше $ fact.
[удалено]
$settings::<name of setting>
(также доступно для марионеточного применения) - значение любой из настроек мастера. Это реализовано как специальное пространство имен, и эти переменные должны упоминаться по их полным именам. Обратите внимание, что кроме $ environment и $ clientnoop параметры узла агента недоступны в манифестах. Если вы хотите предоставить их мастеру в этой версии Puppet, вам нужно будет создать собственный факт.