Files
wtf/roles/infra/tasks/traefik.yml

81 lines
1.8 KiB
YAML

#SPDX-License-Identifier: MIT-0
---
# tasks file for traefik
- name: Create systemd user directory
ansible.builtin.file:
path: ~/.config/systemd/user
state: directory
mode: "0755"
- name: Create podman quadlet directory
ansible.builtin.file:
path: ~/.config/containers/systemd
state: directory
mode: "0755"
- name: Create acme file
ansible.builtin.file:
path: "~/{{ infra_acme.storage }}"
state: file
mode: "0600"
- name: Setup local socket for traefik
ansible.builtin.systemd_service:
name: podman.socket
state: started
enabled: true
scope: user
- name: Stop legacy generated traefik service
ansible.builtin.systemd_service:
name: container-traefik.service
state: stopped
enabled: false
scope: user
failed_when: false
- name: Remove legacy generated traefik service
ansible.builtin.file:
path: ~/.config/systemd/user/container-traefik.service
state: absent
- name: Install traefik http socket
ansible.builtin.copy:
src: http.socket
dest: ~/.config/systemd/user/http.socket
mode: "0644"
- name: Install traefik https socket
ansible.builtin.copy:
src: https.socket
dest: ~/.config/systemd/user/https.socket
mode: "0644"
- name: Install traefik quadlet
ansible.builtin.template:
src: traefik.container.j2
dest: ~/.config/containers/systemd/traefik.container
mode: "0644"
- name: Reload systemd user units
ansible.builtin.systemd_service:
daemon_reload: true
scope: user
- name: Activate traefik sockets
ansible.builtin.systemd_service:
name: "{{ item }}"
state: started
enabled: true
scope: user
loop:
- http.socket
- https.socket
- name: Activate traefik service
ansible.builtin.systemd_service:
name: traefik.service
state: started
scope: user