⚠️ Limitaciones y Consideraciones Técnicas#
Este proyecto es un laboratorio de ingeniería y, como tal, tiene ciertas decisiones de diseño (trade-offs) que debes conocer.
1. Entorno de Simulación#
- Destinos Locales: Los receptores (PHP, Go, Node, etc.) son servidores web locales simplificados. No interactúan con las APIs reales de Twitter, LinkedIn o Facebook.
- Autenticación: Se simula un envío exitoso mediante webhooks simples. No se implementa OAuth2 real (necesario para producción en redes sociales).
2. Escalabilidad#
- Persistencia SQLite: El sistema de idempotencia usa SQLite (
fingerprints.db). Para un entorno distribuido de alta carga, esto debería migrarse a Redis o PostgreSQL. - n8n Community: Se utiliza la versión self-hosted gratuita de n8n. Funciones empresariales (SSO, User Management detallado) no están incluidas.
3. Seguridad#
- Secretos en .env: Aunque el
.envno se sube al repo, en un entorno de producción real se recomienda usar un Secret Manager (AWS Secrets Manager, HashiCorp Vault). - Tráfico HTTP interno: La comunicación entre contenedores es HTTP dentro de la red Docker interna (
bot-network). No está expuesto a la red local gracias al binding127.0.0.1. El perfiledgeañade TLS en el borde con Caddy. - HTTP Security Headers (resuelto en v4.2.0): Todos los servicios Apache y el proxy Caddy sirven el conjunto completo de headers de seguridad (CSP, X-Frame-Options, Permissions-Policy, etc.).
- Fallback de credenciales: Los valores
change-me-*endocker-compose.ymlpermiten arrancar el lab sin.env. El scriptn8n_auto_setup.shemite un warning. Riesgo local aceptado — nunca exponer sin el perfiledgeautenticado. - Lock file con hashes:
requirements.txtno incluye hashes SHA.pip-auditdetecta CVEs en CI. Solución completa:pip-compile --generate-hashes(pendiente P-01).
4. Orquestación#
- Docker Compose: Ideal para desarrollo y pruebas. Para producción, se recomienda trasladar los manifiestos de Kubernetes (
k8s/) a un clúster real (EKS/AKS).
Estas limitaciones son intencionales para mantener el proyecto portable y educativo.
5. Alcance de Observabilidad (v3.0)#
- Métricas Técnicas vs de Negocio: Actualmente exponemos métricas de plataforma (CPU, RAM, Event Loop, Conteo de Workflows). Métricas de negocio específicas (ej. "ROI de posts en LinkedIn") requerirían nodos de n8n personalizados enviando a Pushgateway, lo cual está fuera del alcance actual.