add external device

This commit is contained in:
2026-01-22 23:34:56 +01:00
parent 7e49e193fb
commit b6c6366c59
10 changed files with 1120 additions and 0 deletions

View File

@@ -0,0 +1,98 @@
# 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.