{{- 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 }}