Veröffentlichung der Kallithea 0.5-Entwicklungsplattform

Vorstellung Veröffentlichung des Repository-Management-Systems Kallithea 0.5, basierend auf Enthusiasten und Vertretern der Organisation Software Freedom Conservancy, um die Entwicklung der freien Codebasis RhodeCode fortzusetzen, nach der Umwandlung dieser Plattform in ein halbproprietäres kommerzielles Produkt. Kallithea ermöglicht den Einsatz einer Entwicklungsmanagement-Infrastruktur, die die Versionskontrollsysteme Git und Mercurial unterstützt und in ihrer Problemstellungen GitHub, GitLab und Bitbucket ähnelt. Der Code des Projekts ist in Python geschrieben und wird verbreitet unter Lizenz GPLv3.

Kallithea enthält einen leistungsstarken Server zur Verarbeitung von Push/Pull-Anfragen und eine Webschnittstelle zur Organisation der gemeinsamen Entwicklung, die es ermöglicht, Repositories zu verwalten, Zugriffsrechte zu teilen, Code zu prüfen, die Aktivitäten anderer Mitglieder zu verfolgen, Projekte zu forken, Pull-Requests zu senden oder direkt über einen einfachen Editor den Code zu ändern. Die Integration mit einer zentralen Benutzerdatenbank des Unternehmens, die auf LDAP oder Active Directory basiert, wird unterstützt. Es ist möglich, Gruppen von Repositories und Gruppen von Entwicklern mit einheitlicher Mitgliederverwaltung zu erstellen. Das Erscheinungsbild der Schnittstelle kann leicht über ein Schablonensystem geändert werden. Eine visuelle Darstellung der Aktivitäten in Form von Grafiken wird unterstützt. Im System zur Änderungskontrolle werden Diskussionsmöglichkeiten zu Änderungen und die Versendung von Benachrichtigungen unterstützt.

Der Serverteil der Plattform ist mehrsträngig, wodurch mehrere Pull/Pull-Anfragen gleichzeitig bearbeitet werden können. Zur Steigerung der Leistung wird in dem System aktiv caching und asynchrone Ausführungen genutzt. In das System sind Backup-Tools integriert, die es ermöglichen, periodisch eine Kopie aller Daten über „scp“ zu archivieren und zu sichern. Um die Aktivitäten in den Repositories zu verfolgen, wird eine spezielle Schicht unterstützt, die ein Protokoll aller Anfragen führt und die Authentifizierung jeder Anfrage ermöglicht. Für die Arbeit mit Repositories wird die Bibliothek vcs, Metadaten über Projekte können in SQLite, PostgreSQL oder anderen von SQLAlchemy unterstützten Datenbanken gespeichert werden.

Hauptänderungen:

  • Zugriff auf das Repository über SSH wurde mit einer URL im Format „ssh://kallithea@example.com/name/of/repository“ ermöglicht. Die Authentifizierung beim Zugriff auf das Repository über SSH erfolgt auf Basis des öffentlichen Schlüssels des Benutzers (mit zusätzlicher Schlüsselschutz durch ein Passwort oder ohne, je nach Benutzerpräferenz). Der Upload des Schlüssels (~/.ssh/id_rsa.pub) auf den Server erfolgt über die Weboberfläche von Kallithea, die die Speicherung des Schlüssels in der Datei authorized_keys automatisiert. Es wird angemerkt, 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 Versionsverwaltungssystem Mercurial 5.2 hinzugefügt.
  • Die Funktion „Admin > Einstellungen > Visuell > (HTTP) Klonen-URL“ wurde überarbeitet, deren Handler jetzt ausdrücklich das Vorhandensein der Zeichenfolgen „{repo}“ und „_{repoid}“ überprüft.
  • Das System der Zugriffsrechte wurde überarbeitet – Zugriffsrechte werden immer nur als zusätzlich betrachtet, d.h. es wird gewährleistet, dass jeder Benutzer mindestens die gleichen Rechte wie der Standardbenutzer hat.
  • Im Konfigurationsdatei wurde die Unterstützung für die Einstellung api_access_controllers_whitelist eingestellt. Die Authentifizierung über den API-Zugriffsschlüssel gewährt nun automatisch Zugang zu allen APIs, die dem Benutzer gestattet sind.
  • Die Unterstützung für Python 2.6 wurde eingestellt. Zurzeit wird nur der Branch Python 2.7 unterstützt, aber die Entwickler arbeiten an einer vollständigen Unterstützung von Python 3.x.
  • Die Funktion zur Sperrung des Repositories (pull-to-lock, push-to-unlock) wurde entfernt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4