41 lines
1.1 KiB
Plaintext
41 lines
1.1 KiB
Plaintext
|
http:
|
||
|
routers:
|
||
|
{{ item.name }}:
|
||
|
rule: "Host(`{{ item.domain }}`)"
|
||
|
service: {{ item.name }}-service
|
||
|
{% if item.basicauth is defined and item.middlewares is defined %}
|
||
|
middlewares: "{{ item.middlewares }},{{ item.name }}-auth@file"
|
||
|
{% elif item.basicauth is defined %}
|
||
|
middlewares: "{{ item.name }}-auth@file"
|
||
|
{% elif item.middlewares is defined %}
|
||
|
middlewares: "{{ item.middlewares }}"
|
||
|
{% endif %}
|
||
|
tls:
|
||
|
certResolver: letsencrypt
|
||
|
domains:
|
||
|
- main: "{{ item.domain }}"
|
||
|
entryPoints:
|
||
|
- "websecure"
|
||
|
services:
|
||
|
{{ item.name }}-service:
|
||
|
loadBalancer:
|
||
|
{% if item.httpsbackend is defined %}
|
||
|
serversTransport: {{ item.name }}-httpsbackend
|
||
|
servers:
|
||
|
- url: "{{ item.backend }}"
|
||
|
{% endif %}
|
||
|
{% if item.httpsbackend is defined %}
|
||
|
serversTransports:
|
||
|
{{ item.name }}-httpsbackend:
|
||
|
insecureSkipVerify: true
|
||
|
{% endif %}
|
||
|
{% if item.basicauth is defined %}
|
||
|
middlewares:
|
||
|
{{ item.name }}-auth:
|
||
|
basicAuth:
|
||
|
users:
|
||
|
{% for user in item.basicauth %}
|
||
|
- "{{ user }}"
|
||
|
{% endfor %}
|
||
|
{% endif %}
|