Фильтр кукольный pluginsync
Есть ли способ отфильтровать, какие плагины синхронизируются? У меня есть несколько новых модулей, загруженных из кузницы (puppetboard,puppetdb,python). Эти модули включают в себя плагины, они также нужны только для мастера Puppet, плагины не нужны ни для одного из моих клиентов.
К сожалению, плагины facter в этих модулях приводят к сбою клиента puppet в некоторых старых системах, которые я не могу обновить до последней версии ruby / puppet / facter. Эти старые системы работают на устаревшем программном обеспечении, которое не может работать в более новой версии ОС без безумно болезненного количества хакерских атак. Все остальные мои плагины и пользовательские факты работают отлично. Поэтому я хочу сохранить синхронизацию плагинов, но исключить эти факты, которые ломают старые системы.
Кто-нибудь придумал хороший метод для частичной синхронизации плагинов? Я не нахожу никаких решений в моих поисках.
2 ответа
Нет возможности фильтровать плагины.
Но, как вы говорите в своем комментарии, вам нужно написать факты / типы для обработки ОС, на которой они работают. Для типов и поставщиков вы выходите рано.
Для фактов вы можете использовать ограничение: http://docs.puppetlabs.com/guides/custom_facts.html
Сама Puppet не поддерживает фильтрацию списков плагинов для синхронизации.
Тем не менее, вы можете залатать куклу, чтобы поддержать это, используя pluginsync_filter
патч от ЦЕРН.
После этого вы можете добавить такие модули в белый список через Hiera:
pluginsync_filter_enable: true
pluginsync_filter:
- whitelisted
- module
- names
Примечание: AFAIK этот патч, вероятно, не поддерживается публично, поэтому вы будете самостоятельно, если решите его использовать.