Files
argocd/helm/external-devices/prd/README.md
2026-01-22 23:34:56 +01:00

2.3 KiB

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 :

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

# 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 :
externalDevices:
  mon-equipement:
    enabled: true
    domain: "equipement.prd.gkdomaine.fr"
    ip: "192.168.1.100"
    port: 80
    tlsSecret: "wildcard-prd-tls"
    namespace: "traefik-prd"
  1. 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 :

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 :

# 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.