provisioning/taskservs/coredns/default/dns.tpl

63 lines
3.0 KiB
Smarty
Raw Permalink Normal View History

{% if taskserv.entries[DOMAIN_POS].domain == "$defaults" -%}
{% set dns_domain=defaults.main_domain %}
{%- elif taskserv.entries[DOMAIN_POS].domain == "$server" %}
{%- if server.main_domain == "$defaults"or server.main_domain == ""-%}
{% set dns_domain=defaults.main_domain %}
{%- else -%}
{% set dns_domain=server.main_domain %}
{%- endif %}
{%- else -%}
{% set dns_domain=taskserv.entries[DOMAIN_POS].domain %}
{%- endif %}
$ORIGIN {{dns_domain}}.
@ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
2017042745 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
1209600 ; expire (2 weeks)
3600 ; minimum (1 hour)
)
3600 IN NS a.iana-servers.net.
3600 IN NS b.iana-servers.net.
;
{% if taskserv.entries[DOMAIN_POS] %}
{%- for record in taskserv.entries[DOMAIN_POS].records %}
{%- if defs.servers[record.server_pos] and defs.servers[record.server_pos].hostname -%}
{% set hostname = defs.servers[record.server_pos].hostname %}
{%- else -%}
{% set hostname = "" %}
{%- endif -%}
{%- if record.source == "$hostname" -%}
{% set source = hostname %}
{%- else -%}
{% set source = record.source %}
{%- endif -%}
{%- if record.target_ip == "$network_private_ip" and defs.servers[record.server_pos] and defs.servers[record.server_pos].network_private_ip -%}
{% set target = defs.servers[record.server_pos].network_private_ip %}
{%- elif record.target_ip == "$network_public_ip" and defs.servers[record.server_pos].ip_addresses.pub -%}
{% set target = defs.servers[record.server_pos].ip_addresses.pub %}
{%- else -%}
{% set target = record.target_ip %}
{%- endif -%}
{% if hostname != "" -%}
; {{hostname}}
{%- endif %}
{% if record.rectype == "A" and source and target -%}
{{ source }}.{{dns_domain}}. {{record.ttl}} IN A {{target}}
{% elif record.rectype == "CNAME" and source and record.value -%}
{{ source }}.{{dns_domain}}. {{record.ttl}} IN CNAME {{record.value}}
{% endif -%}
{%- if hostname != "" and taskserv.entries[DOMAIN_POS].etcd_cluster_name and taskserv.entries[DOMAIN_POS].etcd_cluster_name != "" -%}
{%- for taskserv in defs.servers[record.server_pos].taskservs -%}
{%- if taskserv.name != "etcd" -%}{% continue %}{%- endif -%}
{{ taskserv.entries[DOMAIN_POS].etcd_cluster_name }}.{{dns_domain}}. {{record.ttl}} IN A {{target}} ; {{ hostname }}
{% break %}
{%- endfor -%}
_etcd-server-ssl._tcp.{{dns_domain}}. {{record.etcd_dns_ttl}} IN SRV 0 0 {{record.etcd_peer_port}} {{hostname}}.{{dns_domain}}.
_etcd-server._tcp.{{dns_domain}}. {{record.etcd_dns_ttl}} IN SRV 0 0 {{record.etcd_peer_port}} {{hostname}}.{{dns_domain}}.
_etcd-client-ssl._tcp.{{dns_domain}}. {{record.etcd_dns_ttl}} IN SRV 0 0 {{record.etcd_cli_port}} {{hostname}}.{{dns_domain}}.
_etcd-client._tcp.{{dns_domain}}. {{record.etcd_dns_ttl}} IN SRV 0 0 {{record.etcd_cli_port}} {{hostname}}.{{dns_domain}}.
{% endif %}
{%- endfor -%}
{% endif %}