Saltar al contenido principal
Esta página documenta cada campo de agent.yml. La fuente autoritativa es schemas/agent.schema.json. Claves obligatorias de nivel superior: identity, broker, certificates.

state_dir

state_dir: /var/lib/certplane/agent
Directorio base para el estado del agente. Contiene agent.lock. Por defecto: /var/lib/certplane/agent.

identity

identity:
  name: edge01.h.int.example.com
  provider: step-ca
  cert: /var/lib/certplane/agent/identity.crt
  key:  /var/lib/certplane/agent/identity.key
  issuer_ca_bundle: /etc/certplane/ca/agent-identity-ca-bundle.crt
  bootstrap_token: /etc/certplane/bootstrap-token  # solo para enroll
  renew_before: 8h
  warn_before: 24h
  step_ca:
    url: https://ca.int.example.com
    fingerprint: "sha256:aabbcc..."
    # O
    root_ca_bundle: /etc/certplane/ca/step-ca-root.crt
    timeout: 10s
CampoTipoPor defectoNotas
namestringObligatorio. CN del certificado de identidad.
providerenum: step-castep-ca
certstringObligatorio. Ruta del certificado de identidad.
keystringObligatorio. Ruta de la clave (modo 0600).
issuer_ca_bundlestringObligatorio. Bundle de CA del emisor.
bootstrap_tokenstringObligatorio solo para enroll. Se borra tras un registro exitoso.
renew_beforeduration8hRenueva la identidad cuando queda menos que esto.
warn_beforeduration24hAvisa cuando queda menos. Debe ser mayor que renew_before.
step_ca.urlstringURL de la API de step-ca.
step_ca.fingerprintstringSHA-256 de la raíz. Obligatorio si no se da root_ca_bundle.
step_ca.root_ca_bundlestringBundle PEM de la raíz. Obligatorio si no se da fingerprint.
step_ca.timeoutduration10s
Hay que dar exactamente uno entre step_ca.fingerprint y step_ca.root_ca_bundle.

broker

broker:
  url: https://certplane-broker.int.example.com:8443
  server_ca_bundle: /etc/certplane/ca/broker-server-ca-bundle.crt
  timeout: 30s
CampoTipoPor defectoNotas
urlstringObligatorio. Endpoint HTTPS del broker.
server_ca_bundlestringObligatorio. CA que firma el server del broker.
timeoutduration30sTimeout por petición.

certificates

Lista con al menos un elemento. Cada uno es un certificado de servicio gestionado.
certificates:
  - name: edge-wildcard
    profile: public_edge_main
    dns_names:
      - "*.example.com"
    key:       /var/lib/certplane/agent/service.key
    cert:      /var/lib/certplane/agent/service.crt
    chain:     /var/lib/certplane/agent/service.chain.crt
    fullchain: /var/lib/certplane/agent/service.fullchain.crt
    reload_command: "systemctl reload traefik"
    reload_timeout: 30s
    renew_before: 720h
CampoTipoPor defectoNotas
namestringObligatorio. Etiqueta única; aparece en los logs.
profilestringObligatorio. Perfil del broker. Debe estar permitido para la identidad del host.
dns_namesstring[]Obligatorio. No vacío. Debe satisfacer los DNS permitidos del perfil.
keystringObligatorio. Clave privada de servicio. Se genera si falta.
certstringObligatorio. Ruta del certificado hoja.
chainstringObligatorio. Ruta de la cadena intermedia.
fullchainstringObligatorio. Ruta de hoja + intermedias.
reload_commandstringComando shell tras una instalación exitosa.
reload_timeoutduration30sTimeout del comando.
renew_beforeduration720hRenueva cuando queda menos.
Ver Comandos de recarga.

logging

logging:
  level: info        # debug | info | warn | error
  format: text       # text | json
  destination: stderr  # stdout | stderr
Defaults del agente: info, text, stderr.

Validación

certplane-agent ... check (y todo subcomando al arrancar) valida que:
  • Todos los obligatorios están presentes.
  • Cada dns_names[] es un nombre DNS válido.
  • step_ca.url y broker.url son URLs válidas.
  • Exactamente uno entre step_ca.fingerprint y step_ca.root_ca_bundle.
  • Las rutas en certificates son absolutas.
Lista completa en config/agent.go.