|
@@ -8,6 +8,8 @@ Una API REST y interfaz web para gestionar máquinas virtuales en Ubuntu usando
|
|
|
- **Configuración de arranque**: Cambiar el orden de arranque de las VMs (disco duro, CD-ROM, etc.).
|
|
- **Configuración de arranque**: Cambiar el orden de arranque de las VMs (disco duro, CD-ROM, etc.).
|
|
|
- **Subida de ISOs**: Sube imágenes ISO directamente desde la interfaz web para usar en la creación de VMs.
|
|
- **Subida de ISOs**: Sube imágenes ISO directamente desde la interfaz web para usar en la creación de VMs.
|
|
|
- **Gestión de ISOs**: Lista y elimina ISOs subidas.
|
|
- **Gestión de ISOs**: Lista y elimina ISOs subidas.
|
|
|
|
|
+- **Interfaz Responsive**: Diseño moderno con sidebar que se adapta a dispositivos móviles, tablets y escritorio.
|
|
|
|
|
+- **Descarga de configuración**: Exporta la configuración XML de cualquier VM para backup o transferencia.
|
|
|
|
|
|
|
|
## Instalación
|
|
## Instalación
|
|
|
|
|
|
|
@@ -133,6 +135,8 @@ export LIBVIRT_IMAGES_PATH=/ruta/a/imagenes
|
|
|
- `memory`: Memoria en MiB.
|
|
- `memory`: Memoria en MiB.
|
|
|
- `disk_size`: Tamaño del disco en GB.
|
|
- `disk_size`: Tamaño del disco en GB.
|
|
|
- `iso`: Ruta al archivo ISO para instalación.
|
|
- `iso`: Ruta al archivo ISO para instalación.
|
|
|
|
|
+- `GET /vms/{vm_name}/info`: Obtiene información detallada de una VM (CPU, memoria, discos, interfaces, puerto VNC).
|
|
|
|
|
+- `GET /vms/{vm_name}/config`: Obtiene la configuración XML completa de una VM para descargar.
|
|
|
- `GET /vms/{vm_name}/start`: Inicia una VM por nombre.
|
|
- `GET /vms/{vm_name}/start`: Inicia una VM por nombre.
|
|
|
- `GET /vms/{vm_name}/stop`: Detiene una VM por nombre.
|
|
- `GET /vms/{vm_name}/stop`: Detiene una VM por nombre.
|
|
|
- `DELETE /vms/{vm_name}`: Elimina una VM por nombre.
|
|
- `DELETE /vms/{vm_name}`: Elimina una VM por nombre.
|
|
@@ -160,12 +164,32 @@ export LIBVIRT_IMAGES_PATH=/ruta/a/imagenes
|
|
|
|
|
|
|
|
Accede a `http://localhost:8000` en tu navegador.
|
|
Accede a `http://localhost:8000` en tu navegador.
|
|
|
|
|
|
|
|
-- **Lista de VMs**: Tabla con estado (badges coloreados), acciones (iniciar/detener/eliminar/consola).
|
|
|
|
|
-- **Crear VM**: Formulario para especificar nombre, memoria, disco e ISO (seleccionar de ISOs subidas).
|
|
|
|
|
-- **Set Boot Order**: Selecciona una VM y define el orden de arranque (ej. "hd,cdrom").
|
|
|
|
|
-- **Upload ISO**: Sube archivos ISO para usar en la creación de VMs.
|
|
|
|
|
-- **Manage ISOs**: Tabla con ISOs subidas, opción para eliminar.
|
|
|
|
|
-- **Consola**: Botón para abrir la consola web en una nueva pestaña (solo para VMs corriendo).
|
|
|
|
|
|
|
+### Dashboard Responsivo
|
|
|
|
|
+
|
|
|
|
|
+La interfaz web utiliza un diseño moderno con las siguientes características:
|
|
|
|
|
+
|
|
|
|
|
+- **Sidebar lateral**: Panel con lista de VMs, rápidamente visible en pantallas grandes
|
|
|
|
|
+- **Diseño adaptativo**: Se ajusta automáticamente para tablets y dispositivos móviles
|
|
|
|
|
+- **Menú hamburguesa**: En móviles, el sidebar se oculta y aparece un botón de menú (≡) en la barra superior
|
|
|
|
|
+- **Información organizada en pestañas**:
|
|
|
|
|
+ - **Resumen**: Configuración general (CPU, memoria, estado VNC)
|
|
|
|
|
+ - **Discos**: Lista de discos virtuales conectados
|
|
|
|
|
+ - **Red**: Configuración de interfaces de red
|
|
|
|
|
+
|
|
|
|
|
+### Funcionalidades
|
|
|
|
|
+
|
|
|
|
|
+- **Crear VM**: Formulario para especificar nombre, memoria, disco e ISO
|
|
|
|
|
+- **Gestionar ISOs**:
|
|
|
|
|
+ - Subir nuevas imágenes ISO
|
|
|
|
|
+ - Ver lista de ISOs disponibles
|
|
|
|
|
+ - Eliminar ISOs ya no necesarias
|
|
|
|
|
+- **Acciones rápidas por VM**:
|
|
|
|
|
+ - Iniciar / Detener
|
|
|
|
|
+ - Acceder a consola VNC
|
|
|
|
|
+ - Configurar orden de arranque
|
|
|
|
|
+ - Agregar discos
|
|
|
|
|
+ - **Descargar configuración XML** (para backup o transferencia)
|
|
|
|
|
+- **Consola**: Botón para abrir la consola web en una nueva pestaña (solo para VMs corriendo)
|
|
|
|
|
|
|
|
## Documentación de la API
|
|
## Documentación de la API
|
|
|
|
|
|
|
@@ -183,6 +207,20 @@ Accede a `http://localhost:8000/docs` para la documentación interactiva de Swag
|
|
|
2. Esté configurado en sudoers correctamente
|
|
2. Esté configurado en sudoers correctamente
|
|
|
3. Los permisos de `/var/lib/libvirt/images/` sean correctos
|
|
3. Los permisos de `/var/lib/libvirt/images/` sean correctos
|
|
|
|
|
|
|
|
|
|
+### Responsive Design
|
|
|
|
|
+
|
|
|
|
|
+- **Escritorio (>1024px)**: Vista completa con sidebar de 300px
|
|
|
|
|
+- **Tablet (768px-1024px)**: Sidebar más compacto, fuentes ajustadas
|
|
|
|
|
+- **Móvil (<768px)**: Sidebar colapsable con botón hamburguesa, optimizado para toques
|
|
|
|
|
+- **Teléfonos pequeños (<480px)**: Ajuste máximo de espacios y tamaños de fuente
|
|
|
|
|
+
|
|
|
|
|
+### Descargar Configuración XML
|
|
|
|
|
+
|
|
|
|
|
+Cada VM tiene un botón "Descargar XML" en la sección de acciones que permite:
|
|
|
|
|
+- Exportar la configuración completa en formato XML
|
|
|
|
|
+- Crear backups de la configuración
|
|
|
|
|
+- Transferir VMs a otros servidores con la misma configuración
|
|
|
|
|
+
|
|
|
## Contribución
|
|
## Contribución
|
|
|
|
|
|
|
|
Siéntete libre de contribuir con mejoras o reportar issues.
|
|
Siéntete libre de contribuir con mejoras o reportar issues.
|