Expósito, Roberto R.Pazos Barreiro, AbelUniversidade da Coruña. Facultade de Informática2025-10-282025-10-282025-09https://hdl.handle.net/2183/46138[Resumen]: Este Trabajo Final de Grado (TFG) propone la implementación de una Application Programming Interface (API) Representational State Transfer (REST) que permita la creación y gestión de entornos virtuales de forma automatizada mediante Vagrant, debiendo soportar múltiples proveedores de virtualización subyacentes. La API REST deberá ofreceer las funcionalidades básicas de Vagrant, permitiendo la creación, configuración y destrucción de entornos virtuales sin necesidad de que los usuarios aprendan la sintaxis de los ficheros Vagrantfile. Para conectarse a estos entornos, las peticiones de la API devolverán la información necesaria para establecer una conexión por Secure Shell (SSH). La API estará securizada con varios mecanismos, como la limitación del número de peticiones en un intervalo de determinado o la validación de las mismas mediante el uso de tokens. Asimismo, se ofrecerá soporte para el despliegue de entornos virtuales asociados a distintos usuarios, aunque la gestión y validación de dichos entornos será responsabilidad de un hipotético servicio backend que realizaría las peticiones a la API. Dicho backend se asume como el cliente final que consumirá la API REST propuesta en este TFG. Finalmente, la API será con estado, ya que deberá almacenar información sobre los entornos creados y las máquinas virtuales asociadas a los mismos, además de permitir una gestión básica de los recursos del servidor físico subyacente (p.ej., CPU, memoria) en el que se ejecutan dichos entornos. El mantenimiento de estado en la API permitirá llevar un registro persistente de cada entorno creado, posibilitando así potenciales operaciones de auditoría, monitorización y recuperación en caso de fallos. Además, este almacenamiento facilitará la gestión de recursos compartidos en el servidor físico, evitando conflictos entre distintos usuarios o procesos concurrentes.[Abstract]: This B.Sc. Thesis proposes the implementation of a REST API that enables the automated creation and management of virtual environments through Vagrant, supporting multiple underlying virtualization providers. The REST API will provide Vagrant’s basic functionalities, allowing the creation, configuration, and destruction of virtual environments without requiring users to learn the syntax of Vagranfiles. To connect to these environments,the API requests will return the necessary information to establish an SSH connection. The API will be secured using several mechanisms, such as limiting the number of requests within a given interval and validating them through the use of tokens. Furthermore, the API will support the deployment of virtual environments associated with different users, although the management and validation of those environments will be the responsibility of a hypothetical backend service making the requests to the API. This backend is assumed to be the final client that will consume the REST API proposed in this project. Finally, the API will be stateful, as it must store information about the created environments and their associated virtual machines, as well as enable basic management of the underlying physical server resources (e.g., CPU, memory) on which these environments are executed. State management in the API will enable persistent tracking of each created environment, thereby potentially supporting auditing, monitoring, and recovery operations in case of failures. Moreover, this storage will facilitate the management of shared resources on the physical server, preventing conflicts between different users or concurrent processes.spaAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/VagrantEntorno virtualProveedor de virtualizaciónAPI RESTVMWareVirtualBoxKVMVirtual EnvironmentVirtualization providerREST APIAPI REST para la gestión automatizada de entornos virtuales mediante Vagrantbachelor thesisopen access