Puppet – система управления конфигурацией, выпущенная Люком Канисом в 2005 году. Конфигурация описывается на декларативном языке Puppet в виде манифестов и модулей; агенты на серверах периодически получают каталог конфигурации с сервера Puppet и приводят систему в описанное состояние. В 2022 году компанию Puppet приобрела Perforce.
Основные понятия
- Ресурсы: пакеты, файлы, службы, пользователи.
- Манифесты, классы и модули.
- Facter – сбор фактов об узле.
- Hiera – хранение данных конфигурации отдельно от кода.
- Puppet Forge – каталог модулей сообщества.
Особенности
- Агентная модель с регулярным применением конфигурации и исправлением дрейфа.
- Подходит для больших парков серверов с долгим жизненным циклом.
- Открытая версия и коммерческие редакции; в 2024–2025 годах сообщество создало открытый форк OpenVox после изменения политики распространения сборок.
Сравнение
Ansible работает без агентов по SSH и проще для старта; Puppet лучше подходит для постоянного контроля состояния большого числа узлов.