# WAF partagé (ModSecurity natif, nginx) devant le Traefik partagé — un seul # déploiement pour toutes les démos, comme deploy/chart-gestion/traefik. # Doit être installé dans le MÊME namespace que le Traefik partagé (accès au # Secret TLS wildcard, pas de partage de Secret cross-namespace en k8s). replicaCount: 2 image: repository: owasp/modsecurity-crs tag: nginx-alpine pullPolicy: IfNotPresent imagePullSecrets: [] # Certificat wildcard émis par cert-manager (voir deploy/cert-manager/), même # Secret que consomme le TLSStore de Traefik (templates/tlsstore.yaml). tls: secretName: wildcard-demo-tls # Service + port internes du Traefik partagé (voir deploy/chart-gestion/traefik) : # ce WAF termine le TLS public puis rouvre une connexion TLS interne vers # l'entryPoint websecure de Traefik (aucune modification requise côté # IngressRoute/entryPoints — Traefik ne voit aucune différence). upstream: host: gestion-traefik.traefik.svc.cluster.local # Port du Service Kubernetes "gestion-traefik" (websecure), pas le port # interne du conteneur (8443, le Service l'abstrait derrière son propre # port 443 — voir kubectl -n traefik get svc gestion-traefik). port: 443 waf: paranoia: 2 anomalyInbound: 5 anomalyOutbound: 4 resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 256Mi service: type: LoadBalancer