refactor: migrate from ingress-nginx to Traefik v3

Replace ingress-nginx 4.15.1 with Traefik v3 (Helm chart 39.0.7)
as the ingress controller for the local kind cluster.

- Replace k8s/nginx/ with k8s/traefik/ (Helm chart, values, namespace)
- Update setup script selectors and namespace references
- Convert nginx upstream-vhost annotations to Traefik Middleware CRDs
- Update ingressClassName from nginx to traefik

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
refactor: migrate from ingress-nginx to Traefik v3

Replace ingress-nginx 4.15.1 with Traefik v3 (Helm chart 39.0.7)
as the ingress controller for the local kind cluster.

- Replace k8s/nginx/ with k8s/traefik/ (Helm chart, values, namespace)
- Update setup script selectors and namespace references
- Convert nginx upstream-vhost annotations to Traefik Middleware CRDs
- Update ingressClassName from nginx to traefik
- Add .claude/ to .gitignore

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-15 14:55:12 +02:00
parent 17c97b4333
commit 39551a1862
7 changed files with 76 additions and 22 deletions
+12
View File
@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespaces.yaml
helmCharts:
- name: traefik
namespace: traefik
includeCRDs: true
releaseName: traefik
repo: https://traefik.github.io/charts
version: 39.0.7
valuesFile: values.yaml
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: traefik
+31
View File
@@ -0,0 +1,31 @@
deployment:
kind: DaemonSet
ports:
web:
hostPort: 80
websecure:
hostPort: 443
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Equal"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/control-plane"
operator: "Equal"
effect: "NoSchedule"
nodeSelector:
ingress-ready: "true"
providers:
kubernetesIngress:
publishedService:
enabled: false
service:
type: ClusterIP
ingressClass:
enabled: true
isDefaultClass: true