ansible rework

This commit is contained in:
Sergei Poljanski 2025-11-04 11:06:35 +02:00
commit eecff4345a
47 changed files with 1995 additions and 538 deletions

View file

@ -1,14 +1,6 @@
---
- name: Create Traefik directories
file:
path: "{{ item }}"
state: directory
mode: '0755'
loop:
- /opt/traefik
- /opt/traefik/config
- /opt/traefik/letsencrypt
- /opt/traefik/logs
- name: Validate Traefik variables
ansible.builtin.import_tasks: validate.yaml
- name: Create Traefik Docker network
community.docker.docker_network:
@ -16,36 +8,21 @@
driver: bridge
state: present
- name: Deploy Traefik static configuration
template:
src: traefik.yml.j2
dest: /opt/traefik/traefik.yml
mode: '0644'
notify: Restart Traefik
- name: Deploy Traefik dynamic configuration
template:
src: dynamic.yml.j2
dest: /opt/traefik/config/dynamic.yml
mode: '0644'
notify: Restart Traefik
- name: Deploy Traefik docker-compose
template:
src: docker-compose.yml.j2
dest: /opt/traefik/docker-compose.yml
mode: '0644'
notify: Restart Traefik
- name: Start Traefik
community.docker.docker_compose_v2:
project_src: /opt/traefik
state: present
register: traefik_output
- name: Wait for Traefik to be healthy
wait_for:
host: "{{ wireguard_ipv4 }}"
port: 8080
timeout: 30
delay: 3
- name: Deploy Traefik using shared docker_service role
ansible.builtin.include_role:
name: docker_service
vars:
service_name: "traefik"
service_base_path: "{{ traefik_base_path }}"
service_directories:
- { path: "config", mode: "0755" }
- { path: "letsencrypt", mode: "0755" }
- { path: "logs", mode: "0755" }
service_templates:
- { src: "traefik.yml.j2", dest: "traefik.yml", mode: "0644" }
- { src: "dynamic.yml.j2", dest: "config/dynamic.yml", mode: "0644" }
- { src: "docker-compose.yml.j2", dest: "docker-compose.yml", mode: "0644" }
health_check_enabled: true
health_check_host: "{{ wireguard_ip }}" # Dashboard only accessible on WireGuard IP
health_check_port: "{{ traefik_dashboard_port }}"
health_check_delay: 3