В Chef 11.6 добавлена поддержка среды для chef-solo, как описано здесь http://docs.opscode.com/essentials_environments.html#set-using-chef-solo
Однако я не могу найти способ настройки среды из файла атрибутов JSON. Я пытался установить ключи environment
и chef_environment
в файле json, и ни один из них не работает. Я могу установить среду через файл solo.rb, но мне было интересно, возможно ли это и через файл атрибутов json?
Я вызываю так:
chef-solo -l debug -c solo.rb -j node.json
solo.rb содержит:
root = File.absolute_path(File.dirname(__FILE__))
cookbook_path root + '/cookbooks'
data_bag_path root + '/data_bags'
role_path root + '/roles'
environment_path root + '/environments'
verbose_logging :false
node.json содержит:
{
"run_list": [ "recipe[env_log]" ],
"environment": "test1",
"chef_environment": "test2"
}
а рецепт env_log содержит только Chef::Log.info("Environment #{node.chef_environment}")
.