Sobre el proyecto
Windmill es una plataforma de desarrollo autohospedable diseñada para gestionar código interno, incluyendo APIs, trabajos en segundo plano, flujos de trabajo e interfaces de usuario. Permite a los desarrolladores escribir scripts en múltiples lenguajes —incluyendo Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell y Rust— que luego se convierten automáticamente en interfaces de usuario compartibles basadas en sus parámetros.
Las capacidades clave incluyen:
- **Orquestación de flujos de trabajo**: Los scripts pueden encadenarse en flujos complejos y activarse mediante programaciones, webhooks, rutas HTTP, Kafka, WebSockets o correos electrónicos.
- **Constructor de UI**: Herramientas de bajo código para crear aplicaciones internas complejas sobre scripts y flujos existentes.
- **Desarrollo local**: Soporte para CLI, extensiones de VS Code y sincronización bidireccional de Git para un flujo de trabajo de desarrollo profesional.
- **Alto rendimiento**: Un backend basado en Rust con una cola de Postgres, diseñado para la ejecución de trabajos de baja latencia.
- **Seguridad**: Emplea nsjail para el aislamiento del sistema de archivos y los recursos, así como el aislamiento del espacio de nombres PID para asegurar la ejecución de los trabajos.
La plataforma puede desplegarse a través de Docker Compose o Kubernetes (Helm charts) y es compatible con varios proveedores de nube. Utiliza un stack compuesto por Rust para el backend, Svelte 5 para el frontend y Postgres para la base de datos.