← Todos los posts

#Incus

1 entrada

openLAB: generador de escenarios educativos virtualizados

Os presento openLAB, una aplicación que crea escenarios de prácticas a partir de un fichero YAML: instancias (contenedores o máquinas virtuales de Incus) conectadas por redes, con la red, los usuarios y los paquetes ya configurados. Está pensada para que el profesorado prepare los laboratorios de sus prácticas de redes, sistemas y servicios, y para que el alumnado los cree en su equipo con una sola orden (openlab up). Se maneja desde la línea de órdenes o desde el navegador (openlab web), y las dos formas trabajan sobre el mismo fichero.

La he desarrollado con asistencia de inteligencia artificial, que me ha permitido convertir en una herramienta completa una idea que llevaba tiempo rondándome para mis clases.

Sus funcionalidades principales:

  • Escenarios como directorios, al estilo de Vagrant: se reparten con git, se comprueban antes de crearlos (openlab check) y se actualizan cambiando solo lo modificado.
  • Instancias Debian, Ubuntu y Fedora, como contenedores o máquinas virtuales, con tipos de recursos al estilo de los sabores de OpenStack. También Windows Server 2025 y Windows 11.
  • Usuarios, claves SSH, paquetes y cloud-init propio, para que las instancias estén listas para la práctica (o a medio configurar para que el alumno la termine).
  • Instancias con escritorio (XFCE o GNOME), accesibles por RDP o desde la web.
  • Redes muy aisladas, aisladas o con NAT, con IP fijas o DHCP, el gestor de red que se quiera (ifupdown, networkd, Netplan o NetworkManager) y rutas a medida para prácticas de routers y cortafuegos.
  • Almacenamiento: discos de bloque (para LVM y RAID), directorios compartidos y carpetas del anfitrión.
  • Una web con el escenario dibujado y el estado de cada instancia en vivo, terminales y pantalla de las instancias, formularios y editor YAML, un asistente con modelos, prácticas guiadas y un modo tutorial que explica los conceptos.

Funciona en Debian, Ubuntu y Fedora, y se instala con pipx (openlab install se encarga de instalar y preparar Incus). Es software libre con licencia GPL-3.0.