Si usas HashiCorp Vault u OpenBao para gestionar secretos, el broker de Certplane puede leer valores sensibles (como tokens de API DNS) directamente desde Vault en lugar de desde variables de entorno o archivos. Esto mantiene las credenciales fuera del entorno de tu shell y te permite gestionar la rotación de forma centralizada mediante la API de Vault.Documentation Index
Fetch the complete documentation index at: https://certplane.kippel.org/llms.txt
Use this file to discover all available pages before exploring further.
Requisitos previos
Antes de empezar, confirma lo siguiente:- Vault está en ejecución y su API es accesible desde el host del broker.
- Tienes un token de Vault con la capacidad
readsobre la ruta de secreto que planeas usar. - El motor de secretos KV está montado y habilitado en tu instancia de Vault.
Escribe el secreto en Vault
Almacena tu token de API DNS de Cloudflare (o cualquier otra credencial) como un secreto KV. El ejemplo siguiente usa el motor KV v2 montado en Certplane lee el campo nombrado por
secret:secrets.vault.key de este secreto. El nombre de campo predeterminado es value, coincidiendo con el comando anterior.Escribe el token de Vault en un archivo
Certplane lee el token de Vault desde un archivo en lugar de una variable de entorno, para que el token nunca se exponga a través del entorno de proceso:Asegúrate de que el archivo sea legible solo para el usuario que ejecuta el proceso del broker.
Configura el broker para usar el proveedor Vault
Actualiza
broker.yml para definir secrets.provider como vault y rellena los detalles de conexión:kv_version controla qué API del motor de secretos KV usa Certplane para obtener el secreto:2(predeterminado) — Motor de secretos KV v2. Los secretos tienen historial completo de versiones y se almacenan internamente bajo el prefijosecret/data/<path>. Úsala para nuevos despliegues de Vault.1— Motor de secretos KV v1. Sin versionado; los secretos se almacenan directamente ensecret/<path>. Úsala solo si tu instancia de Vault no se ha actualizado a KV v2.
kv_version para que coincida con lo que tu montaje de Vault realmente usa.Referencia el secreto en la configuración de tu perfil
En El valor
policy.yml, define acme.credentials con la ruta del secreto en Vault (relativa al montaje). Certplane lo añade a mount_path al construir la llamada a la API de Vault:El campo
acme_challenge en policy.yml define el tipo de desafío para el perfil. La credencial de Cloudflare se configura en la sección issuer.acme del broker: el broker la usa automáticamente al completar los desafíos dns-01 para este perfil.certplane/cloudflare en la ruta de Vault coincide con el secreto que escribiste en el paso 1 (secret/certplane/cloudflare menos el prefijo de montaje secret).Usar OpenBao
OpenBao es un fork de código abierto de Vault con una API compatible. Certplane lo soporta de forma nativa: usa la misma configuración que la anterior pero defineprovider como openbao:
mount_path, kv_version, key, timeout) se comportan de forma idéntica. La subclave vault se reutiliza para la configuración de OpenBao: no hay un bloque openbao separado.