Я хочу, чтобы можно было очень легко настраивать новые серверы для разработки / тестирования / производства. Причины, по которым можно установить новую виртуальную машину разработчика, очевидны, но в отношении продукции меня беспокоит добавление нового производственного сервера / переход на новый сервер.
Я предполагаю, что традиционное решение для резервного копирования не будет работать, поскольку оборудование может быть другим, поэтому двоичные файлы / config могут быть другими.
В любом случае я хочу получить опыт работы с марионеткой, поэтому я думал о создании манифеста, который бы настраивал моих пользователей, устанавливал Postgres, Nginx, PHP-FPM и т. Д. И настраивал их так, как я указываю. Затем я мог установить марионетку на новый сервер, скопировать свой манифест и применить его локально. Это также упростило бы синхронизацию моих конфигураций сервера.
Есть ли лучший подход, о котором я не знаю, и есть ли в моем подходе подводные камни?
Вы можете использовать инструмент Blueprint для обратного проектирования работающего сервера.
Он может генерировать модуль Puppet, поваренную книгу Chef или даже набор сценариев оболочки для воспроизведения конфигурации системы.