From 1bb6112ac13508c58b0262cd2ae02c0cb76e1725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Mi=C4=99dzybrodzki?= Date: Tue, 21 Jan 2025 10:14:44 +0100 Subject: [PATCH] feat: rudimentary traefik middlewares support (no json schema) --- README.md | 2 +- charts/app/Chart.yaml | 2 +- charts/app/templates/middlewares.yaml | 13 +++++++++++++ charts/app/values-example.yaml | 8 ++++++++ charts/app/values.schema.json | 4 ++++ 5 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 charts/app/templates/middlewares.yaml diff --git a/README.md b/README.md index e7d76ee..6b1c9b2 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ appVersion: 1.0.0 dependencies: - name: app - version: 0.6.0 + version: 0.7.0 repository: oci://ghcr.io/wojciechem/platformex ``` diff --git a/charts/app/Chart.yaml b/charts/app/Chart.yaml index 764e571..7b99343 100644 --- a/charts/app/Chart.yaml +++ b/charts/app/Chart.yaml @@ -5,7 +5,7 @@ description: Flexible helm chart to deploy your apps to kubernetes cluster. type: application # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.6.0 +version: 0.7.0 appVersion: 1.0.0 diff --git a/charts/app/templates/middlewares.yaml b/charts/app/templates/middlewares.yaml new file mode 100644 index 0000000..60c1461 --- /dev/null +++ b/charts/app/templates/middlewares.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: List +items: + {{- range .Values.traefikMiddlewares }} + - apiVersion: traefik.containo.us/v1alpha1 + kind: Middleware + metadata: + name: {{ .name }} + labels: + {{- include "platformex.globalLabels" $ | indent 8 }} + spec: + {{- toYaml .spec | nindent 6 }} + {{- end }} \ No newline at end of file diff --git a/charts/app/values-example.yaml b/charts/app/values-example.yaml index bec18c7..f0673c6 100644 --- a/charts/app/values-example.yaml +++ b/charts/app/values-example.yaml @@ -46,6 +46,14 @@ sealedSecrets: - key: passcode value: (encrypted-passcode) +traefikMiddlewares: + - name: someForwardAuth + spec: + forwardAuth: + address: "hxxp://auth.svc" + authResponseHeaders: + - X-Authservice + instances: 1-plain: enableCrons: false diff --git a/charts/app/values.schema.json b/charts/app/values.schema.json index 8cf1e9b..73f742a 100644 --- a/charts/app/values.schema.json +++ b/charts/app/values.schema.json @@ -18,6 +18,10 @@ "sealedSecrets": { "type": "object" }, + + "traefikMiddlewares": { + "type": "array" + }, "instances": { "$ref": "#/definitions/Instances" }