Я работаю с установкой cfengine, которая выросла органически и стала довольно сложной. В некоторых строфах используется много классов, например, class1&(class2|class3)&!class4|class5
Есть ли какой-нибудь инструмент, который мог бы взять конфигурацию cfengine и упростить ее, подобно упрощению логических схем с помощью логической алгебры?
Если это не так, есть ли какие-нибудь инструменты для анализа конфигураций cfengine? Например, может оказаться полезным средство визуализации классов и объектов.
На основе CFEngine появился новый инструмент управления конфигурациями, который автоматизирует все конфигурации. В веб-интерфейсе вы определяете и параметризуете директивы, которые вы хотите применять к группе узлов, и автоматически генерирует обещания CFEngine для этих узлов.
Затем запущенные узлы cf-agent будут извлекать эти обещания, применять их и отправлять отчеты обратно в веб-интерфейс.
Вы можете найти этот инструмент, Rudder, здесь: http://www.rudder-project.org/
Отказ от ответственности: я один из разработчиков этого инструмента
Nova, коммерческая версия Cfengine, поможет вам проанализировать конфигурацию cfengine, связи между объектами, файлами и т. Д.
Однако я не знаю никаких инструментов, которые помогли бы вам упростить настройку cfengine. Первым шагом может быть изменение вашей последовательности входов / пакетов на основе классов хоста.
Или вы можете разделить свои файлы конфигурации, имея один набор для некоторых серверов, другой набор для других серверов и т.д., но вам придется поддерживать каждый из этих наборов файлов конфигурации ...
Попробуйте библиотеку бесплатных обещаний с эволюционным мышлением. Он отделяет данные от общих обещаний. Для внесения изменений обычно требуется только редактирование файла CSV.
http://evolvethinking.com/evolve-thinkings-free-cfengine-library/