Назад | Перейти на главную страницу

Модуль Puppet hiera-eyaml не интерполирует переменные в конфигурации

Я использую модуль 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, вам нужно будет создать собственный факт.