114 lines
4.8 KiB
YAML
114 lines
4.8 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
|
|
|
|
# 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: true # ✅ Activé pour utiliser External Secrets avec Vault
|
|
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
|
|
# Format: "chemin/dans/vault#clef" pour KV v2
|
|
# Exemple: "secret/data/ovh#application-key"
|
|
remoteRef:
|
|
applicationKey: "secret/data/cert-manager-webhook-ovh/application-key" # ⚠️ À configurer avec votre chemin Vault
|
|
applicationSecret: "secret/data/cert-manager-webhook-ovh/application-secret" # ⚠️ À configurer avec votre chemin Vault
|
|
consumerKey: "secret/data/cert-manager-webhook-ovh/consumer-key" # ⚠️ À configurer avec votre chemin Vault
|
|
|
|
# Configuration HashiCorp Vault
|
|
vault:
|
|
secretStoreName: "vault-backend" # Nom du ClusterSecretStore à créer
|
|
server: "http://hashicorp-vault-0.hashicorp-vault-internal.hashicorp-ops.svc.cluster.local:8200" # ⚠️ À configurer avec l'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: "cert-manager-webhook-ovh-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 |