Automatización · IaC (Infraestructura como Código) · Playbooks · Despliegue
Ansible — Orquestación de la infraestructura¶
Automatiza la instalación, configuración, actualización y recuperación de todos los servicios. Todo el estado del sistema se define en playbooks declarativos versionados en Forgejo.
Como usuario¶
Qué podrás hacer¶
No se usa directamente. Sería la herramienta del arquitecto para gestionar toda la infraestructura.
Cómo se accederá¶
| Plataforma | Cómo |
|---|---|
| Navegador | Vía Semaphore: https://semaphore.sc |
| SSH | Desde code-server (LXC 142) |
Integración con otros servicios de SmallCountry¶
| Servicio | Relación |
|---|---|
| Semaphore | Interfaz web para ejecutar playbooks |
| Forgejo | Repositorio de playbooks y roles |
| Forgejo Actions | CI/CD (integración y despliegue continuo) que dispara Ansible |
| OpenTofu | Infraestructura base antes de Ansible |
| code-server | Desarrollo de playbooks |
| Todos los LXCs | Destino de los playbooks |
Servicios que lo hacen posible¶
Para el administrador (diseño previsto)
Datos del servicio¶
| LXC | 130 |
| IP | 10.10.10.130 |
| Tier | B |
| Impacto | 🔴 Crítico |
Sin Ansible no se puede reconstruir nada.
Docker: ansible + ansible-vault.
Almacenamiento persistente¶
ZFS (sistema de archivos con integridad de datos): rpool/datos/ansible → /opt/ansible/
Backup: PBS (sistema de copias de seguridad de Proxmox) diario + playbooks y roles versionados en Forgejo.
Healthcheck¶
Desde Semaphore, ejecutar playbook de verificación contra un LXC de prueba.
Logs y diagnóstico¶
Backup manual¶
Problemas comunes¶
- Playbook falla en un LXC → Verificar conectividad SSH y clave ED25519.
- No se aplican cambios → Ejecutar en modo
--checkprimero para ver qué cambiaría.
Para el arquitecto (diseño previsto)
Relaciones con otros servicios¶
flowchart LR
Forgejo -->|Versiona| Ansible
Semaphore -->|Ejecuta| Ansible
Ansible -->|Provisiona| LXC1[LXC servicios]
Ansible -->|Provisiona| LXC2[LXC programas]
Ansible -->|Provisiona| LXC3[LXC infra]
OpenTofu -->|Crea LXC| Ansible
ForgejoActions -->|CI/CD| Ansible
Configuración¶
Acceso SSH con clave ED25519 a todos los LXCs. Ansible Vault para secretos (cifrado AES-256).
Patrón de despliegue¶
Roles atómicos e idempotentes. Sin cambios manuales — todo desde Ansible.Orquestación¶
| Componente | Path |
|---|---|
| Rol Ansible | roles/ansible/ |
| Playbook | deploy-ansible.yml |
| Módulo OpenTofu | modules/ansible/ |