我正在扩展puppetlabs-mongodb模块以允许用户身份验证。挑战在于 mongo 更改了在2.2和2.4版本之间启用用户身份验证的机制,因此必须运行不同的代码才能将用户身份验证凭据提供给数据库。
我最初的想法是创建一个自定义事实事实,该事实基本上捕获了 的输出mongod --version
,但似乎事实事实是在执行 puppet 清单之前加载的。有没有办法在 puppet 执行期间在运行时执行任意代码,以便我可以访问mongod --version
并决定使用哪种方法来启用用户身份验证?
注意:一种方法是让 puppet 运行单个脚本来创建用户凭据并让脚本
mongod --version
在运行时检测。这似乎不是一种非常木偶的做事方式,但也许我不相信这一点。处理在 puppet/facter 中动态访问变量的最佳方法是什么?