97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
# Instalador de componente Git
|
|
|
|
Este directorio contiene el instalador de Git para OpenGnsys.
|
|
|
|
Descarga, instala y configura Forgejo, crea los repositorios por defecto, y configura claves de SSH.
|
|
|
|
# Instalación rápida
|
|
|
|
## Ubuntu 24.04
|
|
|
|
### Agregar repositorio
|
|
|
|
Crear el archivo `/etc/apt/sources.list.d/opengnsys.sources` con este contenido:
|
|
|
|
Types: deb
|
|
URIs: https://ognproject.evlt.uma.es/debian-opengnsys/
|
|
Suites: noble
|
|
Components: main
|
|
Signed-By:
|
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
|
.
|
|
mDMEZzx/SxYJKwYBBAHaRw8BAQdAa83CuAJ5/+7Pn9LHT/k34EAGpx5FnT/ExHSj
|
|
XZG1JES0Ik9wZW5HbnN5cyA8b3Blbmduc3lzQG9wZW5nbnN5cy5lcz6ImQQTFgoA
|
|
QRYhBC+J38Xsso227ZbDVt2S5xJQRhKDBQJnPH9LAhsDBQkFo5qABQsJCAcCAiIC
|
|
BhUKCQgLAgQWAgMBAh4HAheAAAoJEN2S5xJQRhKDW/MBAO6swnpwdrbm48ypMyPh
|
|
NboxvF7rCqBqHWwRHvkvrq7pAP9zd98r7z2AvqVXZxnaCsLTUNMEL12+DVZAUZ1G
|
|
EquRBbg4BGc8f0sSCisGAQQBl1UBBQEBB0B6D6tkrwXSHi7ebGYsiMPntqwdkQ/S
|
|
84SFTlSxRqdXfgMBCAeIfgQYFgoAJhYhBC+J38Xsso227ZbDVt2S5xJQRhKDBQJn
|
|
PH9LAhsMBQkFo5qAAAoJEN2S5xJQRhKDJ+cBAM9jYbeq5VXkHLfODeVztgSXnSUe
|
|
yklJ18oQmpeK5eWeAQDKYk/P0R+1ZJDItxkeP6pw62bCDYGQDvdDGPMAaIT6CA==
|
|
=xcNc
|
|
-----END PGP PUBLIC KEY BLOCK-----
|
|
|
|
Es necesario ejecutar `apt update` después de crear el archivo.
|
|
|
|
### Instalar paquetes:
|
|
|
|
sudo apt install -y python3-git opengnsys-libarchive-c python3-termcolor python3-requests bsdextrautils
|
|
|
|
|
|
## Agregar claves de SSH a oglive
|
|
|
|
El sistema de Git accede al ogrepository por SSH. Para funcionar, necesita que el oglive tenga una clave de SSH, y que el ogrepository la acepte.
|
|
|
|
El instalador de Git puede realizar los cambios requeridos, extrayendo una clave de SSH de un oglive e instalándola en Forgejo. Esto se hace por defecto cuando se ejecuta `./opengnsys_git_installer.py` sin parámetros, pero es posible hacer esta parte del proceso a mano, con:
|
|
|
|
|
|
./opengnsys_git_installer.py --set-ssh-key
|
|
|
|
O para hacerlo contra un oglive especifico:
|
|
|
|
./opengnsys_git_installer.py --set-ssh-key --oglive 1 # numero de oglive
|
|
|
|
O contra un archivo de initrd directamente. Esto se puede usar si el sistema sobre el que se despliega el componente no es el sistema que alberga los archivos de ogboot. En este caso, basta con copiar la imagen de squashfs para que el instalador extraiga su clave.
|
|
|
|
./opengnsys_git_installer.py --set-ssh-key --squashfs-file /home/user/initrd.sqfs
|
|
|
|
Ejecutar este comando agrega la clave de SSH a Forgejo automáticamente.
|
|
|
|
|
|
La clave existente puede extraerse a la consola con:
|
|
|
|
./opengnsys_git_installer.py --extract-ssh-key --quiet
|
|
|
|
# Ejecutar
|
|
|
|
|
|
# ./opengnsys_git_installer.py
|
|
|
|
Debe ejecutarse como `root`.
|
|
|
|
El instalador descarga e instala Forgejo, un interfaz web de Git. La configuración se genera automáticamente.
|
|
|
|
Forgejo gestiona los repositorios y el acceso por SSH, por lo cual debe quedarse siempre corriendo. Por defecto se instala en el puerto 3000.
|
|
|
|
El usuario por defecto es `oggit` con password `opengnsys`.
|
|
|
|
|
|
# Paquetes con dependencias
|
|
|
|
El sistema OgGit requiere módulos de Python que no vienen en Ubuntu 24.04 o tienen versiones demasiado antiguas.
|
|
|
|
Los paquetes se pueden obtener desde el repositorio de OpenGnsys (ver arriba).
|
|
|
|
Los fuentes de los paquetes se encuentran en oggit/packages.
|
|
|
|
# Documentación de código fuente
|
|
|
|
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
|
|
|