You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
32 lines
1.2 KiB
{%- set primary_ns = inventory_hostname -%}
|
|
|
|
{%- if ns_server_group is defined -%}
|
|
{%- set primary_ns = hostvars[groups[ns_server_group][0]]['inventory_hostname'] -%}
|
|
{%- endif -%}
|
|
|
|
{%- set this_name = (ns_name | d(inventory_hostname)) -%}
|
|
{%- set this_primary_name = (hostvars[primary_ns]['ns_name'] | d(hostvars[primary_ns]['inventory_hostname'])) -%}
|
|
{%- set this_tld = (hostvars[primary_ns]['ns_tld'] | d(ns_tld) | d(int_tld)) -%}
|
|
|
|
|
|
|
|
$ORIGIN {{ this_tld }}.
|
|
$TTL {{ ns_ttl | d(300) }}
|
|
|
|
@ IN SOA {{ this_name ~ '.' ~ this_tld }}. {{ (ns_admin | replace('@', '.')) if ns_admin is defined else ('admin' ~ '.' ~ this_tld) }}. (
|
|
2021010101
|
|
{{ ns_refresh | d(1200) }}
|
|
{{ ns_retry | d(300) }}
|
|
{{ ns_expire | d(1209600) }}
|
|
{{ ns_neg_ttl | d(300) }}
|
|
)
|
|
|
|
{% if ns_server_group is defined -%}
|
|
{% for host in groups[ns_server_group] -%}
|
|
@ IN NS {{ (hostvars[host]['ns_name'] | d(hostvars[host]['inventory_hostname'])) ~ '.' ~ this_tld }}.
|
|
{{ hostvars[host]['ns_name'] | d(hostvars[host]['inventory_hostname']) }} IN A {{ hostvars[host]['ansible_host'] }}
|
|
{% endfor -%}
|
|
{% else -%}
|
|
@ IN NS {{ this_primary_name ~ '.' ~ this_tld }}.
|
|
{{ this_primary_name }} IN A {{ ansible_host }}
|
|
{% endif -%}
|
|
|