Files
argocd/helm/cert-manager-webhook-ovh/ops/values.yaml
2026-01-22 20:53:53 +01:00

128 lines
5.2 KiB
YAML

# Configuration pour cert-manager-webhook-ovh
# Ce webhook permet à cert-manager d'utiliser OVH DNS-01 challenge pour les certificats wildcard
# Chart officiel: https://artifacthub.io/packages/helm/cert-manager-webhook-ovh/cert-manager-webhook-ovh
cert-manager-webhook-ovh:
# Version de la configuration (requis par le chart)
configVersion: 0.0.2
# Nombre de replicas
replicas: 1
# Configuration du webhook
# Le GroupName est utilisé pour identifier votre entreprise
# Ce nom doit être référencé dans chaque ClusterIssuer pour informer cert-manager
# où envoyer les ChallengePayload resources pour résoudre le challenge DNS-01
groupName: acme.gkdomaine.fr
# Configuration cert-manager
# Ces valeurs doivent correspondre à votre déploiement cert-manager
certManager:
# namespace dans lequel cert-manager est déployé
namespace: cert-manager-ops
# nom du ServiceAccount cert-manager (par défaut: cert-manager)
serviceAccountName: cert-manager
# Configuration RBAC
# Si le secret de l'issuer est dans un namespace différent, changez `Role` (défaut)
# en `ClusterRole` pour que le webhook puisse accéder à ce secret
rbac:
roleType: ClusterRole # Utilisé pour accéder aux secrets dans différents namespaces
# Image du webhook
image:
repository: ghcr.io/aureq/cert-manager-webhook-ovh
# tag: "" # Laisser vide pour utiliser la version du chart
pullPolicy: IfNotPresent
# Configuration du Service
service:
type: ClusterIP
port: 443 # Port du service (exposé en interne)
# Port utilisé par l'application pour exposer le service
# Le webhook écoute sur le port 8443 (voir les logs)
port: 8443
# Resources
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 50m
memory: 64Mi
# Les ClusterIssuers sont créés séparément dans helm/certificates/ops/templates/
# Pas besoin de les créer ici car nous les gérons via le chart certificates
issuers:
- name: letsencrypt-dns01-prod
create: true
kind: ClusterIssuer
# Namespace requis si kind est Issuer, optionnel pour ClusterIssuer
namespace: cert-manager-ops
email: gkpoubelle78@gmail.com
acmeServerUrl: https://acme-v02.api.letsencrypt.org/directory
# Configuration spécifique OVH reconnue par les templates du chart
ovhEndpointName: ovh-eu
ovhAuthenticationMethod: application
# Références aux secrets (le chart s'occupe de générer le bon format)
ovhAuthenticationRef:
applicationKeyRef:
name: cert-manager-webhook-ovh
key: application-key
applicationSecretRef:
name: cert-manager-webhook-ovh
key: application-secret
applicationConsumerKeyRef:
name: cert-manager-webhook-ovh
key: consumer-key
# Important pour vos domaines spécifiques
# Note : Vérifiez si votre chart supporte les selectors via values,
# sinon il faudra peut-être patcher le template.
# Configuration External Secrets Operator - Stratégie Multi-Namespace
# Cette configuration permet de partager les secrets OVH entre cert-manager-ops et cert-manager-webhook-ovh-ops
# en utilisant un ClusterSecretStore et des ExternalSecrets dans chaque namespace
externalSecret:
enabled: false # Activez cette option pour utiliser External Secrets
refreshInterval: "1h" # Intervalle de rafraîchissement du secret
secretName: "cert-manager-webhook-ovh" # Nom du Secret créé dans chaque namespace
# Références aux clés dans Vault
remoteRef:
applicationKey: "" # Chemin/clef dans Vault pour application-key (ex: "secret/data/ovh#application-key")
applicationSecret: "" # Chemin/clef dans Vault pour application-secret (ex: "secret/data/ovh#application-secret")
consumerKey: "" # Chemin/clef dans Vault pour consumer-key (ex: "secret/data/ovh#consumer-key")
# Configuration HashiCorp Vault
vault:
secretStoreName: "vault-backend" # Nom du ClusterSecretStore à créer
server: "https://vault.example.com:8200" # URL de votre serveur Vault
path: "secret" # Chemin du secret engine (secret, kv, etc.)
version: "v2" # Version de l'API KV (v1 ou v2)
auth:
# Authentification Kubernetes (recommandé pour la stratégie Multi-Namespace)
kubernetes:
mountPath: "kubernetes" # Chemin du mount Kubernetes dans Vault
role: "" # Nom du rôle Vault configuré pour Kubernetes auth
# Le ServiceAccount doit être autorisé dans les namespaces cert-manager-ops et cert-manager-webhook-ovh-ops
serviceAccountRef:
name: "cert-manager-webhook-ovh-sa" # ServiceAccount utilisé pour l'authentification
namespace: "cert-manager-webhook-ovh-ops" # Namespace du ServiceAccount
# Alternative : Authentification par token
# token:
# secretName: "vault-token" # Nom du Secret contenant le token
# secretKey: "token" # Clé dans le Secret
# Alternative : Authentification AppRole
# appRole:
# path: "approle"
# roleId: "" # Role ID
# secretRef:
# name: "vault-approle-secret" # Secret contenant le Secret ID
# key: "secretId"