我正在转换我的一个无主模块以使用Consul。如何使用外部事实传递Consul主机和Consul令牌?这些在每个环境中都会发生变化,而不是由Puppet管理的。我正在使用Puppet模块' lynxman-hiera_consul',#0.1; 0.1.2'。请注意,我必须将hiera.yaml降级到版本3才能将其与此模块一起使用。
在我的Puppet无主运行之前,我导出了一些事实
导出FACTER_CONSULHOST = consul-randomid..us-west-2.elb.amazonaws.com
导出FACTER_MYTOKEN = some-token
我可以用
测试它不可思议傀儡事实--debug | grep mytokenfacter consulhost; puppet facts --debug | grep consulhost
我的hiera.yaml看起来像Hiera.yaml Gist。如果我用字符串替换事实插值,这可以正常工作。
基本问题是第15行的事实插值
:token:"%{facts.mytoken}"
这是我测试此示例的示例 Consul.pp Gist