- Python 57.4%
- JavaScript 30.6%
- CSS 6.4%
- PowerShell 2.7%
- HTML 2.7%
- Other 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| doc | ||
| ejemplos | ||
| openlab | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
openLAB 1.0 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á pensado para que un profesor prepare los laboratorios de sus prácticas de redes, sistemas y servicios, y para que el alumno los cree en su equipo con una orden.
descripcion: Un router y un cliente en una red interna.
redes:
lan: {} # solo un cable entre el router y el cliente
instancias:
router:
imagen: debian/13
interfaces:
- red: exterior # con salida a internet
- red: lan
ip: 10.0.0.1/24
cliente:
imagen: fedora/44
tipo: c.small # un contenedor con 1 CPU y 512MiB
interfaces:
- red: lan
ip: 10.0.0.10/24
puerta_enlace: 10.0.0.1
openlab up # lo crea
openlab shell cliente # una terminal dentro del cliente
openlab web # su dibujo en el navegador, con terminales y formularios
Instalación
Necesita Debian, Ubuntu o Fedora con permiso de sudo (para las máquinas virtuales, además, la virtualización activada en la BIOS).
sudo apt install pipx git # Debian y Ubuntu (en Fedora: sudo dnf install pipx git)
pipx ensurepath # la primera vez; después, abre otra terminal
pipx install git+https://git.josedomingo.org/josedom24/openlab.git
openlab install # instala y prepara Incus (se puede repetir)
Después de openlab install, cierra la sesión y vuelve a entrar (para que tu usuario esté en el grupo de Incus). Para probar uno de los ejemplos, que están en el repositorio y no se instalan con la orden, clónalo:
git clone https://git.josedomingo.org/josedom24/openlab.git
cd openlab/ejemplos/router
openlab up
Para actualizar openLAB: pipx upgrade openlab (o pipx install --force git+https://git.josedomingo.org/josedom24/openlab.git). Para quitarlo: openlab uninstall (deshace lo que hizo install) y pipx uninstall openlab.
En PyPI hay otro programa que se llama
openlab: instala siempre desde el repositorio (git+https://…), nunca conpipx install openlaba secas.
Documentación
Qué hace openLAB (todas sus características), cómo funciona y cómo se usa, está en la documentación, en dos partes:
- La línea de órdenes: instalación, primeros pasos, el fichero
escenario.yaml, redes, tipos y máquinas virtuales, almacenamiento, escritorio, Windows, actualizar, referencia de las órdenes, ejemplos y solución de problemas. - La web (
openlab web): arrancarla, la portada, un escenario, modificarlo, el asistente de escenarios nuevos y las prácticas guiadas.
Licencia
GPL-3.0. La web incluye, en openlab/web/vendor/, xterm.js (MIT), CodeMirror (MIT), spice-html5 (LGPL-3) y noVNC (MPL-2.0), cada una con su licencia.