|
||
---|---|---|
.. | ||
README.md | ||
gitapi.py | ||
opengnsys_git_installer.py | ||
requirements.txt |
README.md
GitLib
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