I have a generic webserver role that is using another nginx role to spawn new vservers.
webserver/meta/main.yml looks like:
allow_duplicates: yes
dependencies:
- role: nginx
name: api vserver
frontend_port: "{{ frontend_port }}"
domain: "{{ api_domain }}"
backend_host: 127.0.0.1
- role: nginx
name: portal vserver
domain: "{{ portal_domain }}"
backend_host: 127.0.0.1
The problem is that these variables are supposed to be defined inside the webserver-role/vars/(test|staging).yml
Is seems that Ansible will try to load the dependencies before loading the variables.
How can I solve this problem? I don't want to put any configuration specifics inside the low level roles.
Also, I do not want to put configurations inside the playbook itself because these configurations are shared across multiple playbooks.