Привет!
Сорри за возможный глупый вопрос.
У меня есть задача — linux система в образе (в виде box для vagrant). Хочу автоматом накатить туда различного софта, после ее поднятия. Известно, что это делается при помощи скриптов, написанных на shell, а также замечательных provisioning тулов типа puppet (chef и т.п.). Все это можно впихнуть в процесс поднятия системы vagrant'ом.
Последним (puppet) хотелось бы и воспользоваться. Но меня вот что смущает. Софт который я хочу установить на свою систему не лежит в стандартном репозитории.
Возьмем к примеру redis, а ось centos и посмотрим на предлагаемые модули для puppet. Увидим, что модуль предлагают установить.
Тут у меня вопрос возникает — если puppet — это то, что устанавливает софт на систему, почему он сам требует установки в ручную каких-то модулей (не рассматриваем когда puppet работает без master->slave)? Я уж не говорю о том, что он сам должен как бы быть установленным, т.е. почему-то не предлагается какой-нибудь скрипт, который можно выполнить на любой системе типа install_puppet.sh, у разработчиков паппета?
Ну для решения вопросов управления сторонними модулями самим puppetом для своего проекта, какие-то люди, как я нашел, написали
github.com/rodjek/librarian-puppet (его правда надо тоже как-то там отдельно ставить, при этом, если vagrant запускается c win машины, то получаетя, что с этим ты пролетаешь, потому что ставится он через gem?).
Вопрос собственно, почему так много все надо поставить, чтобы «автоматически» устанавливать софт на системе? При таких приседаниях, что shell скрипт, что puppet выглядят одинаково…
Или я что-то не так делаю?