Files
argocd/helm/certificates/ops

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 Helm
  • templates/ : Dossiers organisés par application
    • homarr/ : 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

  1. Créez un nouveau dossier dans templates/ : templates/<app>/
  2. Créez le fichier Certificate dans ce dossier
  3. Optionnellement, créez un README.md dans 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