Files
omnex/deploy/chart-gestion/traefik/values.yaml
T
2026-08-01 16:33:38 +02:00

110 lines
3.4 KiB
YAML

# =============================================================
# Traefik partagé multi-tenant : un seul déploiement pour toutes les démos.
# Le routage par démo (Host -> Service) est fourni par le chart
# deploy/chart-gestion/ingressroute, installé une fois par namespace de démo.
# =============================================================
# TLS : certificat wildcard émis une fois par cert-manager
# (voir deploy/cert-manager/), référencé ici comme certificat par défaut
# du TLSStore. Toutes les IngressRoute (dans ce namespace ou les namespaces
# de démo) qui ne précisent pas de tls.secretName utilisent automatiquement
# ce certificat.
tls:
secretName: wildcard-demo-tls
waf:
paranoia: 2
anomalyInbound: 5
anomalyOutbound: 4
rateLimit:
# requêtes moyennes par seconde par IP
average: 20
burst: 50
# =============================================================
# Valeurs passées au subchart officiel traefik
# https://github.com/traefik/traefik-helm-chart
# =============================================================
traefik:
# Expose les ports 80 et 443. Le port web redirige automatiquement vers
# websecure au niveau de l'entrypoint (pas besoin d'IngressRoute dédiée).
# Schéma valable pour le chart traefik/traefik >= 34 (vendored : 41.1.0,
# voir charts/traefik-41.1.0.tgz).
ports:
web:
port: 8000
expose:
default: true
http:
redirections:
entryPoint:
to: websecure
scheme: https
permanent: true
websecure:
port: 8443
expose:
default: true
http:
tls:
enabled: true
# Logs
log:
level: INFO
accessLog:
enabled: true
# Plugin Coraza WAF — DÉSACTIVÉ temporairement : "github.com/corazawaf/
# coraza-traefik@v0.3.0" n'existe pas sur le catalogue de plugins Traefik
# (404 au démarrage), ce qui invalidait toute la chaîne de middlewares et
# cassait le routage de TOUTES les démos. Le bon plugin est probablement
# github.com/jcchavezs/coraza-http-wasm-traefik (WASM), mais le nom de
# module exact + la version doivent être repris tels quels depuis
# https://plugins.traefik.io (bouton "Install this plugin" génère le
# snippet exact et garanti à jour) avant de les remettre ici — deux
# tentatives de deviner la bonne valeur ont déjà cassé la prod.
# experimental:
# plugins:
# coraza-traefik:
# moduleName: ""
# version: ""
# ACME interne désactivé : c'est cert-manager qui gère le cycle de vie du
# certificat wildcard (voir deploy/cert-manager/), Traefik ne fait que le
# consommer via le TLSStore (templates/tlsstore.yaml).
# ACME storage persistant — plus nécessaire sans resolver Traefik interne,
# conservé désactivé par défaut.
persistence:
enabled: false
# Traefik lit les IngressRoute/Middleware dans tous les namespaces de démo,
# et peut référencer les Middlewares partagés (waf-chain) définis ici depuis
# une IngressRoute d'un autre namespace.
providers:
kubernetesCRD:
enabled: true
allowCrossNamespace: true
# IP réelle via X-Forwarded-For (profondeur 1 = proxy direct)
# Le rate-limiter et les logs utilisent cette IP
service:
spec:
externalTrafficPolicy: Local
# Métriques Prometheus
metrics:
prometheus:
enabled: true
# Ressources
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi