Назад | Перейти на главную страницу

Как в Chef переопределить значения атрибутов по умолчанию в node.json

Я бегаю шеф-поваром с chef-solo -c solo.rb -j node.json -ldebug и это не удается, потому что поваренная книга / рецепт nginx ссылается на пользовательские "www-data", которых у меня нет. Могу ли я изменить значение в файле node.json? Мой node.json выглядит так:

{
  "nginx": {
    "user": "my_username"
  },
  "run_list": [
    "recipe[nginx]",
    "recipe[mysql::server]"
  ]
}

Моя проблема рецепт Opscode nginx игнорирует этот параметр.

Файл "json_attribs", переданный с -j опция для chef- {client, solo} предназначена для представления объекта узла "по умолчанию", аналогичного тому, что произошло бы, если бы вы выполнили knife node create FOO для создания нового пустого узла на Chef Server. Чтобы переопределить атрибуты в кулинарных книгах, вы должны применить их с ролями.

Шеф-повар Соло может использовать роли. Вы должны указать role_path в файле конфигурации.

http://wiki.opscode.com/display/chef/Chef+Solo#ChefSolo-Roles

да :-)

www-data - это просто пользователь по умолчанию, который находится в debian (и системах, подобных debian) для запуска веб-серверов. Измените его на что-то другое, кроме root и все должно быть в порядке. Для большинства дистрибутивов, где нет www-data Eсть httpd пользователь, иначе вы можете nobody.

Если вы работаете в Windows, используйте соответствующего пользователя.