# External Devices - Reverse Proxy avec Traefik (Production) Ce chart Helm expose vos équipements externes (pfSense, OpenMediaVault, NAS, etc.) via Traefik en utilisant les certificats TLS générés par cert-manager. ⚠️ **Note** : Pour le moment, seuls les services externes en **production** sont configurés. ## Principe Au lieu d'exporter les certificats vers chaque équipement, Traefik agit comme reverse proxy : - **Traefik** gère le HTTPS avec les certificats wildcard - Les **équipements externes** restent en HTTP (interne) - Les certificats sont **automatiquement renouvelés** par cert-manager ## Configuration ### 1. Modifier `values.yaml` Configurez vos équipements dans `values.yaml` : ```yaml externalDevices: pfsense: enabled: true domain: "pfsense.prd.gkdomaine.fr" ip: "192.168.1.1" # ⚠️ IP réelle de pfSense port: 80 tlsSecret: "wildcard-prd-tls" ``` ### 2. Déployer via ArgoCD Le chart est déployé automatiquement via l'ApplicationSet `applicationset-external-devices.yaml`. ### 3. Vérifier ```bash # Vérifier les services kubectl get services -n traefik-prd | grep backend # Vérifier les IngressRoute kubectl get ingressroute -n traefik-prd # Tester l'accès curl -k https://pfsense.prd.gkdomaine.fr ``` ## Ajouter un nouvel équipement 1. Ajoutez la configuration dans `values.yaml` : ```yaml externalDevices: mon-equipement: enabled: true domain: "equipement.prd.gkdomaine.fr" ip: "192.168.1.100" port: 80 tlsSecret: "wildcard-prd-tls" namespace: "traefik-prd" ``` 2. Le chart génère automatiquement : - Un Service de type `ExternalName` - Un IngressRoute avec TLS - Une redirection HTTP → HTTPS (si activée) ## Authentification basique Pour ajouter une authentification HTTP Basic : ```yaml externalDevices: pfsense: enabled: true domain: "pfsense.prd.gkdomaine.fr" ip: "192.168.1.1" port: 80 basicAuth: enabled: true secretName: "pfsense-basic-auth" # Secret à créer manuellement ``` Créer le secret : ```bash # Générer le hash avec htpasswd htpasswd -nb admin password | base64 # Créer le secret kubectl create secret generic pfsense-basic-auth \ --from-literal=users='admin:$apr1$...' \ -n traefik-prd ``` ## Documentation complète Voir `docs/REVERSE-PROXY-EXTERNES.md` pour plus de détails.