我正在使用 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 中将它们公开给主节点,则必须创建一个自定义事实。