fix: Merge hosts and auto

This commit is contained in:
pulsar89.5 2025-03-30 19:59:32 +02:00
parent 387a4c8fd5
commit ae9e8695bf
5 changed files with 16 additions and 22 deletions

View File

@ -26,12 +26,13 @@
become: true become: true
notify: Reload dnsmasq.service notify: Reload dnsmasq.service
- name: Deploy local host configuration - name: Deploy specific records
ansible.builtin.template: ansible.builtin.template:
src: host.conf.j2 src: "{{ role_path }}/templates/records_specific.conf.j2"
dest: /srv/dnsmasq/{{ inventory_hostname }}.conf dest: /srv/dnsmasq/specific.conf
owner: dnsmasq owner: dnsmasq
group: root group: root
mode: u=rw,g=r,o=r mode: u=rw,g=r,o=r
when: dnsmasq_specifics | length > 0
become: true become: true
notify: Reload dnsmasq.service notify: Reload dnsmasq.service

View File

@ -1,9 +1,9 @@
--- ---
# tasks file for security # tasks file for security
- name: Deploy records - name: Deploy records from ansible inventory
ansible.builtin.template: ansible.builtin.template:
src: "{{ role_path }}/templates/auto.conf.j2" src: "{{ role_path }}/templates/records_auto.conf.j2"
dest: /srv/dnsmasq/auto-{{ dnsmasq_ansible_group }}.conf dest: /srv/dnsmasq/auto-{{ dnsmasq_ansible_group }}.conf
owner: dnsmasq owner: dnsmasq
group: root group: root

View File

@ -1,5 +0,0 @@
# {{ ansible_managed }}
{% for ip in dnsmasq_host_ips %}
{{ ip }} {{ dnsmasq_client_hostname }} {{ dnsmasq_host_aliases | join(' ') }}
{% endfor %}

View File

@ -1,8 +1,6 @@
# {{ ansible_managed }} # {{ ansible_managed }}
# ansible inventory {%- for host in groups[dnsmasq_ansible_group] | sort %}
{%- set hosts = groups[dnsmasq_ansible_group] | reject('equalto', inventory_hostname) | sort %}
{%- for host in hosts %}
{%- set ipv4 = hostvars[host]['ansible_host'] %} {%- set ipv4 = hostvars[host]['ansible_host'] %}
{%- set ipv6_prefix = dnsmasq_ipv6_subnet | split('/') | first %} {%- set ipv6_prefix = dnsmasq_ipv6_subnet | split('/') | first %}
{%- set ipv6_suffix = hostvars[host]['ansible_host'] | split('.') | last %} {%- set ipv6_suffix = hostvars[host]['ansible_host'] | split('.') | last %}
@ -12,12 +10,3 @@
{{ ipv4 }} {{ aliases | join(' ') }} {{ ipv4 }} {{ aliases | join(' ') }}
{{ ipv6_prefix }}{{ ipv6_suffix }} {{ aliases | join(' ') }} {{ ipv6_prefix }}{{ ipv6_suffix }} {{ aliases | join(' ') }}
{% endfor %} {% endfor %}
# role specifics
{%- for specific in dnsmasq_specifics %}
## {{ specific.hostname }}
{% for ip in specific.ips %}
{{ ip }} {{ specific.hostname }}
{% endfor %}
{% endfor %}

View File

@ -0,0 +1,9 @@
# {{ ansible_managed }}
{%- for specific in dnsmasq_specifics %}
## {{ specific.hostname }}
{% for ip in specific.ips %}
{{ ip }} {{ specific.hostname }}
{% endfor %}
{% endfor %}