Sobre el proyecto
Knot es una solución de gestión de código abierto para entornos de desarrollo en la nube, diseñada para ejecutarse dentro de un clúster de Nomad o en máquinas locales. Combina una interfaz web basada en navegador con herramientas de línea de comandos para que los equipos puedan implementar y acceder a entornos de desarrollo sin que cada desarrollador mantenga su propia configuración.
Capacidades clave descritas en el README:
- Interfaz de gestión basada en web para crear y gestionar entornos.
- Acceso desde el navegador a Visual Studio Code y Code Server, además de un terminal en el navegador.
- Herramientas de línea de comandos para simplificar el acceso a contenedores.
- Gestión de usuarios y permisos, grupos para controlar qué plantillas pueden ver los usuarios y roles personalizados.
- Plantillas de entorno para espacios de desarrollo consistentes y repetibles.
- Integración con Nomad para la gestión de clústeres y soporte para contenedores locales mediante Docker o Podman.
- Máquinas virtuales KVM: los espacios pueden ejecutarse como VMs completas en nodos compatibles con KVM, iniciadas desde imágenes de nube, con redes en puente (IP estática) o NAT.
- Cuotas que limitan el uso de recursos y el número de espacios por usuario.
- URLs de desarrollo generadas automáticamente para los espacios.
- Soporte para servidores VNC basados en web como KasmVNC.
- Servidores remotos para que los entornos puedan implementarse cerca de los desarrolladores mientras las plantillas y los usuarios se gestionan centralmente, evitando un punto único de fallo.
- Compartir espacios con otros usuarios, otorgando acceso SSH y de terminal.
- Registro compatible con syslog con visualización en ventana.
- Túneles para exponer de forma segura los entornos a internet cuando sea necesario.
- Servicios locales para conectarse de forma segura a servicios en la máquina local desde un espacio.
- Una API para la integración con otros sistemas, con versionado mediante el encabezado de solicitud X-Knot-Api-Version; los cambios no disruptivos se aplican a todas las versiones, mientras que los cambios disruptivos solo aparecen en la última versión.
Notas de seguridad: Knot está destinado a redes privadas de confianza en lugar de exposición directa a internet abierta, con desarrolladores conectándose mediante VPN o similar. Para implementaciones en múltiples ubicaciones, una red en malla puede ser adecuada. Cuando los túneles están habilitados, el puerto del túnel es separado de las interfaces web y de agente, y el tráfico público debe dirigirse solo a la interfaz del túnel. Se recomiendan contraseñas de un solo uso basadas en tiempo (TOTP) si la interfaz web se expone a internet, y funcionan con aplicaciones de autenticación comunes.
La documentación y una guía de inicio rápido están disponibles en getknot.dev. Los iconos provienen de Heroicons, Flowbite, dashboard-icons y devicon, utilizados solo para identificación.
El proyecto se publica bajo la licencia Apache 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.