Я пишу книгу для прослушивания Ansible, которая устанавливает системы, где в некоторых конфигурациях некоторые системы могут быть предоставлены другой организацией. Очень простой пример:Ansible: Включая неконфигурированные системы в конфигурацию
Inventory:
- приложение, сервер
- БД сервера
Playbook: Настройка вверх оба сервера, а также добавить application.properties
файл сервера приложений с IP, порт и пользователь/пропуск сервера db.
Работает до сих пор, но при этом возникает требование, что в некоторых развертываниях сервер БД предоставляется другой организацией, поэтому я не могу включить его в инвентарь, поскольку шаг настройки завершается с ошибкой, но я все же хочу сгенерировать файл свойств для сервера приложений (с информацией сервера db, которую я получаю от других людей).
Что было бы наименее болезненным решением, которое охватывало бы оба сценария (мой собственный сервер db и предоставленный сервер db), учитывая, что существует 6 таких типов серверов, а не только 2 (так что не только 2 разных сценария, есть много перестановок какой сервер предоставлен для меня и который принадлежит мне).
Edit: Чтобы быть более конкретным, то проблема у меня в том, что если я использую ВАР, когда система не моя и факты, когда это мое, то у меня есть проблемы написания application.properties.j2
шаблона, так как факты и вары упоминаются по-разному , Как использовать var в шаблоне, но использовать факт, если var не определен?