funchole
Plataforma open-source auto-hospedada para desplegar y ejecutar funciones con arquitectura gateway-first, NATS+JetStream, Docker Compose y soporte ACME/Let's Encrypt. Incluye control plane en Spring Boot, runtime Node.js, dispatcher para orquestación y OpenBao para gestión de secretos.
Ficha actualizada 23 sept 2026, 18:11 · upstream 23 sept 2026, 17:57 · release sin release detectada
Qué es funchole
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
FuncHole es una plataforma open-source auto-hospedada diseñada para desplegar y ejecutar funciones (functions) detrás de tu propia infraestructura. Opera bajo un modelo gateway-first donde las rutas HTTP se exponen a través de un Gateway centralizado, y cada ruta puede corresponder a una función ejecutable o a una aplicación estática. El sistema soporta múltiples lenguajes de ejecución como Node.js y ofrece un entorno de desarrollo local completo con Docker Compose. La arquitectura utiliza NATS + JetStream para coordinación global y IPC para la ejecución local. Incluye control plane en Spring Boot, runtime worker persistente, dispatcher para orquestación y OpenBao para gestión segura de secretos.
- Desplegar funciones backend en producción sin necesidad de servidores dedicados
- Servir frontend estático directamente a través del Gateway sin ejecutar código
- Automatizar despliegues mediante pipelines CI/CD integradas con Spring Boot
- Gestionar múltiples servicios y flujos de trabajo desde un solo control plane
- Implementar autenticación JWT y verificación de dominios para aplicaciones críticas
- Despliegue local rápido con Docker Compose sin necesidad de infraestructura dedicada
- Soporta múltiples lenguajes de ejecución: Node.js (funciones) y estático (frontend)
- Arquitectura gateway-first que separa la gestión, el acceso a rutas y la ejecución
- NATS + JetStream para coordinación distribuida con persistencia duradera de estado
- MCP server integrado para gestión de funciones, flujos y gateways mediante agentes
- Certificados auto-generados (self-signed) con soporte ACME/Let's Encrypt
- Base de datos PostgreSQL 17 con Flyway para migraciones automáticas
- Registro de runtime en memoria que permite selección determinística por in-flight
- La reserva de capacidad de runtime es in-memory y no distribuida, lo que puede ser un cuello de botella bajo carga alta
- No se soporta desafíos DNS-01 ACME (solo HTTP-01), requiriendo integración manual con proveedores como Let's Encrypt
- El registro de rutas está en memoria por defecto; la persistencia distribuida no está implementada
- La ejecución local es IPC y no tiene soporte nativo para respuestas dinámicas HTML reales sin SSR
- No existe un cache compartido entre controlplane, gateway o runtime
- La autenticación se basa en JWT con claves de API separadas; la gestión de credenciales debe ser manual
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.
Para producción recomendamos el uso del Docker Compose de producción (docker-compose.yml) para despliegue. Se recomienda configurar un certificado SSL real mediante ACME/Let's Encrypt y no usar certificados self-signed en producción. El controlplane se ejecuta como Spring Boot con autenticación JWT, mientras que el gateway es una instancia raw Netty. Para escalabilidad horizontal, se debe replicar el registro de runtime y la base de datos PostgreSQL. Se recomienda mantener un solo gateway por dominio para evitar conflictos de rutas.
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.
