86 lines
2.2 KiB
Django/Jinja
86 lines
2.2 KiB
Django/Jinja
# Traefik Static Configuration
|
|
# Generated by Ansible - DO NOT EDIT MANUALLY
|
|
|
|
# Global Configuration
|
|
global:
|
|
checkNewVersion: false
|
|
sendAnonymousUsage: false
|
|
|
|
# API Configuration
|
|
api:
|
|
dashboard: true
|
|
insecure: false
|
|
|
|
# Entry Points
|
|
entryPoints:
|
|
{% for name, config in traefik_entrypoints.items() %}
|
|
{{ name }}:
|
|
address: "{{ config.address }}"
|
|
{% if config.http is defined %}
|
|
http:
|
|
{% if config.http.tls is defined %}
|
|
tls:
|
|
{% if config.http.tls.certResolver is defined %}
|
|
certResolver: {{ config.http.tls.certResolver }}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if config.http.redirections is defined %}
|
|
redirections:
|
|
{% for redirection in config.http.redirections %}
|
|
entryPoint:
|
|
to: "{{ redirection.entrypoint.to }}"
|
|
scheme: "{{ redirection.entrypoint.scheme }}"
|
|
permanent: {{ redirection.entrypoint.permanent | lower }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
# Providers
|
|
providers:
|
|
{% for name, config in traefik_providers.items() %}
|
|
{{ name }}:
|
|
{% for key, value in config.items() %}
|
|
{{ key }}: {{ value | to_json if value is mapping else (value | lower if value is boolean else value) }}
|
|
{% endfor %}
|
|
{% endfor %}
|
|
|
|
|
|
{% if traefik_acme_enabled %}
|
|
# Certificate Resolvers
|
|
certificatesResolvers:
|
|
letsencrypt:
|
|
acme:
|
|
email: "{{ traefik_acme_email }}"
|
|
storage: "{{ traefik_acme_storage }}"
|
|
{% if traefik_acme_ca_server is defined %}
|
|
caServer: "{{ traefik_acme_ca_server }}"
|
|
{% endif %}
|
|
httpChallenge:
|
|
entryPoint: web
|
|
{% endif %}
|
|
|
|
# Logging
|
|
log:
|
|
level: "{{ traefik_log_level }}"
|
|
|
|
{% if traefik_access_logs %}
|
|
accessLog:
|
|
{% if traefik_access_logs_format is defined %}
|
|
format: "{{ traefik_access_logs_format }}"
|
|
{% endif %}
|
|
{% if traefik_access_logs_fields is defined %}
|
|
fields:
|
|
defaultMode: "{{ traefik_access_logs_fields.defaultMode }}"
|
|
{% if traefik_access_logs_fields.headers is defined %}
|
|
headers:
|
|
defaultMode: "{{ traefik_access_logs_fields.headers.defaultMode }}"
|
|
{% if traefik_access_logs_fields.headers.names is defined %}
|
|
names:
|
|
{% for header, mode in traefik_access_logs_fields.headers.names.items() %}
|
|
"{{ header }}": "{{ mode }}"
|
|
{% endfor %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endif %}
|