В Ansible, в роли, у меня есть файлы vars:
vars/
app1.yml
app2.yml
Каждый файл содержит vars, специфичные для приложения/веб-сайта, например:
name: app1
git_repo: https://github.com/philgyford/app1.git
# ...
В идеальном случае, не зная заранее, какие приложения имеют переменные файлы, я бы хотел получить массив под названием apps
:
apps:
- name: app1
git_repo: https://github.com/philgyford/app1.git
# ...
- name: app2
git_repo: https://github.com/philgyford/app2.git
# ...
т.е. объединяет переменные из файлов в один.
Я знаю, что могу загрузить все переменные файлы следующим образом:
- name: Load var files
with_fileglob:
- ../vars/*.yml
include_vars: '{{ item }}'
Но, учитывая, что каждый файл имеет идентичные имена переменных, он перезаписывает каждый предыдущий набор переменных. Я не вижу способ загрузить переменные и поместить их в массив apps
.
Я открыт, чтобы немного изменить порядок, если это единственный способ сделать что-то подобное.