У меня есть несколько разных приложений, работающих на разных серверах, например,
app-1
работает (в режиме кластера) на devserver-1
и devserver-2
app-2
работает(в кластерном режиме) на devserver-3
и devserver-4
app-3
запускается (в автономном режиме) на devserver-1
.
В моем dev
-информационном файлеЯ перечислил все мои 4 devservers.
Теперь я хотел бы написать параметризованный playbook, который "знает", на каких хостах он должен работать, когда я предоставляю app_name -вариабельная.
В настоящее время у меня есть файл var, содержащий что-то вроде этого:
# vars/apps.yml
apps:
app-1:
servers:
dev:
- devserver-1
- devserver-2
И сборник пьес, как это:
# playbook.yml
vars_files:
- vars/apps.yml
hosts: "{{ apps[app_name].servers[stage] | join(',') }}"
Но по разным причинамЯ не доволен этой конфигурацией и хочу избежать использования vars_files
(и вместо этого использовать role / include_vars
).
Так, как я могу определить хосты для playbook (который разделяется междунесколько приложений) без использования vars_files
?