Puppet hiera-eyaml 模块不会在配置中插入变量

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,但是 puppet 配置变量也可以使用吗?

答案1

您可以将%{settings::confdir}其用作插值键。

https://puppet.com/docs/puppet/4.10/lang_facts_and_builtin_vars.html#puppet-master-variables

Puppet 主机设置了几个变量。这些变量在使用 Puppet 管理 Puppet 时非常有用。(例如,使用模板管理 puppet.conf。)

这些在 $facts 哈希中不可用。

[已移除]

$settings::<name of setting>(也可用于 puppet apply)— 任何主节点设置的值。这被实现为一个特殊的命名空间,并且这些变量必须通过其限定名称来引用。请注意,除了 $environment 和 $clientnoop 之外,代理节点的设置在清单中不可用。如果您希望在此版本的 Puppet 中将它们公开给主节点,则必须创建一个自定义事实。

相关内容