# Gestion des Certificats TLS pour le cluster OPS Ce chart gère les certificats TLS générés par cert-manager dans le cluster OPS. ## Stratégie de certificats - **Sites publics** (`.fr`) → **Let's Encrypt** (`letsencrypt-prod`) - Validation HTTP-01, nécessite accès Internet - Certificats reconnus par tous les navigateurs - **Sites internes** (`.local`) → **PKI Interne** (`ca-issuer`) - Certificats signés par votre CA root interne - Pas besoin d'accès Internet - Voir [PKI Interne](../../../../docs/PKI-INTERNE.md) pour plus de détails ## Structure - `Chart.yaml` : Définition du chart Helm - `templates/` : Dossiers organisés par application (uniquement des fichiers YAML) - `homarr/` : Certificats pour l'application Homarr - `[autre-app]/` : Certificats pour d'autres applications - `docs/` : Documentation par application - `homarr/README.md` : Documentation pour les certificats Homarr **⚠️ IMPORTANT** : Seuls les fichiers YAML doivent être dans `templates/`. Les fichiers de documentation doivent être dans `docs/`. ## Ajout d'un nouveau certificat ### Pour une application existante Ajoutez un fichier dans le dossier de l'application (ex: `templates/homarr/`) : ```yaml apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: --tls namespace: - # Le namespace où sera utilisé le secret TLS spec: secretName: --tls issuerRef: name: letsencrypt-prod # Pour sites publics (.fr) # OU # name: ca-issuer # Pour sites internes (.local) kind: ClusterIssuer dnsNames: - ``` ### Pour une nouvelle application 1. Créez un nouveau dossier dans `templates/` : `templates//` 2. Créez le fichier Certificate dans ce dossier (uniquement des fichiers YAML) 3. Optionnellement, créez un `README.md` dans `docs//` pour documenter les certificats de cette application ## Déploiement Les certificats sont déployés automatiquement via l'ApplicationSet `certificates-apps` dans ArgoCD. ## Vérification ```bash # Vérifier les certificats kubectl get certificates -A # Vérifier un certificat spécifique kubectl describe certificate homarr-dev-tls -n homarr-dev # Vérifier le secret TLS créé kubectl get secret homarr-dev-tls -n homarr-dev ``` ## Notes importantes - Les certificats sont créés dans le cluster OPS où cert-manager est installé - Le namespace du Certificate doit correspondre au namespace où le secret TLS sera utilisé - Pour utiliser le certificat dans d'autres clusters (DEV, RCT, PRD), le secret TLS doit être synchronisé depuis OPS