60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
{{- if .Values.auth.enabled }}
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: {{ .Values.auth.contextMiddlewareName }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "traefik-error-pages.labels" . | nindent 4 }}
|
|
spec:
|
|
headers:
|
|
customRequestHeaders:
|
|
# Clear the completion marker before checking access so a client cannot
|
|
# spoof a successful authentication check.
|
|
X-Error-Auth-Provider: {{ .Values.auth.marker | quote }}
|
|
X-Error-Auth-Checked: ""
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: {{ .Values.auth.forwardMiddlewareName }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "traefik-error-pages.labels" . | nindent 4 }}
|
|
spec:
|
|
forwardAuth:
|
|
address: {{ required "auth.forwardAddress is required when auth.enabled is true" .Values.auth.forwardAddress | quote }}
|
|
trustForwardHeader: {{ .Values.auth.trustForwardHeader }}
|
|
{{- with .Values.auth.responseHeaders }}
|
|
authResponseHeaders:
|
|
{{- toYaml . | nindent 6 }}
|
|
{{- end }}
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: {{ .Values.auth.checkedMiddlewareName }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "traefik-error-pages.labels" . | nindent 4 }}
|
|
spec:
|
|
headers:
|
|
customRequestHeaders:
|
|
X-Error-Auth-Checked: passed
|
|
---
|
|
apiVersion: traefik.io/v1alpha1
|
|
kind: Middleware
|
|
metadata:
|
|
name: {{ .Values.auth.chainMiddlewareName }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "traefik-error-pages.labels" . | nindent 4 }}
|
|
spec:
|
|
chain:
|
|
middlewares:
|
|
- name: {{ .Values.auth.contextMiddlewareName }}
|
|
- name: {{ .Values.auth.forwardMiddlewareName }}
|
|
- name: {{ .Values.auth.checkedMiddlewareName }}
|
|
{{- end }}
|
|
|