feat: various small fixes to the traefik config

This commit is contained in:
Simon Cornet 2026-04-15 16:59:21 +02:00
commit 68aac107da
3 changed files with 35 additions and 23 deletions

View file

@ -12,13 +12,23 @@
# traefik config # traefik config
- name: "traefik config" - name: "traefik config"
ansible.builtin.template: ansible.builtin.template:
src: "templates/traefik/config.yml.j2" src: "templates/traefik/traefik.yml.j2"
dest: "/mnt/traefik/traefik.yml" dest: "/mnt/traefik/traefik.yml"
owner: "root" owner: "root"
group: "root" group: "root"
mode: "0640" mode: "0640"
notify: "restart traefik" notify: "restart traefik"
# traefik http routes
- name: "traefik https routes"
ansible.builtin.template:
src: "templates/traefik/http.yml.j2"
dest: "/mnt/traefik/http.yml"
owner: "root"
group: "root"
mode: "0640"
notify: "restart traefik"
# transip apikey # transip apikey
- name: "traefik - transip api" - name: "traefik - transip api"
ansible.builtin.copy: ansible.builtin.copy:

View file

@ -0,0 +1,18 @@
http:
routers:
{% for item in traefik_routes %}
{{ item.service }}:
rule: "Host(`{{ item.name }}`)"
entryPoints:
- websecure
service: {{ item.service }}-svc
tls:
certResolver: transip
{% endfor %}
services:
{% for item in traefik_routes %}
{{ item.service }}-svc:
loadBalancer:
servers:
- url: "{{ item.proto }}://{{ item.host }}:{{ item.port }}"
{% endfor %}

View file

@ -16,7 +16,6 @@ entryPoints:
readTimeout: 0 readTimeout: 0
writeTimeout: 0 writeTimeout: 0
idleTimeout: 0 idleTimeout: 0
certificatesResolvers: certificatesResolvers:
transip: transip:
acme: acme:
@ -24,28 +23,13 @@ certificatesResolvers:
provider: "transip" provider: "transip"
email: "{{ traefik_letsencrypt_email }}" email: "{{ traefik_letsencrypt_email }}"
storage: "/acme.json" storage: "/acme.json"
caServer: "https://acme-v02.api.letsencrypt.org/directory"
{% if traefik_routes | selectattr('proto', 'equalto', 'https') | list | length > 0 %}
serversTransport:
insecureSkipVerify: true
{% endif %}
providers: providers:
file: file:
filename: /traefik.yml filename: /http.yml
watch: true watch: true
http:
routers:
{% for item in traefik_routes %}
{{ item.service }}:
rule: "Host(`{{ item.name }}`)"
entryPoints:
- websecure
service: {{ item.service }}-svc
tls:
certResolver: transip
{% endfor %}
services:
{% for item in traefik_routes %}
{{ item.service }}-svc:
loadBalancer:
servers:
- url: "{{ item.proto }}://{{ item.host }}:{{ item.port }}"
{% endfor %}