Я пишу книгу для настройки среды разработки и построения конвейера для проекта. Я хотел бы как можно больше разделить playbook с реальной инфраструктурой и просто полагаться на группы, поэтому я мог бы настроить конвейер внутри локальной виртуальной машины, а также на голом оборудовании с той же командой, просто используя разные ограничители групп.Ansible, как добавить пользователя в группу, только если пользователь существует
Теперь проблема, с местными Vagrant ящиков мне нужно добавить пользователя бродяга в Docker группу, где, как с голыми серверами металла некоторый произвольный пользователь. Какова наилучшая практика для обработки таких вариаций в плейбуке, сохраняя ее как можно более абстрактной? Должен ли я использовать поведенческие параметры, переменные хоста, групповые переменные, условные обозначения или факты для такого рода вещей?
Возможно ли вообще или разумно сохранить плейлист полностью абстрактным, без каких-либо жестко заданных значений и адаптируемости к любой среде?