Kallithea umfasst einen Hochleistungsserver zur Verarbeitung von Push/Pull-Anfragen und eine Weboberfläche zur Organisation der kollaborativen Entwicklung, die es Ihnen ermöglicht, Repositories zu verwalten, Zugriffsrechte zu teilen, Code zu überprüfen, die Aktivitäten anderer Teilnehmer zu verfolgen, Projekte zu forken, Pull-Anfragen zu senden oder Ändern Sie den Code mithilfe eines einfachen Editors. Die Integration mit einer zentralen Unternehmensbenutzerdatenbank basierend auf LDAP oder ActiveDirectory wird unterstützt. Die Erstellung von Repository-Gruppen und Entwicklergruppen mit einheitlicher Verwaltung der Gruppenmitglieder wird unterstützt. Das Erscheinungsbild der Benutzeroberfläche kann über das Vorlagensystem einfach geändert werden. Eine visuelle Darstellung der Aktivität in Form von Diagrammen wird unterstützt. Das Change-Review-System unterstützt die Diskussion von Änderungen und das Versenden von Benachrichtigungen.
Der Serverteil der Plattform ist multithreaded, sodass Sie mehrere Pull-/Push-Anfragen gleichzeitig bedienen können. Um die Leistung zu steigern, nutzt das System aktiv Caching und führt Aktionen im asynchronen Modus aus. Das System verfügt über integrierte Backup-Tools, die es Ihnen ermöglichen, alle Daten regelmäßig zu archivieren und über „scp“ eine Kopie zu speichern. Um die Aktivität in Repositorys zu verfolgen, wird eine spezielle Ebene unterstützt, die ein Protokoll aller Anfragen führt und die Authentifizierung jeder Anfrage ermöglicht. Für die Arbeit mit Repositories wird eine Bibliothek verwendet
Wichtigste Änderungen:
- Es ist möglich, über SSH über eine URL wie „ssh://“ auf das Repository zuzugreifen.[E-Mail geschützt] /name/von/repository". Die Authentifizierung beim Zugriff auf ein Repository über SSH basiert auf dem öffentlichen Schlüssel des Benutzers (mit oder ohne zusätzlichen Passwortschutz des Schlüssels, je nach Präferenz des Benutzers). Das Hochladen des Schlüssels (~/.ssh/id_rsa.pub) auf den Server erfolgt über die Kallithea-Webschnittstelle, die das Speichern des Schlüssels in der Datei „authorized_keys“ automatisiert. Es wird darauf hingewiesen, dass die Leistung beim Arbeiten mit dem Repository über SSH höher ist als beim Zugriff auf das Repository über HTTPS.
- Unterstützung für das verteilte Versionskontrollsystem Mercurial 5.2 hinzugefügt.
- Die Funktion „Admin > Einstellungen > Visuell > (HTTP) URL klonen“ wurde überarbeitet, deren Handler nun explizit auf das Vorhandensein der Strings „{repo}“ und „_{repoid}“ prüft.
- Das Zugriffsrechtesystem wurde bereinigt – Zugriffsrechte werden immer nur als zusätzlich betrachtet, d. h. Es ist gewährleistet, dass jeder Benutzer mindestens die gleichen Rechte wie der Standardbenutzer hat.
- Die Unterstützung für die Einstellung api_access_controllers_whitelist wurde aus der Konfigurationsdatei entfernt. Die Authentifizierung über einen API-Zugriffsschlüssel gewährt dem Benutzer nun automatisch Zugriff auf alle APIs, die ihm gestattet sind.
- Die Unterstützung für Python 2.6 wurde eingestellt. Derzeit wird nur der Python 2.7-Zweig unterstützt, die Entwickler arbeiten jedoch daran, vollständige Unterstützung für Python 3.x bereitzustellen.
- Die Repository-Sperrfunktion (Pull-to-Lock, Push-to-Unlock) wurde entfernt.
Source: opennet.ru