ansible/ del repositorio:
certplane_broker— instala el binario del broker, prepara la configuración y el material TLS, despliega la política y gestiona el servicio de systemd.certplane_agent— instala el binario del agente, despliega bundles de CA y configuración, hace el registro inicial con un token y gestiona el timer de systemd.
Layout
Añade los roles a tu repositorio de control (roles/ enlazado o vendoreado). Play mínimo:
site.yml
Role certplane_broker
Variables obligatorias
group_vars/certplane_broker.yml
Variables útiles (con sus defaults)
certplane_broker_secrets_provider = vault/openbao, define además certplane_broker_vault_address y uno entre certplane_broker_vault_token / certplane_broker_vault_token_file.
Qué hace el role
- Crea el grupo y usuario de sistema
certplane. - Copia el binario del broker a
certplane_broker_binary_dest. - Crea
/etc/certplane,/etc/certplane/tls,/etc/certplane/ca,/var/lib/certplaney/var/lib/certplane/acme. - Despliega TLS cert/key, bundle de CA de agentes, clave de cuenta ACME (si se pasa) y el archivo de política.
- Renderiza
broker.ymldesdetemplates/broker.yml.j2. - Instala y arranca
certplane-broker.service. Cambios en TLS, política o configuración disparan reinicio.
Role certplane_agent
Variables obligatorias
host_vars/edge01.yml
Variables útiles (con sus defaults)
Qué hace el role
- Crea grupo y usuario
certplane. - Instala el binario en
certplane_agent_binary_dest. - Despliega el bundle de CA del emisor, el bundle de CA del broker y opcionalmente la raíz de
step-ca. - Renderiza
agent.ymldesdetemplates/agent.yml.j2. - Registra el host una vez. Si no existe
identity.crtycertplane_agent_bootstrap_tokenestá definido, escribe el token (no_log: true) y ejecutacertplane-agent ... enrollcomo usuariocertplane. Tras el éxito, el binario borra el token. - Instala
certplane-agent.service(oneshot,checky luegorun) ycertplane-agent.timer(1min tras boot, cada 6h con jitter de 5min). - Habilita y arranca el timer.
identity.crt, las siguientes ejecuciones saltan ambos pasos.
Manejo recomendado de secretos
- Pasa
certplane_agent_bootstrap_tokendesde inventario con Ansible Vault o un lookup en tiempo de ejecución (step ca token). - Nunca commitees tokens crudos — son single-use, pero igual.
- Para los tokens DNS que consume el broker, usa
secrets.provider: vault. Ver Secretos en Vault y OpenBao.