如何在自定义因子中读取hiera值

Aru*_*Raj 0 puppet facter puppet-enterprise librarian-puppet

我想从hiera读取我的自定义因子的值.可能吗 ?

我将根据我的hiera值填充一个因子.请查看以下代码供您参考.

require 'facter'

# Default for non-Linux nodes
Facter.add(:jboss_base_algorithm) do
    setcode do
        nil
    end
end

# Linux
#
Facter.add(:jboss_base_algorithm) do
    confine :kernel  => :linux
    setcode do
        Facter::Util::Resolution.exec("/usr/bin/echo '{hiera_value}' | /usr/bin/base64")
    end
end
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.

Joh*_*ger 5

自定义事实不能依赖于主/代理配置中的Hiera,因为事实由代理评估,而Hiera数据存在于主服务器上.

自定义事实可能不应该依赖于Hiera数据,即使对于本地清单应用程序,部分原因是因为它禁止切换到主/代理,部分原因是数据已经可以直接从Hiera访问.您不需要自定义事实来访问数据.