Certificats Let's Encrypt pour le cluster OPS
Ce chart gère les certificats Let's Encrypt générés par cert-manager dans le cluster OPS.
Structure
Chart.yaml: Définition du chart Helmtemplates/: Dossiers organisés par applicationhomarr/: Certificats pour l'application Homarr[autre-app]/: Certificats pour d'autres applications
Chaque dossier d'application contient les certificats pour tous les environnements de cette application.
Ajout d'un nouveau certificat
Pour une application existante
Ajoutez un fichier dans le dossier de l'application (ex: templates/homarr/) :
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: <app>-<env>-tls
namespace: <app>-<env> # Le namespace où sera utilisé le secret TLS
spec:
secretName: <app>-<env>-tls
issuerRef:
name: letsencrypt-prod # ou letsencrypt-staging pour les tests
kind: ClusterIssuer
dnsNames:
- <domain>
Pour une nouvelle application
- Créez un nouveau dossier dans
templates/:templates/<app>/ - Créez le fichier Certificate dans ce dossier
- Optionnellement, créez un
README.mddans le dossier 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
# 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