Drift/Gitea

From Programvareverkstedet
Revision as of 23:51, 9 July 2024 by Oysteikt (talk | contribs) (Oysteikt moved page Gitea to Drift/Gitea: Maintenance details should exist beneath the "Drift/" namespace)

Gitea er en tjeneste vi bruker for å oppbevare og dele kode. Du kan bruke den som et alternativ til GitHub eller IDI GitLaben. Den kjører på Maskiner/bekkalokk og er tilgjengelig på https://git.pvv.ntnu.no

Kildekode

https://git.pvv.ntnu.no/Drift/pvv-nixos-config/src/branch/main/hosts/bekkalokk/services/gitea

Web-endepunkt

Selve nettsiden blir hostet gjennom en nginx som revers-proxy på Maskiner/bekkalokk, som de fleste andre tjenester. Nginx håndterer TLS og sertifikater, og sender dermed ukryptert HTTP trafikk til gitea gjennom en UNIX socket.

SSH

Gitea kjører en intern SSH server. Dette gjør det litt enklere å håndtere tilganger og sandboxing på NixOS, men resulterer også i at SSH-serveren på kjøre på en annen port enn den vanlige SSH serveren, og for tiden (arpil 2024) kjører den på port 2222. Dette kan gi litt rare URIs for upstreams, som ssh://gitea@git.pvv.ntnu.no:2222/bruker/prosjekt.git

Bruker-sync skript

Ettersom Gitea kjører på nixos, og vi ikke har fått satt opp et ordentlig bruker-sync system enda (april 2024), så har vi et python-skript som er schedulet som en systemd-timer (et cron alternativ). Dette skriptet henter passwd fila på Maskiner/Microbel, parser alle linjer, og lager og modifiser gitea-brukere gjennom gitea's REST API.

CI

Maskiner/bekkalokk er det satt opp 3 instanser av gitea-act-runner. Disse bruker podman til å lage docker-lignende containere for å kjøre pipelines i en sandbox.