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.
El broker necesita acceso a valores sensibles como los tokens de API de proveedores DNS usados para completar desafíos ACME dns-01. En lugar de incrustar estos valores directamente en broker.yml, Certplane admite cuatro proveedores de secretos enchufables que se configuran en la sección secrets de la configuración del broker. Cada proveedor resuelve un secreto por nombre en tiempo de ejecución, manteniendo las credenciales fuera de tus archivos de configuración y del control de versiones.
El proveedor env es el predeterminado y la forma más sencilla de empezar.
No requiere configuración adicional más allá de definir variables de
entorno antes de iniciar el broker.
No almacenes secretos en texto plano dentro de broker.yml. Usa uno de los
proveedores de secretos descritos a continuación para que los valores
sensibles se mantengan fuera de tus archivos de configuración y no se
incluyan accidentalmente en el control de versiones o en los diffs de
configuración.
Referencias a secretos
Donde Certplane espera un valor sensible (como una credencial de proveedor
DNS), proporcionas una referencia a un secreto: un nombre que el
proveedor activo resuelve en tiempo de ejecución. El significado del nombre
depende del proveedor configurado:
| Proveedor | El nombre significa |
|---|
env | Nombre de variable de entorno |
file | Ruta absoluta de archivo |
vault | Ruta de secreto en Vault |
openbao | Ruta de secreto en OpenBao |
Configurar un proveedor
Define secrets.provider en broker.yml para elegir un proveedor. Solo un
proveedor está activo a la vez.
El proveedor env (predeterminado) resuelve los nombres de secreto
como nombres de variables de entorno. El broker lee la variable
nombrada de su entorno de proceso en el momento en que se necesita el
secreto.Por ejemplo, si una referencia a credencial DNS usa el nombre
CLOUDFLARE_DNS_API_TOKEN, el broker lee el valor de la variable de
entorno $CLOUDFLARE_DNS_API_TOKEN. Define esa variable antes de
iniciar el broker:export CLOUDFLARE_DNS_API_TOKEN=your-token-here
certplane-broker --config /etc/certplane/broker.yml
Para este proveedor no se requieren campos adicionales bajo secrets. El proveedor file resuelve los nombres de secreto como rutas de
archivo en el sistema de archivos local. Cada secreto se almacena en su
propio archivo, con el valor del secreto como contenido del archivo.Por ejemplo, una referencia a credencial llamada
/etc/certplane/secrets/cloudflare-token hace que el broker lea el
contenido de ese archivo en tiempo de ejecución. Almacena un secreto
por archivo y restringe los permisos de archivo apropiadamente:echo -n "your-token-here" > /etc/certplane/secrets/cloudflare-token
chmod 600 /etc/certplane/secrets/cloudflare-token
Para este proveedor no se requieren campos adicionales bajo secrets. El proveedor vault lee secretos desde un motor de secretos KV de
HashiCorp Vault. Los nombres de secreto
se tratan como rutas de secreto en Vault.secrets:
provider: vault
vault:
address: https://vault.internal.example.com:8200
token: s.exampletoken # o usa token_file
token_file: /etc/certplane/vault-token
mount_path: secret # por defecto: secret
kv_version: 2 # 1 o 2, por defecto: 2
key: value # nombre del campo dentro del secreto, por defecto: value
namespace: "" # namespace de Vault Enterprise (opcional)
timeout: 10s # por defecto: 10s
URL del servidor Vault, por ejemplo
https://vault.internal.example.com:8200.
Token de Vault para autenticación. Se debe proporcionar token o
token_file.
Ruta a un archivo que contiene el token de Vault. Se debe proporcionar
token_file o token. El archivo se lee una vez al inicio.
secrets.vault.mount_path
string
predeterminado:"secret"
Ruta de montaje del motor de secretos KV en Vault.
secrets.vault.kv_version
integer
predeterminado:"2"
Versión del motor KV. Valores aceptados: 1 o 2. Usa 2 para el
motor KV v2 (secretos versionados), que es el predeterminado para los
nuevos despliegues de Vault.
secrets.vault.key
string
predeterminado:"value"
El nombre del campo dentro de cada secreto de Vault que se debe leer.
Para secretos KV v2 que almacenan un único valor, el nombre de campo
convencional es value.
Namespace de Vault Enterprise. Déjalo vacío para Vault de código
abierto.
secrets.vault.timeout
duration
predeterminado:"10s"
Tiempo de espera para las llamadas a la API de Vault. Acepta cadenas
de duración Go como 10s o 30s.
El proveedor openbao lee secretos desde OpenBao,
un fork comunitario de Vault. Su configuración es idéntica a la del
proveedor vault; solo cambia el valor de provider.secrets:
provider: openbao
vault:
address: https://openbao.internal.example.com:8200
token_file: /etc/certplane/openbao-token
mount_path: secret
kv_version: 2
timeout: 10s
Todos los campos listados en la pestaña vault aplican igualmente al
proveedor openbao. El bloque de configuración vault compartido se
usa para ambos proveedores.