Files
argocd/helm/external-devices/prd/templates/ingressroutes.yaml
2026-01-22 23:34:56 +01:00

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