add secret store

This commit is contained in:
2026-01-22 21:59:05 +01:00
parent 7c38f9355a
commit cd6d841c13
2 changed files with 169 additions and 29 deletions

View File

@@ -81,54 +81,34 @@ cert-manager-webhook-ovh:
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 des credentials OVH (si External Secrets n'est pas utilisé)
# Ces valeurs sont utilisées uniquement si externalSecret.enabled = false
ovhCredentials:
applicationKey: "" # Application Key OVH (laisser vide si vous utilisez External Secrets)
applicationSecret: "" # Application Secret OVH (laisser vide si vous utilisez External Secrets)
consumerKey: "" # Consumer Key OVH (laisser vide si vous utilisez External Secrets)
# 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
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: "" # 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")
applicationKey: "secret/data/ovh#application-key" # ⚠️ À configurer avec votre chemin Vault
applicationSecret: "secret/data/ovh#application-secret" # ⚠️ À configurer avec votre chemin Vault
consumerKey: "secret/data/ovh#consumer-key" # ⚠️ À configurer avec votre chemin Vault
# Configuration HashiCorp Vault
vault:
secretStoreName: "vault-backend" # Nom du ClusterSecretStore à créer
server: "https://vault.example.com:8200" # URL de votre serveur Vault
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: "" # Nom du rôle Vault configuré pour Kubernetes auth
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
# 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"
namespace: "cert-manager-webhook-ovh-ops" # Namespace du ServiceAccount