35 lines
1.2 KiB
Django/Jinja
35 lines
1.2 KiB
Django/Jinja
# Managed by Ansible
|
|
# Bootstrap name resolution only.
|
|
# Full service discovery is handled by BIND.
|
|
|
|
127.0.0.1 localhost
|
|
::1 localhost
|
|
|
|
{% set net = hostvars['fw']['network'] %}
|
|
{%
|
|
set server_hosts = (
|
|
net
|
|
| dict2items
|
|
| rejectattr('key', 'equalto', 'dns_serial')
|
|
| rejectattr('key', 'equalto', 'subnet')
|
|
| rejectattr('key', 'equalto', 'reverse_zone')
|
|
| selectattr('value.ipv4.server', 'defined')
|
|
| selectattr('value.ipv6.server', 'defined')
|
|
| map(attribute='key')
|
|
| list
|
|
)
|
|
%}
|
|
# node canonical names
|
|
{% for ip in ['ipv4', 'ipv6'] %}
|
|
# {{ ip }}
|
|
## vmm init
|
|
{{ "%-36s" | format(net['vmm'][ip]['client']) }} init.vmm init.vmm.{{ domain['internal'] }}
|
|
## console
|
|
{{ "%-36s" | format(net['console'][ip]['client']) }} console console.{{ domain['internal'] }}
|
|
## nodes
|
|
{% for service in server_hosts %}
|
|
{{ "%-36s" | format(net[service][ip]['server']) }} {{ service }} {{ service }}.{{ domain['internal'] }}{% for alias in net[service]['alias'] | default([]) %}{% if service in ['vmm', 'fw'] and alias != 'init.vmm' %} {{ alias }}.{{ domain['internal'] }}{% endif %}{% endfor %}{{ '' }}
|
|
{% endfor %}
|
|
|
|
{% endfor %}
|