Foreman
Foreman
Foreman это средство автоматизации повторяющихся задач, развёрстывания приложений, управления циклом жизни ваших серверов по отдельности или в облаке.
Подготовка
Перед установкой убедитесь что PostgreSQL версии 11 и выше установлена и инициализирована. Это важно.
Установка
Чтобы установить средство, нужно от администратора поставить пакеты foreman, puppet-theforeman-foreman и foreman-addons, а всё требуемое вытянется по зависимостям.
# apt-get install foreman puppet-theforeman-foreman foreman-addons # apt-get dist-upgrade
Подготовьте экземпляр:
# railsctl setup foreman || echo "Ошибка подготовки"
Work dir is '/usr/lib/foreman' Processing rails application 'foreman' setup... Renewing dependencies... Checking migration and seeds... Generating API cache... Initializing webpack frontend... Initializing assets frontend... Cleaning... /var/log/foreman/db_setup.log:Login credentials: admin / MSaTPtFTwfsu5rcE
Если показывается надпись «Ошибка подготовки», то экземпляр Foreman не будет рабочий. Проверьте установку компонентов и повторите.
Настройка
Сделайте необходимые изменения в файле /etc/foreman/settings.yml
Настройте системную службу foreman-а на автозапуск (по желанию):
# systemctl enable foreman
а дальше запустите её (в случае, если сервис работает, то он будет перезапущен):
# systemctl restart foreman
Отныне средство будет доступно по адресу http://localhost:2345 из обозревателя.
Пароль и логин администратора создаются автоматически, и возвращаются скриптом настойки (см. лог выше), однако их можно получить, заглянув в лог:
# grep "Login credentials" /var/log/foreman/ -r /var/log/foreman/db_seed.log:Login credentials: admin / <your_password>
Настройка модуля ENC для взаимодействия с Puppetserver
Когда Foreman установлен и необходимо отредактировать файл /etc/puppet/puppet.conf
Раскомментируем строки
[master] ... external_nodes = /usr/lib/puppet-modules/theforeman-foreman/files/external_node_v2.rb node_terminus = exec
После изменения конфигурации Puppet потребуется перезапуск служб puppetserver и puppet
# systemctl restart puppetserver # systemctl restart puppet
Переустановка или обновление
Чтобы переустановить или обновить средство нужно выполнить 2 команды подряд, и затем снова выполнить настройку из соответствующего подраздела:
# railsctl cleanup foreman # railsctl setup foreman
Полное удаление
# railsctl mrproper foreman