99 lines
2.3 KiB
Markdown
99 lines
2.3 KiB
Markdown
# 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.
|
|
|