什么是覆盖厨师食谱属性的正确方法?

时间:2014-12-30 21:53:57

标签: vagrant chef

我正在添加Solr Chef recipeexisting vagrant box。我想覆盖版本属性here。我是否在其中一个json文件中覆盖这些变量,或者必须在配方属性文件中覆盖它?

1 个答案:

答案 0 :(得分:3)

对于您的用例,可以直接在Vagrantfile中覆盖它。查看更多关于chef solo and vagrant here的信息。

<强> tldr;

只需在您的Vagrant文​​件中提供chef.json选项,例如:

Vagrant.configure("2") do |config|
  config.vm.provision "chef_solo" do |chef|
# ...
    chef.json = {
     "solr" => {
       "version" => "4.6.1"
      }
    }
  end
end

在一般实践中,在角色内部设置属性或在社区角色周围创建wrapper cookbooks是很常见的,因此无需更改原始源代码。