- name: Include dnsmasq variables include_vars: dnsmasq.yml - name: Create dnsmasq directory file: path: '/opt/dnsmasq' state: directory owner: "{{ docker_user.name }}" mode: "{{ docker_compose_directory_mask }}" become: true become_user: root - name: Install dnsmasq compose file template: src: files/dnsmasq/docker-compose.yml dest: "/opt/dnsmasq/docker-compose.yml" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" validate: /usr/bin/docker-compose -f %s config register: compose_file become: true become_user: root - name: Install dnsmasq config template: src: files/dnsmasq/dnsmasq.conf dest: "/opt/dnsmasq/dnsmasq.conf" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" register: dnsmasq_config become: true become_user: root - name: Install dnsmasq vpn hosts template: src: files/dnsmasq/vpn-hosts.conf dest: "/opt/dnsmasq/vpn-hosts.conf" mode: "{{ docker_compose_file_mask }}" owner: "{{ docker_user.name }}" register: dnsmasq_vpn_hosts become: true become_user: root - name: Cycle dnsmasq container docker_compose: project_src: /opt/dnsmasq pull: true remove_orphans: true remove_volumes: true state: "{{ item }}" when: compose_file.changed or dnsmasq_config.changed or dnsmasq_vpn_hosts.changed loop: - absent - present