Нет описания

Celestino Rey 8e64c9b079 Actualizo REAME 7 месяцев назад
.github 23108c30f6 Primer commit 7 месяцев назад
app 15ac69bbb6 Borra vm por nombre 7 месяцев назад
templates 1d82968e1b Crea vm desde plantilla 7 месяцев назад
.gitignore 23108c30f6 Primer commit 7 месяцев назад
README.md 8e64c9b079 Actualizo REAME 7 месяцев назад
pyproject.toml 23108c30f6 Primer commit 7 месяцев назад
requirements.txt 45033affaf Api funcionando con listar y start y stop solo mock 7 месяцев назад

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 is installed on the system:

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

Running the API

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 interactive documentation at http://0.0.0.0:8000/docs

Endpoints

  • GET / : Root message
  • GET /vms : List all VMs
  • POST /vms?name={name}&template={template} : Create a new VM from a template
  • 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

Templates

VM templates are XML files stored in the templates/ directory. Each template defines the base configuration for a VM. When creating a VM, the name in the XML is replaced with the provided name.

Example template: templates/ubuntu.xml