/
/
/
1---
2# ========================================
3# CONNECTIVITY ROLE MAIN TASKS
4# ========================================
5# Orchestrates connectivity device setup with proper dependencies
6# Follows runner/storage role patterns with include_tasks structure
7
8- name: "Display connectivity role information"
9 ansible.builtin.debug:
10 msg:
11 - "Starting connectivity device configuration"
12 - "Docker base path: {{ connectivity_docker_base_path }}"
13 - "WireGuard enabled: {{ connectivity_wireguard_enabled }}"
14 - "Nginx Proxy enabled: {{ connectivity_nginx_proxy_enabled }}"
15 - "DNS Stack enabled: {{ connectivity_dns_stack_enabled }}"
16 tags: [always]
17
18# ========================================
19# PREREQUISITES AND VALIDATION
20# ========================================
21- name: "Include connectivity prerequisites"
22 ansible.builtin.include_tasks: prerequisites.yml
23 tags: [always, prerequisites]
24
25# ========================================
26# DOCKER FRAMEWORK SETUP (Handled by docker-framework role)
27# ========================================
28- name: "Verify Docker framework is properly configured"
29 ansible.builtin.stat:
30 path: "{{ connectivity_docker_base_path }}"
31 register: docker_framework_status
32 tags: [docker, setup, verify]
33
34- name: "Display Docker framework status"
35 ansible.builtin.debug:
36 msg:
37 - "Docker framework verification"
38 - "Base path: {{ connectivity_docker_base_path }}"
39 - "Directory exists: {{ docker_framework_status.stat.exists }}"
40 - "Owner: {{ docker_framework_status.stat.pw_name | default('unknown') }}"
41 - "Group: {{ docker_framework_status.stat.gr_name | default('unknown') }}"
42 - "Permissions: {{ docker_framework_status.stat.mode | default('unknown') }}"
43 tags: [docker, setup, info]
44
45# ========================================
46# CORE CONNECTIVITY SERVICES
47# ========================================
48- name: "Deploy WireGuard VPN service"
49 ansible.builtin.include_tasks: wireguard.yml
50 when: connectivity_wireguard_enabled | default(false)
51 tags: [wireguard, services]
52
53- name: "Deploy Nginx Reverse Proxy Manager"
54 ansible.builtin.include_tasks: nginx-proxy.yml
55 when: connectivity_nginx_proxy_enabled | default(false)
56 tags: [nginx-proxy, proxy, services]
57
58- name: "Deploy DNS stack (Pi-hole + Unbound)"
59 ansible.builtin.include_tasks: dns-stack.yml
60 when: connectivity_dns_stack_enabled | default(false)
61 tags: [dns, pihole, unbound, services]
62
63# ========================================
64# SERVICE COORDINATION AND VALIDATION
65# ========================================
66- name: "Include service coordination tasks"
67 ansible.builtin.include_tasks: service-coordination.yml
68 tags: [services, coordination]
69
70# ========================================
71# POST-DEPLOYMENT TASKS
72# ========================================
73- name: "Include post-deployment tasks"
74 ansible.builtin.include_tasks: post-deployment.yml
75 tags: [services, post-deployment]