The agent reads a single YAML configuration file, passed at startup with theDocumentation Index
Fetch the complete documentation index at: https://certplane.kippel.org/llms.txt
Use this file to discover all available pages before exploring further.
--config flag. This page documents every supported field, its type, default value, and when it is required.
Full example
Top level
Base directory where the agent writes its state files. All relative paths
used internally by the agent are resolved against this directory.
identity
The identity section controls how the agent enrolls and renews its own
mTLS identity certificate. This certificate is presented to the broker on
every API call.
Common name (CN) for this host’s identity certificate. Use a fully
qualified hostname that uniquely identifies the machine, for example
edge01.h.int.example.com.CA provider used to enroll and renew the identity certificate. The only
supported value is
step-ca.Path where the agent writes and reads its identity certificate (PEM). The
file is created on first enrollment and overwritten on each renewal.
Path where the agent writes and reads the identity private key (PEM).
Path to the internal CA bundle (PEM) used to verify the identity
certificate issued by step-ca. The agent uses this bundle when validating
its own certificate chain after renewal.
Path to the bootstrap token file. This token is only consumed during
initial enrollment. You can remove it from the config after the agent has
enrolled for the first time.
The agent requests a new identity certificate when less than this duration
remains before expiry. Accepts Go duration strings such as
8h or 30m.The agent writes a warning to its log when less than this duration remains
before the identity certificate expires. Set this to a value greater than
renew_before so you have time to investigate if automated renewal fails.identity.step_ca
These fields are required when identity.provider is step-ca.
URL of the step-ca API, for example
https://ca.int.example.com:9000.
The agent contacts this endpoint to enroll and renew the identity
certificate.SHA-256 fingerprint of the step-ca root CA certificate. Either
fingerprint or root_ca_bundle must be provided so the agent can
bootstrap trust in step-ca.Path to the step-ca root CA certificate (PEM). Either this field or
fingerprint must be set. If both are provided, root_ca_bundle takes
precedence.Timeout for each step-ca API call. Accepts Go duration strings such as
10s or 1m.broker
URL of the certplane-broker API, for example
https://broker.internal.example.com:8443. The agent sends certificate
requests to this endpoint.Path to the CA bundle (PEM) used to verify the broker’s TLS server
certificate. This is typically your internal root CA.
Timeout for broker API calls. Accepts Go duration strings such as
30s
or 1m.certificates
certificates is a required array. At least one entry must be present. Each
entry describes one service certificate that the agent manages on behalf of a
local process.
A unique name for this certificate entry. Names are used in log messages
and must not be duplicated within the same config file.
The profile name to request from the broker. The profile must be listed
under this host in the broker’s policy file, otherwise the request is
rejected.
Array of DNS names to include in the certificate’s Subject Alternative
Names. Wildcard names such as
*.example.com are supported.Path where the agent writes the service private key (PEM). This path must
differ from
cert.Path where the agent writes the service certificate (PEM).
Path where the agent writes the intermediate certificate chain (PEM),
without the end-entity certificate.
Path where the agent writes the full chain (PEM): the end-entity
certificate followed by all intermediates. Use this file with most web
servers.
Shell command to run after the certificate is written to disk. Use this
to reload the process that consumes the certificate, for example
systemctl reload nginx.Maximum time allowed for the
reload_command to complete. If the command
exceeds this timeout, the agent logs an error but does not retry
automatically.The agent requests a new service certificate when less than this duration
remains before expiry. The default of
720h (30 days) is suitable for
90-day certificates issued by Let’s Encrypt.logging
Minimum log level to emit. Accepted values:
debug, info, warn,
error.Output format for log lines. Accepted values:
text for human-readable
output, json for structured logging.Where logs are written. Accepted values:
stdout or stderr.