services/cdn/cdn-chart/templates/ingress.yaml
{{- if .Values.ingress.enabled -}}
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ template "chart.fullname" . }}{{- if .Values.ingress.tls.enabled }}.secure{{- end }}
labels:
{{- include "chart.labels" . | nindent 4 }}
spec:
entryPoints:
{{- toYaml .Values.ingress.entrypoints | nindent 4 }}
routes:
{{- range .Values.ingress.routes }}
- match: Host(`{{ .host }}`) && PathPrefix(`{{ .paths | join "`) || PathPrefix(`" }}`)
kind: Rule
services:
{{- range .services }}
- name: {{ .name }}
port: {{ .port }}
scheme: {{ .scheme }}
{{- end }}
{{- end }}
{{- if .Values.ingress.tls.enabled }}
tls:
certResolver: {{ .Values.ingress.tls.certResolver }}
secretName: {{ .Values.ingress.tls.secretName }}
{{- end }}
---
{{- if .Values.ingress.tls.enabled }}
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: {{ template "chart.fullname" . }}
labels:
{{- include "chart.labels" . | nindent 4 }}
spec:
entryPoints:
- web
routes:
{{- range .Values.ingress.routes }}
{{- if not .grpc }}
- match: Host(`{{ .host }}`) && PathPrefix(`{{ .paths | join "`) || PathPrefix(`" }}`)
kind: Rule
services:
{{- range .services }}
- name: {{ .name }}
port: {{ .port }}
scheme: {{ .scheme }}
{{- end }}
middlewares:
- name: https-redirect
namespace: infra
{{- with .middlewares }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- end }}
{{- end }}
---
{{- end }}
{{- end }}