Overwhelming, eh? Do not worry. We will give you the recommendations on the best practices while using variables:
Start with defaults in a role. This has the lowest precedence of all. This is also a good place to provide the sane defaults of your application, which can be later overridden from various places.
Group variables are very useful. A lot of the time we will do region-specific or environment-specific configurations. We would also apply certain roles to a certain group of servers, for example, for all web servers in Asia, we apply the Nginx role. There is also a default group by the name "
all
", which will contain all the hosts for all groups. It's a good practice to put the variables common for all groups in "all
" (group_vars/all
), which can then be overridden by more specific groups.If there are host-specific exceptions, use
hosts_vars
, for example,host_vars/specialhost.example.org
.If you would like to separate variables in different files, create...