Skip to main content
The broker resolves the acme.credentials string on each policy profile through a pluggable secrets provider. The provider is selected with secrets.provider in broker.yml.

env (default)

The acme.credentials string in a profile is treated as an environment variable name. Set it before starting the broker:
Under systemd:
/etc/systemd/system/certplane-broker.service.d/env.conf

file

The acme.credentials string is interpreted as a filesystem path. The broker reads the file, trims whitespace, and uses the contents as the secret. Files must be readable by the certplane user.
policy.yml

vault / openbao

The acme.credentials value names the Vault path relative to mount_path. For example, with mount_path: secret and kv_version: 2:
policy.yml
…reads secret/data/certplane/cloudflare/example-com and returns the value at data.value (or whatever vault.key is set to). End-to-end walkthrough: Vault and OpenBao secrets.

Choosing a provider

  • Just bringing up the broker? Use env. Two seconds to set up.
  • Production single-broker? file is fine if you already render secrets via your config management tool.
  • Multi-broker or centralized secret rotation? vault or openbao. Tokens can be short-lived and rotated independently of the broker process.