terraducktel
Orquestador auto-alojado para Terraform y Helm con detección de drift, aprobaciones gateadas, aislamiento multi-inquilino y sin costes de licencia SaaS.
Ficha actualizada 24 sept 2026, 14:39 · upstream 24 sept 2026, 14:24 · release v1.1.0
Qué es terraducktel
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Terraducktel es una solución de orquestación auto-alojada que permite planificar, aprobar y aplicar cambios en infraestructura mediante Terraform y Helm. Utiliza una arquitectura minimalista basada en FastAPI como núcleo de orquestación, PostgreSQL para persistencia de datos y S3/MinIO para almacenamiento de estado. Todo corre en docker compose sin dependencias de Kubernetes ni operadores propietarios.
El sistema implementa un estado máquina finito (FSM) que gestiona el ciclo de vida de cada ejecución: clonación del repositorio, inicialización, plan, estimación de costes y aprobación antes de aplicar cambios. Cada cuenta AWS tiene su propio bucket S3 dedicado para aislamiento del estado, y las credenciales se almacenan cifradas con Fernet usando una clave derivada HKDF.
Soporta detección automática de drift mediante workers en segundo plano que ejecutan terraform plan periódicamente en cada workspace. La interfaz React+Tailwind muestra dashboards agrupados por cuenta y región, con tiles para stacks existentes, drift detectado y aprobaciones pendientes. Incluye RBAC completo y registro auditivo de todas las acciones privilegiadas.
- Reemplazar SaaS de orquestación Terraform (Terraform Cloud/Spacelift) reduciendo costes de licencia por asiento
- Gestionar infraestructura multi-nube con aislamiento por cuenta AWS y clusters Kubernetes en un mismo sistema
- Implementar aprobaciones gateadas para cambios de producción antes de aplicar modificaciones a la infraestructura
- Detectar y visualizar drift entre código y estado real sin depender de servicios externos
- Alojar solución completa en infraestructura existente con docker compose sin necesidad de Kubernetes
- Arquitectura minimalista: FastAPI + PostgreSQL + S3/MinIO sin dependencias Java o operadores propietarios
- Credenciales cifradas en reposo con Fernet y clave HKDF derivada, sin texto plano que abandone el handler
- Aislamiento por cuenta AWS con buckets S3 dedicados y mapeo 1:1 del estado al layout del repo Git
- Soporte nativo para Helm con mismo pipeline gateado que Terraform (helm diff en lugar de terraform plan)
- Multi-tenancy con Business Units independientes, cada una con sus cuentas AWS, clusters GitHub y workspaces
- Logs auditables completos para todas las acciones privilegiadas: trigger de run, aprobación, cambio de rol
- Estado pre-1.0: flujos core funcionan pero roadmap activo indica trabajo pendiente en funcionalidades adicionales
- Requiere acceso al socket Docker (/var/run/docker.sock) para ejecutar plan/apply reales, configuración compleja
- No incluye Dockerfile propio, depende de docker compose con build manual del executor image
- Cifrado de credenciales requiere clave CREDENTIAL_ENCRYPTION_KEY estable entre reinicios o se pierden datos cifrados
- Dependencia externa a Terraform 1.10+ y Python 3.12 según shields en README
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Configurar .env con POSTGRES_PASSWORD, CREDENTIAL_ENCRYPTION_KEY (32 bytes), JWT_SECRET_KEY y TERRADUCKTEL_STATE_TOKEN antes de iniciar. Ejecutar docker compose up -d postgres localstack api ui. Migrar DB con alembic upgrade head. Seeding de usuarios dev con scripts/seed_dev_users.py. Para producción: habilitar traefik con auto-TLS, configurar DOCKER_GID correcto en .env y montar /var/run/docker.sock en el servicio api. Cambiar credenciales de admin inmediatamente tras primer inicio.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.


