iac_stack/roles/deploy_container_traefik/templates/hosts.yml.j2
2025-06-14 17:15:24 +02:00

42 lines
1.2 KiB
Django/Jinja

http:
routers:
{% for router_name, router in container_traefik_routers.items() %}
{{ router_name }}:
entryPoints:
{% for ep in router.entryPoints %}
- "{{ ep }}"
{% endfor %}
rule: "{{ router.rule }}"
{% if router.middlewares is defined and router.middlewares %}
middlewares:
{% for m in router.middlewares %}
- {{ m }}
{% endfor %}
{% endif %}
{% if router.tls is defined and router.tls %}
tls: {}
{% endif %}
service: {{ router.service }}
{% endfor %}
services:
{% for service_name, service in container_traefik_services.items() %}
{{ service_name }}:
loadBalancer:
servers:
{% for server in service.loadBalancer.servers %}
- url: "{{ server.url }}"
{% endfor %}
passHostHeader: {{ service.loadBalancer.passHostHeader | default(true) | lower }}
{% if service.loadBalancer.serversTransport is defined %}
serversTransport: {{ service.loadBalancer.serversTransport }}
{% endif %}
{% endfor %}
serversTransports:
{% for transport_name, transport in container_traefik_serversTransports.items() %}
{{ transport_name }}:
{% for key, value in transport.items() %}
{{ key }}: {{ value | lower if value is boolean else value }}
{% endfor %}
{% endfor %}