Implement Traefik Error Middleware

This commit is contained in:
2024-02-22 15:37:59 -04:00
parent 04e9d669bf
commit 7238bf2f0b
4 changed files with 79 additions and 27952 deletions

27957
catalog.json

File diff suppressed because it is too large Load Diff

View File

@@ -306,6 +306,12 @@ serviceAccount:
primary: true
# -- SCALE Middleware Handlers
middlewares:
errors: []
# - name: errorsName
# statusCode: "400-599"
# query: "/{status}.html"
# serviceName: "whoami"
# servicePort: 80
basicAuth: []
# - name: basicauthexample
# users:

View File

@@ -455,6 +455,48 @@ questions:
additional_attrs: true
type: dict
attrs:
- variable: errors
label: Errors
schema:
type: list
default: []
items:
- variable: errorsEntry
label: ""
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
default: ""
- variable: statusCode
label: Status Code
schema:
type: string
required: true
default: ""
- variable: query
label: Query
schema:
type: string
required: true
default: ""
- variable: serviceName
label: Service Name
schema:
type: string
required: true
default: ""
- variable: servicePort
label: Service Port
schema:
type: string
required: false
default: ""
- variable: basicAuth
label: basicAuth
schema:

View File

@@ -0,0 +1,26 @@
{{- range $index, $middlewareData := .Values.middlewares.errors }}
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: {{ ternary (printf "%v-%v" $.Release.Name $middlewareData.name) $middlewareData.name $.Values.ingressClass.enabled }}
namespace: {{ $.Release.Namespace }}
spec:
errors:
{{- with $middlewareData.statusCode }}
status:
{{- toYaml . | nindent 6 }}
{{- end -}}
{{- with $middlewareData.query }}
query: {{ $middlewareData.query }}
{{- end -}}
{{- with $middlewareData.serviceName }}
service:
name: {{ $middlewareData.serviceName }}
{{- with $middlewareData.servicePort }}
port: {{ . }}
{{- else }}
port: 80
{{- end -}}
{{- end -}}
{{- end -}}