我正在编写一个 Ohai 插件来添加一些由厨师客户端使用的自定义属性。我在哪里包含 plugin.rb 文件?

是在食谱里面吗?

还是我必须将其复制到某个标准位置?

Chef 文档和其他教程并没有提供太多关于此信息的信息(或者我一定错过了一个非常明显的事实)。我知道在 Puppet 中,您可以在模块的 lib/factory/文件夹中包含自定义事实。厨师也一样吗?

最佳答案

这并不像听起来那么难,但我同意 Ohai 7 上的文档缺少 Ohai 6 docs 中存在的一些信息。

但是, ohai resourceohai cookbook 正是您要寻找的。可以在 recipe of mine 中找到使用它的示例。

基本上,您首先必须将插件的 .rb 文件放入 Ohai 的插件路径 ( node[:ohai][:plugin_path] ) 中,然后重新加载 Ohai 以使属性在当前厨师运行中可用:

ohai "reload" do
  action :reload
end

template "#{node[:ohai][:plugin_path]}/myplugin.rb" do
  notifies :reload, "ohai[reload]"
end

关于chef-infra - 如何分发自定义 Ohai 插件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25415967/

10-10 11:04