Я читал об использовании R10K с Puppet для управления моими средами с помощью git.
В соответствии с этот блог некоторые функции R10K были встроены в более поздние версии puppet:
Поскольку R10k был настолько популярен и широко применялся, решение среды, которое было простым шагом вперед по сравнению с развертыванием R10k, было сделано целевой, и родились среды каталогов.
Это заставило меня задуматься, следует ли мне использовать R10K. Итак, я начал читать об использовании контролировать репозитории в документации Puppet. Согласно документации я могу использовать R10K или Code Manager:
Если у вас уже есть файл Puppetfile, теперь вы можете настроить управление кодом. Шаги настройки управления кодом различаются в зависимости от того, используете ли вы Code Manager (рекомендуется) или r10k.
Я никогда не слышал о Code Manager, поэтому я пошел в страница с описанием Менеджера кода в документации Puppet. Согласно этой странице Code Manager использует R10K под капотом.
Из документации складывается впечатление, что диспетчер кода теперь является встроенной функцией Puppet? Это так или нужно что-то установить?
Примечание. Я использую версию Puppet для сообщества, а не Enterprise.
Code Manager - это функция только PE, она не встроена в Puppet.
Code Manager - это в основном API, который запускается, когда на вашем сервере Git происходят события.
Пример рабочего процесса с Gitlab:
Я упрощаю, так как есть другие шаги (проверка ошибок, аутентификация и т. Д.), Но по сути это то, что происходит.
Для пользователей с открытым исходным кодом в репозитории r10k есть менее функциональный инструмент, подобный Code Manager: https://github.com/voxpupuli/puppet-r10k#webhook-support
Он работает аналогичным образом, но имеет меньше функций и официально не поддерживается. Но это аналогичный рабочий процесс: приложение Sinatra прослушивает полезные нагрузки JSON, когда оно получает их, оно запускает, и R10k запускается для данной ветки.