如何在一个厨师食谱的ruby_block中包含include_recipe

Jos*_*ese 6 chef-infra chef-recipe

我有一个配方在ruby_block中设置变量,需要使用该变量作为配方的输入属性.ruby_block执行后如何使用include_recipe?

谢谢

ruby_block "evaluate_config" do #~FC014
 block do

  file = File.read('/opt/config/baselogging.json')
  data = JSON.parse(file)

  node.default['kibana']['apache']['basic_auth_username'] = data['KibanaUser']
  node.default['kibana']['apache']['basic_auth_password'] = data['KibanaPassword']

  include_recipe 'kibana'

 end
end
Run Code Online (Sandbox Code Playgroud)

man*_*lhc 14

要包含ruby_block中的配方,必须使用run_context调用它.

例如:

ruby_block "evaluate_config" do #~FC014
 block do
   ...
   #include_recipe 'kibana'
   run_context.include_recipe "cookbook::recipe"
 end
end
Run Code Online (Sandbox Code Playgroud)