Существует необходимость в том, чтобы один контакты кукольного агента некоторыеразные кукольные мастера.Как использовать несколько разных кукольных мастеров от одного марионеточного агента?
Причина: существуют различные группы, которые создают разные и независимые наборы проявлений.
Возможные группы и их задачи
-
Производитель
- Применение: конфигурация приложения
- Безопасность: закалка
- операции: таблицы маршрутизации, инструменты мониторинга
Каждая из этих групп должны запустить его собственный марионеточный мастер - данные (манифесты и соответствующие данные) должны быть строго разделены. Если это возможно, одна группа должна даже не видеть/иметь доступ к манифестам других (мы используем MAC на операциях марионеточного агента).
Мысли и идей, которые потерпели неудачу:
- использования (только) Хир не является гибким в случае необходимости - есть необходимость иметь различные манифесты.
- r10k: поддерживает несколько окружений, но в каждой среде может быть доступен только один набор манифеста.
- несколько, но такой же кукольный сервер, используя, например, DNS round robin: это наоборот. Нам нужны разные кукольные мастера.
Некоторые способы, которые могли бы быть возможно, но ...
- запуск нескольких экземпляров марионеточных агентов. Это «странно». Преимущество: права доступа могут быть ограничены по мере необходимости (например, кукольный агент приложения может запускаться под пользователем приложения).
- исправление марионетки, которое может обрабатывать более одного марионеточного мастера. Недостаток: может быть, некоторая работа.
- с использованием других механизмов для разделения ответственности. Пример: используйте разные git-репозитории. Создайте одного марионеточного мастера. Марионеточный мастер вытаскивает все разные репозитории и служит манифестам.
Мои вопросы:
- Существует ли прямой способ реализации этого требования с куклой?
- Если нет, есть ли какая-то лучшая практика, как это сделать?
Кроме того, объединение модулей из разных источников все в * же * среду на одном (логических) мастерах не только было бы проще в настройке, но также обеспечит свободное и автоматическое обнаружение конфликтов между спецификациями одной группы и характеристик других. Разделение спецификаций разных групп в разных средах потеряло бы много (но не всех) преимуществ, доступных при размещении всего на одном и том же хозяине. –
Спасибо за ответ. В настоящее время я пытаюсь реализовать версию с использованием одного марионеточного мастера и нескольких серверов git. Дайте мне время, чтобы оценить это. –