Kallithea bevat een krachtige server voor het verwerken van push/pull-verzoeken en een webinterface voor het organiseren van gezamenlijke ontwikkeling, waarmee u opslagplaatsen kunt beheren, toegangsrechten kunt delen, code kunt beoordelen, de activiteit van andere deelnemers kunt volgen, projecten kunt afsplitsen, pull-verzoeken kunt verzenden of verander de code om te plaatsen, via een eenvoudige editor. Integratie met een gecentraliseerde zakelijke gebruikersdatabase op basis van LDAP of ActiveDirectory wordt ondersteund. Het creëren van repositorygroepen en ontwikkelaarsgroepen met uniform beheer van groepsleden wordt ondersteund. Het uiterlijk van de interface kan eenvoudig worden gewijzigd via het sjabloonsysteem. Een visuele weergave van activiteit in de vorm van grafieken wordt ondersteund. Het wijzigingsbeoordelingssysteem ondersteunt het bespreken van wijzigingen en het verzenden van meldingen.
Het servergedeelte van het platform is multi-threaded, waardoor u meerdere pull/push-verzoeken tegelijkertijd kunt verwerken. Om de prestaties te verbeteren, maakt het systeem actief gebruik van caching en het uitvoeren van acties in asynchrone modus. Het systeem beschikt over geïntegreerde back-uptools waarmee u periodiek via “scp” een kopie van alle gegevens kunt archiveren en opslaan. Om de activiteit in repository's bij te houden, wordt een speciale laag ondersteund die een logboek bijhoudt van alle verzoeken en waarmee elk verzoek kan worden geverifieerd. Er wordt gebruik gemaakt van een bibliotheek om met repositories te werken
Grote veranderingen:
- Het is mogelijk om toegang te krijgen tot de repository via SSH met behulp van een URL zoals “ssh://[e-mail beveiligd]/naam/van/opslagplaats". Authenticatie bij toegang tot een repository via SSH is gebaseerd op de publieke sleutel van de gebruiker (met of zonder extra wachtwoordbeveiliging van de sleutel, afhankelijk van de voorkeur van de gebruiker). Het uploaden van de sleutel (~/.ssh/id_rsa.pub) naar de server gebeurt via de Kallithea-webinterface, die het opslaan van de sleutel in het geautoriseerde_sleutels-bestand automatiseert. Opgemerkt wordt dat de prestaties bij het werken met de repository via SSH hoger zijn dan bij toegang tot de repository via HTTPS.
- Ondersteuning toegevoegd voor gedistribueerd versiebeheersysteem Mercurial 5.2.
- De functie “Admin > Instellingen > Visueel > (HTTP) Kloon-URL” is herwerkt, waarvan de handler nu expliciet controleert op de aanwezigheid van de strings “{repo}” en “_{repoid}”.
- Het toegangsrechtensysteem is opgeschoond - toegangsrechten worden altijd alleen als aanvullend beschouwd, d.w.z. het is gegarandeerd dat elke gebruiker minimaal dezelfde rechten heeft als de standaardgebruiker.
- Ondersteuning voor de instelling api_access_controllers_whitelist is verwijderd uit het configuratiebestand. Authenticatie via een API-toegangssleutel verleent nu automatisch toegang tot alle API's die aan de gebruiker zijn toegestaan.
- Ondersteuning voor Python 2.6 is stopgezet. Momenteel wordt alleen de Python 2.7-vertakking ondersteund, maar de ontwikkelaars werken eraan om volledige ondersteuning te bieden voor Python 3.x.
- De repository-vergrendelingsfunctie (pull-to-lock, push-to-unlock) is verwijderd.
Bron: opennet.ru