Я только что настроил Foreman в первый раз и не уверен, как сделать так, чтобы все мои конфигурации были переведены под контроль версий. Я знаю, что могу использовать Git для каждого модуля, который я устанавливаю на своем хозяине Puppet, но предпочел бы более целостное решение, которое охватывает не только модули, но и классы, связанные с каждым хостом, и любые переменные, установленные на хостах. Любые предложения будут высоко оценены вместе с соответствующими рабочими процессами. В случае, если это уместно, у меня есть GitLab, настроенный как центральный сервер Git на месте, и я планирую в ближайшее время настроить сервер CI, такой как Jenkins.
8
Ответы:
Существует плагин для хранения определения вашей инфраструктуры в Foreman, в значительной степени сериализованная версия ваших данных в Git, и загрузка (и изменение вашей инфраструктуры) изменений. Может быть, это было бы полезно для вас
https://github.com/marianitadn/foregit
источник
С помощью foreman вы сможете просматривать все классы вместе с любой переменной конфигурации, назначенной в деталях хоста. Смотрите: http://theforeman.org/manuals/1.4/index.html .
источник
Я не уверен, что понимаю ваш вопрос, но вы сталкивались с «марионеточным библиотекарем» https://github.com/rodjek/librarian-puppet ? Там вы можете определить, какие версии / sha1 кукольных модулей вы хотели бы использовать.
источник
На тот случай, если кто-то прочтет это позже: с помощью puppet вы можете определить, какую версию пакета / программного обеспечения вы хотите установить, с помощью декларации "version => XYZ".
Джин, я старался изо всех сил, но я все еще не понимаю твой вопрос. Простите за это :(
источник
Я думаю, что вы ищете очень просто.
Конфиги Puppet находятся в
/etc/puppet
. Самый простой вариант - просто запуститьgit init /etc/puppet/
Затем вы можете добавить Gitlab в качестве пульта и нажать на него.
В качестве альтернативы вы можете попробовать что-то наподобие того, что я здесь опишу, и это не ориентировано на Формана, но я не вижу причин, почему вы не могли бы использовать это как вдохновение.
источник
Вы также можете рассмотреть etckeeper, который делает это автоматически
Вы даже можете написать обертку, как
vi puppet_wrapper.sh
Я работаю с этим некоторое время, и это нормально для моих нужд.
источник
Я думаю, вам просто нужно настроить репозиторий в git, где каждая ветка репозитория git будет отображаться в среду марионеток, а когда вы захотите что-то изменить в марионетке, просто клонируйте репо, внесите изменения и перенесите его в соответствующую ветку. Вам также необходимо настроить ловушку git, которая будет срабатывать при отправке изменений в репозиторий git, чтобы он обновлял сопоставленную среду на марионеточном сервере. Вы можете сделать все это вручную или просто через этот кукольный модуль.
https://github.com/theforeman/puppet-puppet
источник