53 lines
1.2 KiB
YAML
53 lines
1.2 KiB
YAML
{{- range $name, $device := .Values.externalDevices }}
|
|
{{- if $device.enabled }}
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: {{ $name }}
|
|
namespace: {{ $device.namespace | default $.Values.global.namespace }}
|
|
labels:
|
|
app: external-device
|
|
device: {{ $name }}
|
|
spec:
|
|
entryPoints:
|
|
- websecure
|
|
routes:
|
|
- match: Host(`{{ $device.domain }}`)
|
|
kind: Rule
|
|
services:
|
|
- name: {{ $name }}-backend
|
|
port: {{ $device.port }}
|
|
{{- if $device.basicAuth.enabled }}
|
|
middlewares:
|
|
- name: {{ $name }}-auth
|
|
{{- end }}
|
|
tls:
|
|
secretName: {{ $device.tlsSecret | default $.Values.global.tlsSecret }}
|
|
{{- if $.Values.global.redirectHttpToHttps }}
|
|
---
|
|
# Redirection HTTP vers HTTPS
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: IngressRoute
|
|
metadata:
|
|
name: {{ $name }}-http-redirect
|
|
namespace: {{ $device.namespace | default $.Values.global.namespace }}
|
|
labels:
|
|
app: external-device
|
|
device: {{ $name }}
|
|
spec:
|
|
entryPoints:
|
|
- web
|
|
routes:
|
|
- match: Host(`{{ $device.domain }}`)
|
|
kind: Rule
|
|
middlewares:
|
|
- name: redirect-https
|
|
services:
|
|
- name: {{ $name }}-backend
|
|
port: {{ $device.port }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|