Merge branch 'bind' into 'newinfra'

[bind-authoritative] Query LDAP for IPs

See merge request nounous/ansible!69
certbot_on_virtu
_benjamin 2020-08-22 09:21:37 +02:00
commit 496e36f1b4
4 changed files with 24 additions and 38 deletions

View File

@ -2,7 +2,8 @@
--- ---
# Deploy recursive DNS cache server # Deploy recursive DNS cache server
- hosts: routeur-sam.adm.crans.org,routeur-daniel.adm.crans.org - hosts: routeur-sam.adm.crans.org,routeur-daniel.adm.crans.org
roles: ["bind-recursive"] roles:
- bind-recursive
# Deploy authoritative DNS server # Deploy authoritative DNS server
- hosts: silice.adm.crans.org,sputnik.adm.crans.org,boeing.adm.crans.org - hosts: silice.adm.crans.org,sputnik.adm.crans.org,boeing.adm.crans.org
@ -10,11 +11,12 @@
certbot_dns_secret: "{{ vault_certbot_dns_secret }}" certbot_dns_secret: "{{ vault_certbot_dns_secret }}"
certbot_adm_dns_secret: "{{ vault_certbot_adm_dns_secret }}" certbot_adm_dns_secret: "{{ vault_certbot_adm_dns_secret }}"
bind: bind:
masters: "{{ lookup('re2oapi', 'get_role', 'dns-authoritary-master')[0] }}" masters: "{{ query('ldap', 'role', 'dns-primary') }}"
slaves: "{{ lookup('re2oapi', 'get_role', 'dns-authoritary-slave')[0] }}" slaves: "{{ query('ldap', 'role', 'dns-secondary') }}"
zones: "{{ (lookup('re2oapi', 'dnszones') + query('ldap', 'zones')) | unique }}" zones: "{{ (lookup('re2oapi', 'dnszones') + query('ldap', 'zones')) | unique }}"
reverse: "{{ lookup('re2oapi', 'dnsreverse') }}" reverse: "{{ lookup('re2oapi', 'dnsreverse') }}"
roles: ["bind-authoritative"] roles:
- bind-authoritative
- hosts: silice.adm.crans.org - hosts: silice.adm.crans.org
vars: vars:

View File

@ -7,14 +7,6 @@
retries: 3 retries: 3
until: apt_result is succeeded until: apt_result is succeeded
- name: Lookup DNS servers
set_fact:
masters_ipv4: "{{ bind.masters | json_query('servers[].interface[?vlan_id==`2`].ipv4[]') }}"
masters_ipv6: "{{ bind.masters | json_query('servers[].interface[?vlan_id==`2`].ipv6[][].ipv6') }}"
slaves_ipv4: "{{ bind.slaves | json_query('servers[].interface[?vlan_id==`2`].ipv4[]') }}"
slaves_ipv6: "{{ bind.slaves | json_query('servers[].interface[?vlan_id==`2`].ipv6[][].ipv6') }}"
cacheable: true
- name: Is this the master? - name: Is this the master?
set_fact: set_fact:
is_master: "{{ ansible_hostname in query('ldap', 'role', 'dns-primary') }}" is_master: "{{ ansible_hostname in query('ldap', 'role', 'dns-primary') }}"

View File

@ -27,11 +27,10 @@ zone "_acme-challenge.crans.org" {
{% else %} {% else %}
type slave; type slave;
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor -%} {% endfor -%}
{% for ip in masters_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
notify no; notify no;
@ -50,11 +49,10 @@ zone "_acme-challenge.adm.crans.org" {
{% else %} {% else %}
type slave; type slave;
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor -%} {% endfor -%}
{% for ip in masters_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
notify no; notify no;
@ -72,11 +70,10 @@ zone "_acme-challenge.crans.fr" {
{% else %} {% else %}
type slave; type slave;
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor -%} {% endfor -%}
{% for ip in masters_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
notify no; notify no;
@ -94,11 +91,10 @@ zone "_acme-challenge.crans.eu" {
{% else %} {% else %}
type slave; type slave;
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor -%} {% endfor -%}
{% for ip in masters_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
notify no; notify no;
@ -118,11 +114,10 @@ zone "{{ zone }}" {
type slave; type slave;
file "bak.{{ zone }}"; file "bak.{{ zone }}";
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{{ ip }}; {% for ip in query('ldap', 'ip', host, 'adm') %}
{% endfor %}
{% for ip in masters_ipv6 %}
{{ ip }}; {{ ip }};
{% endfor -%}
{% endfor %} {% endfor %}
}; };
notify no; notify no;
@ -143,11 +138,10 @@ zone "{{ zone }}" {
type slave; type slave;
file "bak.{{ zone }}"; file "bak.{{ zone }}";
masters { masters {
{% for ip in masters_ipv4 %} {% for host in bind.masters %}
{{ ip }}; {% for ip in query('ldap', 'ip', host, 'adm') %}
{% endfor %}
{% for ip in masters_ipv6 %}
{{ ip }}; {{ ip }};
{% endfor -%}
{% endfor %} {% endfor %}
}; };
notify no; notify no;

View File

@ -32,20 +32,18 @@ options {
{% if is_master %} {% if is_master %}
allow-transfer { allow-transfer {
{% for ip in slaves_ipv4 %} {% for host in bind.slaves %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor %} {% endfor %}
{% for ip in slaves_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
also-notify { also-notify {
{% for ip in slaves_ipv4 %} {% for host in bind.slaves %}
{% for ip in query('ldap', 'ip', host, 'adm') %}
{{ ip }}; {{ ip }};
{% endfor %} {% endfor %}
{% for ip in slaves_ipv6 %}
{{ ip }};
{% endfor %} {% endfor %}
}; };
{% else %} {% else %}