Фильтр кукольный 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 этот патч, вероятно, не поддерживается публично, поэтому вы будете самостоятельно, если решите его использовать.

Другие вопросы по тегам