Files
local-k8s/k8s/app/local-proxy.yaml
T
argoyle a62ee9efb1 refactor: migrate from ingress-nginx to Traefik v3 (#254)
## Summary

- Replace ingress-nginx 4.15.1 with Traefik v3 (Helm chart 39.0.7) as ingress controller
- Convert nginx-specific annotations to Traefik Middleware CRDs
- Update setup script selectors, namespaces, and readiness checks
- Add `.claude/settings.local.json` to `.gitignore`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: #254
2026-04-15 13:05:43 +00:00

98 lines
2.1 KiB
YAML

# Local development proxy configuration
# Proxies traffic from KinD cluster to host machine for local development
#
# Add to /etc/hosts:
# 192.168.228.2 staging-shiny.unbound.se staging-shiny-api.unbound.se
#
# Apply with: kubectl apply -f local-proxy.yaml
# Delete with: kubectl delete -f local-proxy.yaml
---
# Frontend proxy (port 3300)
apiVersion: v1
kind: Service
metadata:
name: frontend-external
spec:
type: ExternalName
externalName: host.docker.internal
ports:
- port: 3300
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: frontend
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-frontend-host@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- staging-shiny.unbound.se
secretName: self-signed-cert-tls
rules:
- host: staging-shiny.unbound.se
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: frontend-external
port:
number: 3300
---
# API proxy (port 4444)
apiVersion: v1
kind: Service
metadata:
name: api-external
spec:
type: ExternalName
externalName: host.docker.internal
ports:
- port: 4444
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api
annotations:
traefik.ingress.kubernetes.io/router.middlewares: default-api-host@kubernetescrd
spec:
ingressClassName: traefik
tls:
- hosts:
- staging-shiny-api.unbound.se
secretName: self-signed-cert-tls
rules:
- host: staging-shiny-api.unbound.se
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api-external
port:
number: 4444
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: frontend-host
spec:
headers:
customRequestHeaders:
Host: "localhost:3300"
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: api-host
spec:
headers:
customRequestHeaders:
Host: "localhost:4444"