на таргете только с конкретной учеткой со строго ограниченными правами и областью доступности?
Если и сталкивался -- то не помню. В любом случае, он может что-то куда-то записать. Этого должно быть достаточно, скорее всего.
Да понятно, что может и способ можно найти. Но его нужно знать заранее. А в произвольном окружении он заранее неизвестен. Если я буду привязывать роль, которая просто задает параметры, к особенностям окружения, ее переносимость сильно снизится. Вы не согласны?
Нет, не согласен. Вы описываете очень специфическую роль, которую не будут запускать где ни попадя. Это роль для работы в определенном типе окружения.
Задание параметров через set_fact работает в любом окружении, где есть питон, если что 🙂
Ровно наоборот же. Создание файлов в етс требует контракта на наличие определенных прав у ансибла на конечном хосте, не создание файлов - не требует
Немного не так. Создание файлов в /etc/ansible/facts.d подразумевает типовое использование ансибла, определенное в документации. Запуск ансибла с ограниченными правами без возможности эскалации -- весьма специфическое применение. Ансибл для этого, вообще говоря, не предназначен. Большинство его модулей хотят рута. Это грустный, но факт. cron? service? yum? apt? user? и проч.
Бывают случаи, когда недоступны ни пакетные менеджеры, ни systemd, внезапно
Ты щас перечислил то что и без модулей рута требует. Но кроме этого всего есть и копи, и курл, и шелл, и рав, и ещё дофига чего Не "немного не так", а ровно так и есть. Без завязки на файло можно запустить на вообще любой системе
Вы этот хост с ограниченным доступом чем кофигуряли изначально? Даже если терраформом пополам с башом -- то дать на каталог нужные права не проблема. Но это уже чё-то из пустого в порожнее переливаем.
Вы сейчас оперируете привычными себе стереотипами, только и всего. А случаи бывают ОЧЕНЬ разными.
Ок, опишу подробнее пример с чуть большей конкретикой. Нужно настроить специфичное приложение для клиента в закрытом периметре с очень ограниченными по дефолту правами. Условно, приносишь свой продукт вместе с плейбуками ансибла на флешке, тебя пускают под конвоем в датацентр, дают выделенную тебе учетку, путь в файловой системе для записи - и вперед, ставь и настраивай. Рута на сервере клиента тебе никто не даст, доступ к рутовой системе тоже. Твоя задача - просто поставить твой конкретный продукт, который потом будет использовать клиент. Как и кто настраивал этот сервер до тебя - тебя совершенно не волнует. У тебя есть учетка с заданными правами и конкретный путь к файловой системе. И набор входных данных для конфигурации. Все.
По-моему, в этом случае можно вообще делать, что угодно. Всё равно никто не оценит, а те, кто придут после тебя, будут страдать независимо от того, насколько правильно ты следовал каким-то методикам. И, тем не менее, описанный случай нельзя назвать типовым 🤷🏽♂️😁
Ну это в целом достаточно типовая раскатка на блекбокс
"Типичный случай" тут - это по-моему полный аналог "типичного среднего человека". Помните ту историю с проектированием самолетов под усредненного человека?
Обсуждают сегодня