mirror of
https://github.com/KevinMidboe/playbooks-retailor.git
synced 2026-09-07 13:32:06 +00:00
78 lines
1.9 KiB
YAML
78 lines
1.9 KiB
YAML
---
|
|
- name: Fail fast if no routes were supplied
|
|
ansible.builtin.fail:
|
|
msg: >-
|
|
traefik_web_private_ips is empty. Set the WEB_IPS env var
|
|
(JSON list) before running, or override the variable directly, e.g.
|
|
-e traefik_web_private_ips='["10.0.1.11","10.0.1.12"]'
|
|
when: traefik_web_private_ips | length == 0
|
|
|
|
- name: Ensure Traefik config directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: "0755"
|
|
loop:
|
|
- "{{ traefik_config_dir }}"
|
|
- "{{ traefik_dynamic_dir }}"
|
|
|
|
- name: Create acme.json with correct permissions
|
|
ansible.builtin.file:
|
|
path: "{{ traefik_config_dir }}/acme.json"
|
|
state: touch
|
|
owner: root
|
|
group: root
|
|
mode: "0600"
|
|
modification_time: preserve
|
|
access_time: preserve
|
|
|
|
- name: Deploy Traefik static config
|
|
ansible.builtin.template:
|
|
src: traefik.yml.j2
|
|
dest: "{{ traefik_config_dir }}/traefik.yml"
|
|
mode: "0644"
|
|
notify: Restart traefik
|
|
|
|
- name: Deploy dynamic downstream routes file
|
|
ansible.builtin.template:
|
|
src: dynamic-hosts.yml.j2
|
|
dest: "{{ traefik_dynamic_dir }}/hosts.yml"
|
|
mode: "0644"
|
|
notify: Restart traefik
|
|
|
|
- name: Deploy dynamic analytics file
|
|
ansible.builtin.template:
|
|
src: dynamic-analytics.yml.j2
|
|
dest: "{{ traefik_dynamic_dir }}/analytics.yml"
|
|
mode: "0644"
|
|
notify: Restart traefik
|
|
|
|
- name: Pull traefik image
|
|
community.docker.docker_image:
|
|
name: "{{ traefik_image }}"
|
|
source: pull
|
|
notify: Restart traefik
|
|
|
|
- name: Deploy traefik systemd unit
|
|
ansible.builtin.template:
|
|
src: traefik.service.j2
|
|
dest: /etc/systemd/system/traefik.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify: Reload systemd
|
|
|
|
- name: Enable and start traefik service
|
|
ansible.builtin.systemd:
|
|
name: traefik
|
|
enabled: true
|
|
state: started
|
|
daemon_reload: true
|
|
|
|
- name: Remove dangling/old traefik images
|
|
community.docker.docker_prune:
|
|
images: true
|
|
images_filters:
|
|
dangling: true
|
|
|