Mam ogólną rolę webserver
, która używa innej roli nginx
do odradzania nowych vserverów.Jak przekazywać zmienne z jednej roli w dół do innych ról zależności za pomocą ansibl?
webserver/meta/main.yml
wygląda następująco:
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
Problemem jest to, że zmienne te mają być zdefiniowana wewnątrz webserver-role/vars/(test|staging).yml
Is Wydaje się, że ansibl spróbuje załadować zależności przed załadowaniem zmienne.
Jak mogę rozwiązać ten problem? Nie chcę umieszczać żadnych szczegółów dotyczących konfiguracji wewnątrz ról niskiego poziomu.
Ponadto, nie chcę umieszczać konfiguracji wewnątrz samego playbooka, ponieważ te konfiguracje są wspólne dla wielu zestawów.
Generalnie będzie lepiej z posiadania oddzielnych configs etap w 'group_vars' zamiast oddzielnych plików w' role'. –