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:acme.credentials es una referencia a un secreto, resuelta por el proveedor de secretos configurado en el broker. Con el proveedor de Vault, el valor es la ruta del secreto relativa a secrets.vault.mount_path. El broker lee el campo nombrado por secrets.vault.key (por defecto value) de ese secreto para obtener el token real del proveedor de DNS.certplane/cloudflare del ejemplo anterior 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.