Difference between revisions of "Vm-git"

From A-Eskwiki
Jump to: navigation, search
(Credentials: Voeg een korte opmerking over mogelijke LDAP integratie toe)
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:
  
 
Een mogelijke TODO is het configureren van de LDAP interop van Gitea, zodat alle systeemaccounts van A–Es² ook automatisch beschikbaar zijn.
 
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 <code>/etc/systemd/system/gitea.service</code> en is grotendeels overgenomen van [https://github.com/gogits/gogs/blob/7e883f891a42fd01bc54ce1821d3520d691f1a63/scripts/systemd/gogs.service de standaard gogs.service]. De gitea service is ook enabled, dus start automatisch op na een reboot.
 +
 +
== LDAP authenticatie via IPA ==
 +
 +
[[File:InstellingenLDAPGitea.png|thumb|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 [https://git.a-eskwadraat.nl 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 <code>authconfig-tui</code> 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 ==  
 
== Debugging ==  
  
Gitea is opgezet door gewoon 'gitea --port 80' te runnen. Als er iets fout gaat, of hij doet het niet meer, dan is het waarschijnlijk op te lossen door Gitea te stoppen en opnieuw op deze manier te starten.
+
Gitea draait als een service. Check de status door <code>systemctl status gitea.service</code> 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 [https://docs.gitea.io/en-us/install-from-binary/ 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.
  
 
[[Category:Sysop]] [[Category:WebCie]]
 
[[Category:Sysop]] [[Category:WebCie]]

Latest revision as of 12:14, 10 November 2017

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.