Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

terraform-minikube-platform

Plataforma Terraform para hosting multi-dominio en Kubernetes local (k3s/minikube) con gestión de tenencias mediante aislamiento lógico, Cloudflare Tunnel y MetalLB.

Ficha actualizada 24 sept 2026, 23:12 · upstream 24 sept 2026, 23:05 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es terraform-minikube-platform

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

terraform-minikube-platform es una solución de automatización basada en Terraform diseñada para desplegar múltiples dominios sobre un único clúster Kubernetes local. Utiliza k3s como distribución principal (con soporte legacy para minikube) y frontea el tráfico mediante Cloudflare Zero Trust Tunnel para HTTP/HTTPS, complementado por MetalLB para protocolos L4 como UDP/TCP puro. La arquitectura implementa aislamiento por tenencia a través de namespaces dedicados con ResourceQuotas y credenciales aisladas para bases de datos PostgreSQL, MySQL y Redis.

La plataforma incluye 16 servicios compartidos opt-in (monitorización con Prometheus/Grafana, gestión de certificados con cert-manager, identidad con Zitadel/Vault, correo con Stalwart/Roundcube) controlados mediante un único archivo YAML por dominio. El almacenamiento persistente utiliza hostPath por defecto (resiliente a reinicios del clúster) con opción opt-in para Longhorn en entornos multi-nodo. La gestión de aplicaciones se realiza vía Argo CD GitOps, permitiendo sincronización desde repositorios externos.

Destaca su enfoque en simplicidad operativa mediante componentes reutilizables y un único punto de control (single-operator), aunque requiere conocimientos avanzados de Kubernetes para configurar correctamente taints, labels y políticas de seguridad. El despliegue inicial se realiza con scripts ./tf bootstrap-k3s o ./tf bootstrap-minikube.

CASOS DE USO
  • Hosting multi-tenant local con aislamiento lógico mediante namespaces y cuotas de recursos
  • Implementación rápida de servicios web con TLS automático vía Let's Encrypt y cert-manager
  • Soporte para protocolos L4 (UDP/SIP/TCP puro) no enrutables por túneles mediante MetalLB
  • Gestión centralizada de identidades y secretos con Zitadel, Vault y OIDC
PUNTOS DESTACADOS
  • Arquitectura modular Terraform con componentes reutilizables y un único archivo YAML por dominio
  • Soporte nativo para aceleración GPU (Vulkan/CUDA) en nodos etiquetados
  • Almacenamiento persistente resiliente en hostPath que sobrevive a reinicios del clúster
  • Gestión GitOps con Argo CD para despliegue de aplicaciones desde repositorios externos
PRECAUCIONES
  • Dependencia de Cloudflare Tunnel para acceso HTTPS (requiere cuenta y configuración DNS)
  • Complejidad alta para entornos sin experiencia en Kubernetes avanzado (taints, labels, PSS)
  • Almacenamiento hostPath no replicado por defecto (requiere Longhorn para multi-nodo)
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

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

Despliegue manual

Recomendado usar k3s sobre SSH en lugar de minikube. Configurar correctamente taints/labels de nodos antes del bootstrap. Asegurar permisos adecuados en /data/vol antes del despliegue inicial. Para multi-nodo, activar Longhorn y verificar compatibilidad de almacenamiento.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.jsNode.js
SERVICIOS
PostgreSQLMySQLRedisS3/MinIO
BASES DE DATOS
PostgreSQLMySQLRedis
PUERTOS
50608080018000
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.