Динамические метаданные в соответствии с платформой?

Можно ли определить платформу в файле metadata.rb Cookbook?

Например, что-то вроде этого:

if node['platform'] == 'aix'
   depends "cats", "< 1.0"
end

if node['platform'] == 'ubuntu'
   depends "cats", "> 1.0"
end

Но это невозможно, так как node недоступен в этом контексте. Есть ли другой способ?


person SystematicFrank    schedule 18.09.2014    source источник


Ответы (1)


Нет, зависимости поваренной книги полностью статичны. Это обсуждалось в течение некоторого времени в будущем, но серьезных предложений не поступало. Если вы заинтересованы в содействии, я приглашаю вас отправить Chef RFC с предлагаемым исправлением, если вы можете его придумать :)

Затруднение обычно заключается в том, что существуют причины для условных зависимостей, выходящие за рамки простой логики для каждой платформы. Это часто встречается в таких вещах, как runit и systemd, mysql и postgres, apache и nginx.

person coderanger    schedule 18.09.2014