> ## 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.

# Certplane: plano de control de certificados para tu infraestructura

> Certplane automatiza la emisión y renovación de certificados TLS para hosts que no usan Kubernetes mediante identidad de máquina, política declarativa y generación de claves en el propio host.

Certplane es un plano de control de certificados ligero que gestiona certificados TLS públicos para tus servidores y servicios — sin requerir Kubernetes ni herramientas específicas de la nube. Usa identidad de máquina (emitida por tu CA interna) para autenticar hosts, aplica un archivo de política declarativa que controla exactamente qué certificados puede solicitar cada host, y mantiene las claves privadas siempre locales a cada máquina.

<CardGroup cols={2}>
  <Card title="Inicio rápido" icon="rocket" href="/es/quickstart">
    Instala el broker y el agente, registra tu primer host y obtén un certificado de extremo a extremo.
  </Card>

  <Card title="Cómo funciona" icon="circle-info" href="/es/how-it-works">
    Entiende el flujo de registro y renovación antes de desplegar.
  </Card>

  <Card title="Roles de Ansible" icon="server" href="/es/guides/ansible">
    Despliega el broker y el agente con los roles oficiales `certplane_broker` y `certplane_agent`.
  </Card>

  <Card title="Referencia de política" icon="shield-check" href="/es/policy/overview">
    Define qué hosts pueden solicitar qué certificados mediante el archivo de política declarativa.
  </Card>
</CardGroup>

## Características principales

* **Diseño IaC-first** — Cada pieza de configuración de Certplane (`broker.yml`, `policy.yml`, `agent.yml`) es un archivo YAML renderizado desde tu inventario por tu herramienta de gestión de configuración existente. No hay interfaz web ni API en tiempo de ejecución para cambios de política. Los roles oficiales de Ansible se publican en el directorio [`ansible/`](https://github.com/TaconeoMental/Certplane/tree/main/ansible) del repositorio. Consulta la [guía de roles de Ansible](/es/guides/ansible).
* **Generación de claves en el host** — Las claves privadas se generan en cada host y nunca se transmiten. Solo los CSR salen de la máquina.
* **Autenticación por identidad de máquina** — Los agentes se autentican al broker con mTLS usando certificados de identidad emitidos por tu CA interna (`step-ca`).
* **Política declarativa** — Un único archivo YAML controla qué identidades pueden solicitar qué perfiles. Con `policy.watch: true` el broker recarga la política sin reiniciar.
* **Renovación automática** — El agente vigila la expiración y renueva antes de tiempo. Las ventanas de renovación son configurables por certificado.
* **Hooks post-renovación** — Ejecuta cualquier comando shell después de instalar un certificado (p. ej. `systemctl reload nginx`).
* **Registro de auditoría** — Cada decisión de emisión queda registrada por el broker y se consulta con `certplane-broker audit tail`.

## Lo que obtienes de fábrica

| Componente         | Qué hace                                                                                                                                                                                                                                                                                                                                               |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `certplane-broker` | API mTLS central que autentica agentes, aplica política, habla con ACME, cachea certificados emitidos y registra eventos de auditoría.                                                                                                                                                                                                                 |
| `certplane-agent`  | Se ejecuta en cada host. Se registra con `step-ca`, genera claves de servicio localmente, envía CSR al broker, instala los bundles devueltos y ejecuta hooks de recarga.                                                                                                                                                                               |
| Esquemas JSON      | [`broker.schema.json`](https://github.com/TaconeoMental/Certplane/blob/main/schemas/broker.schema.json), [`agent.schema.json`](https://github.com/TaconeoMental/Certplane/blob/main/schemas/agent.schema.json) y [`policy.schema.json`](https://github.com/TaconeoMental/Certplane/blob/main/schemas/policy.schema.json) para validación en el editor. |
| Roles de Ansible   | `certplane_broker` y `certplane_agent` para despliegue de extremo a extremo.                                                                                                                                                                                                                                                                           |
