Vm-git

From A-Eskwiki
Jump to: navigation, search

vm-git is een virtual machine opgezet in Haskell voor de WebCie, die Gitea draait om publiekelijk Git repos te hosten. Ook kan de web interface extra informatie over de repo's bevatten, zoals issues en pull requests. De web interface is voor iedereen te bereiken op git.a-eskwadraat.nl.

Credentials

De vm-git is te bereiken via SSH met de Sysop key. Er is een user 'postgres', die toegang heeft tot de PostgreSQL install. Ook is er een database user 'gitea' die door Gitea wordt beheerd en volle rechten heeft. Het wachtwoord van 'gitea' is random gegenereerd en te vinden in '/usr/local/bin/custom/conf/app.ini'.

In de web interface is het account 'administrator' van de WebCie de admin. Op dit account is in te loggen met het WebCie wachtwoord. De repos van de WebCie staan (je raadt het al) onder de organisatie 'webcie'; hier zitten in principe alle WebCie-leden bij.

Een mogelijke TODO is het configureren van de LDAP interop van Gitea, zodat alle systeemaccounts van A–Es² ook automatisch beschikbaar zijn.

Service

Gitea is opgezet als een systemd service. Het service bestand is te vinden in /etc/systemd/system/gitea.service en is grotendeels overgenomen van de standaard gogs.service. De gitea service is ook enabled, dus start automatisch op na een reboot.

LDAP authenticatie via IPA

De LDAP instellingen in de web interface van Gitea

Door middel van de IPA server van A-Eskwadraat kan iedereen met een systeemaccount inloggen op de Gitea install. Dit werkt via LDAP. Hiervoor is in het admin panel van gitea (inloggen met een admin account op gitea, de WebCie kan indien nodig admin toegang voor je regelen), onder het tab authentication een de A-eskwadraat LDAP toegevoegd. Zie de instellingen op het moment van schrijven rechts.

Naast via de web interface moest dit ook in de VM zelf opgezet worden. Hiervoor hebben we zoals vermeld op de LDAP het commando authconfig-tui gebruikt. Ingesteld met TLS en dus via LDAPS, om dit werkend te krijgen hebben we het A-Es star certificate in /etc/openldap/cacerts/ gezet. Probleem hiermee is dat LDAP *waarschijnlijk* stopt met werken als deze verloopt, totdat het nieuwe certificaat daar in wordt gezet. TODO is hier een oplossing voor bedenken zodat dit automatisch gaat, of het certificaat niet meer nodig is.

Debugging

Gitea draait als een service. Check de status door systemctl status gitea.service uit te voeren. Hier kan je ook zien waar de logs zitten enzovoorts. Let op: de LDAP authenticatie via IPA heeft het huidige A-Eskwadraat certificaat nodig in /etc/openldap/cacerts om te werken. Als dit het dus ineens niet meer doet moet je het nieuwe certificaat daarin zetten.

Updaten

Gitea updaten moet handmatig gebeuren, maar is vrij simpel. Download simpelweg de versie van Gitea waar je naar wil upgraden, zoals beschreven in Installing -> From Binary in de Gitea docs en vervang de gitea binary in /usr/local/bin met deze nieuwe binary. Het is natuurlijk wel aan te raden om van te voren even een kopietje te maken van de oude binary om problemen te voorkomen.