Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

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.

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Terraducktel dashboard: a workspace tree grouped by cloud account and region, with workspace, drift and awaiting-approval tiles above itRun detail: a step-by-step Terraform pipeline timeline, each step green with its duration, paused on Awaiting ApprovalRuns queue filtered to awaiting approval: two production applies, each with Approve and Reject beside the plan outputTerraducktel logo
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

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.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsReactFastAPIPython
SERVICIOS
PostgreSQLS3/MinIO
BASES DE DATOS
PostgreSQL
PUERTOS
3001456630023000800180008080180805432
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.