/
/
/
1---
2# ========================================
3# CONNECTIVITY ROLE HANDLERS
4# ========================================
5# Handlers for connectivity service management
6
7# ========================================
8# DOCKER AND COMPOSE HANDLERS
9# ========================================
10- name: restart docker
11 ansible.builtin.systemd:
12 name: docker
13 state: restarted
14 daemon_reload: yes
15 listen: "restart docker services"
16
17- name: restart connectivity services
18 community.docker.docker_compose:
19 project_src: "{{ connectivity_docker_base_path }}"
20 state: present
21 pull: yes
22 recreate: always
23 listen: "restart connectivity services"
24
25# ========================================
26# WIREGUARD HANDLERS
27# ========================================
28- name: restart wireguard
29 community.docker.docker_compose:
30 project_src: "{{ connectivity_docker_base_path }}/wireguard"
31 state: present
32 pull: yes
33 recreate: always
34 when: connectivity_wireguard_enabled | default(false)
35
36- name: reload wireguard config
37 community.docker.docker_container:
38 name: "{{ connectivity_wireguard_container_name }}"
39 restart: yes
40 when: connectivity_wireguard_enabled | default(false)
41
42# ========================================
43# NGINX PROXY HANDLERS
44# ========================================
45- name: restart nginx-proxy
46 community.docker.docker_compose:
47 project_src: "{{ connectivity_docker_base_path }}/nginx-proxy"
48 state: present
49 pull: yes
50 recreate: always
51 when: connectivity_nginx_proxy_enabled | default(false)
52
53- name: reload nginx-proxy config
54 community.docker.docker_container:
55 name: "{{ connectivity_nginx_proxy_container_name }}"
56 restart: yes
57 when: connectivity_nginx_proxy_enabled | default(false)
58
59- name: restart nginx-proxy-db
60 community.docker.docker_container:
61 name: "{{ connectivity_nginx_proxy_db_container_name }}"
62 restart: yes
63 when:
64 - connectivity_nginx_proxy_enabled | default(false)
65 - connectivity_nginx_proxy_db_enabled | default(true)
66
67# ========================================
68# DNS STACK HANDLERS
69# ========================================
70- name: restart pihole
71 community.docker.docker_compose:
72 project_src: "{{ connectivity_docker_base_path }}/pihole"
73 state: present
74 pull: yes
75 recreate: always
76 when: connectivity_pihole_enabled | default(false)
77
78- name: reload pihole config
79 community.docker.docker_container:
80 name: "{{ connectivity_pihole_container_name }}"
81 restart: yes
82 when: connectivity_pihole_enabled | default(false)
83
84- name: restart unbound
85 community.docker.docker_compose:
86 project_src: "{{ connectivity_docker_base_path }}/unbound"
87 state: present
88 pull: yes
89 recreate: always
90 when: connectivity_unbound_enabled | default(false)
91
92- name: reload unbound config
93 community.docker.docker_container:
94 name: "{{ connectivity_unbound_container_name }}"
95 restart: yes
96 when: connectivity_unbound_enabled | default(false)
97
98# ========================================
99# SYSTEM HANDLERS
100# ========================================
101- name: restart networking
102 ansible.builtin.systemd:
103 name: networking
104 state: restarted
105 listen: "restart network services"
106
107- name: restart ufw
108 ansible.builtin.systemd:
109 name: ufw
110 state: restarted
111
112- name: reload ufw
113 ansible.builtin.ufw:
114 state: reloaded
115
116- name: save iptables
117 ansible.builtin.shell: |
118 iptables-save > /etc/iptables/rules.v4
119 ip6tables-save > /etc/iptables/rules.v6
120 when: ansible_os_family == 'Debian'
121
122- name: reload systemd
123 ansible.builtin.systemd:
124 daemon_reload: yes
125
126# ========================================
127# SERVICE COORDINATION HANDLERS
128# ========================================
129- name: restart dns stack
130 community.docker.docker_compose:
131 project_src: "{{ connectivity_docker_base_path }}"
132 state: present
133 pull: yes
134 recreate: always
135 listen: "restart dns services"
136
137- name: health check all services
138 ansible.builtin.debug:
139 msg: "Health check functionality has been removed - use native Ansible health checks instead"
140 listen: "verify connectivity services"
141
142# ========================================
143# NOTIFICATION HANDLERS
144# ========================================
145- name: send connectivity notification
146 ansible.builtin.debug:
147 msg:
148 - "Connectivity services have been updated"
149 - "Services may take a few moments to fully start"
150 - "Use native Ansible health checks for service verification"
151 listen: "notify connectivity update"