Нет описания

Celestino Rey f9e8d26edf Se añade botón consola para lanzar noVNC 10 месяцев назад
.github 23108c30f6 Primer commit 11 месяцев назад
app f9e8d26edf Se añade botón consola para lanzar noVNC 10 месяцев назад
static f9e8d26edf Se añade botón consola para lanzar noVNC 10 месяцев назад
.gitignore 23108c30f6 Primer commit 11 месяцев назад
README.md 7bac142382 Interfaz gráfico para gestión 10 месяцев назад
pyproject.toml 23108c30f6 Primer commit 11 месяцев назад
requirements.txt d77665758e Crea máquina virtual sin plantilla 10 месяцев назад

README.md

VirtManager

API for managing virtual machines on Ubuntu using FastAPI and libvirt.

Installation

  1. Create and activate a virtual environment:

    python3 -m venv venv
    source venv/bin/activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Ensure libvirt and Python bindings are installed on the system:

    sudo apt install libvirt-daemon-system libvirt-dev pkg-config python3-libvirt python3-gi
    

Running the API

Set the environment variable for the images path if needed (default is /var/lib/libvirt/images):

export LIBVIRT_IMAGES_PATH=/path/to/images
source venv/bin/activate
uvicorn app.main:app --reload --host 0.0.0.0

The API will be available at http://0.0.0.0:8000

Access the web interface at http://0.0.0.0:8000

Access the interactive documentation at http://0.0.0.0:8000/docs

Endpoints

  • GET / : Root message
  • GET /vms : List all VMs
  • POST /vms?name={name}&memory={memory}&disk_size={disk_size}&iso={iso} : Create a new VM with specified memory (MiB), disk size (GB), and ISO for installation
  • GET /vms/{vm_id}/start : Start a VM by ID
  • GET /vms/{vm_id}/stop : Stop a VM by ID
  • DELETE /vms/{vm_name} : Delete a VM by name
  • POST /disks?name={name}&size={size} : Create a new disk image with specified size in GB