# Git API La `gitapi.py` es una API para OgGit, escrita en Python/Flask. Es un servidor HTTP que recibe comandos y ejecuta acciones de mantenimiento incluyendo la creación y eliminación de repositorios. # Instalación de dependencias para python La conversion del código a Python 3 requiere actualmente los paquetes especificados en `requirements.txt` Para instalar dependencias de python se usa el modulo venv (https://docs.python.org/3/library/venv.html) que instala todas las dependencias en un entorno independiente del sistema. # Uso ## Distribuciones antiguas (18.04) sudo apt install -y python3.8 python3.8-venv python3-venv libarchive-dev python3.8 -m venv venvog . venvog/bin/activate python3.8 -m pip install --upgrade pip pip3 install -r requirements.txt Ejecutar con: ./gitapi.py ## Uso **Nota:** Ejecutar como `opengnsys`, ya que gestiona las imágenes que se encuentran en `/opt/opengnsys/images`. $ . venvog/bin/activate $ ./gitapi.py # Documentación Se puede generar documentación de Python con una utilidad como pdoc3 (hay multiples alternativas posibles): # Instalar pdoc3 pip install --user pdoc3 # Generar documentación pdoc3 --force --html opengnsys_git_installer.py # Funcionamiento ## Requisitos La gitapi esta diseñada para funcionar dentro de un entorno opengnsys existente. Se debe instalar en un ogrepository. ## Ejemplo de API ### Obtener lista de ramas $ curl -L http://localhost:5000/repositories/linux/branches { "branches": [ "master" ] } ### Sincronizar con repositorio remoto curl --header "Content-Type: application/json" --data '{"remote_repository":"foobar"}' -X POST -L http://localhost:5000/repositories/linux/sync