infrastructure/ansible/roles/docker/tasks/dnsmasq.yml

55 lines
1.4 KiB
YAML

- 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