我正在将我的一个无主模块转换为使用 Consul。如何使用外部事实传入 Consul 主机和 Consul 令牌?这些在每个环境中都会发生变化,并且不受 Puppet 管理。我正在使用 Puppet 模块“lynxman-hiera_consul”、“0.1.2”。请注意,我必须将 hiera.yaml 降级到版本 3 才能与此模块一起使用。
在我的 Puppet masterless 运行之前,我导出了一些事实
export FACTER_CONSULHOST=consul-randomid..us-west-2.elb.amazonaws.com
导出 FACTER_MYTOKEN=一些令牌
我可以测试这是否适用
事实mytoken;傀儡事实--debug|grep mytoken
facter consulhost;puppet 事实 --debug|grep consulhost
我的 hiera.yaml 看起来像这样Hiera.yaml Gist。如果我用字符串替换事实插值,这很好用。
基本问题是第 15 行的事实插值
:token: "%{facts.mytoken}"