. {
    errors
    health :18080
{% if mdns %}
    mdns {{ cluster }}.{{ domain }} {{ ctlplanes if 'bootstrap' in name else '0' }} {{ cluster }}
{% endif %}
    hosts {{ cluster }}.{{ domain }} {
        {% if  sno %}
        {{ api_ip }} {{ cluster }}-sno {{ cluster }}-sno.{{ cluster }}.{{ domain }} api-int.{{ cluster }}.{{ domain }} api.{{ cluster }}.{{ domain }}
        {% else %}
        {{ api_ip }} api-int.{{ cluster }}.{{ domain }} api.{{ cluster }}.{{ domain }}
        {% endif %}
        fallthrough
    }
{% set apps_ip = ingress_ip if ingress_ip != None else api_ip %}
{% set apps_type = 'AAAA' if apps_ip is not none and ':' in apps_ip else 'A' %}
{% set answer = 'answer "' ~ '{{ .Name }}' ~ ' ' ~ apps_type ~ ' ' ~ apps_ip ~ '"' %}
{% set dual_apps_type = 'A' if apps_type == 'AAAA' else 'AAAA' %}
{% if dual_ingress_ip != None %}
{% set dual_apps_ip = dual_ingress_ip %}
{% elif dual_api_ip != None %}
{% set dual_apps_ip = dual_api_ip %}
{% endif %}
{% if dual_apps_ip is defined %}
{% set dual_answer = 'answer "' ~ '{{ .Name }}' ~ ' ' ~ dual_apps_type ~ ' ' ~ dual_apps_ip ~ '"' %}
{% else %}
{% set dual_answer = "rcode NOERROR" %}
{% endif %}
    template IN {{ apps_type }} apps.{{ cluster }}.{{ domain }} {
       {{ answer }}
    }
    template IN {{ dual_apps_type }} apps.{{ cluster }}.{{ domain }} {
       {{ dual_answer }}
    }
{% for domain in extra_domains|default([]) %}
    {{ domain.name }} {
       forward . {{ domain.ip }}
    }
{% endfor %}
    forward . {{ coredns_nameserver or "NAMESERVER" }}
    cache 30
    reload
}
