Release of the Kallithea 0.5 collaborative development platform

Submitted by release of the repository management system Kallithea 0.5, based enthusiasts and representatives of the Software Freedom Conservancy in order to continue the development of the free RhodeCode codebase, after transformations this platform into a semi-proprietary commercial product. Kallithea allows you to deploy a development management infrastructure that supports Git and Mercurial version control systems, and is similar in tasks to GitHub, GitLab and Bitbucket. The project code is written in Python and spreads licensed under GPLv3.

Kallithea includes a high-performance push/pull server and a collaborative web interface that allows you to manage repositories, share permissions, review code, track other contributors, fork projects, submit pull requests, or change code to place, through a simple editor. Integration with a centralized enterprise user base based on LDAP or ActiveDirectory is supported. Creation of groups of repositories and groups of developers with unification of management of group members is supported. The appearance of the interface can easily be changed through the templating system. A visual representation of activity in the form of graphs is supported. The change review system supports change discussions and notifications.

The server part of the platform is multi-threaded, which allows you to simultaneously serve multiple pull/push requests. To increase performance, the system actively uses caching and performing actions in asynchronous mode. Backup tools are integrated into the system, allowing you to periodically archive and save a copy of all data via "scp". To track activity in the repositories, a special layer is supported that keeps a log of all accesses and allows each request to be authenticated. The library is used to work with repositories vcs, project metadata can be stored in SQLite, PostgreSQL, or other databases supported by SQLAlchemy.

Major changes:

  • Provided the ability to access the repository using SSH using a URL like "ssh://[email protected]/name/of/repository". Authentication when accessing the repository via SSH is based on the user's public key (with or without additional password protection, depending on the user's preferences). Uploading the key (~/.ssh/id_rsa.pub) to the server is done through the Kallithea web interface, which automates saving the key in the authorized_keys file. It is noted that the performance of working with the repository via SSH is higher than when accessing the repository via HTTPS.
  • Added support for distributed version control system Mercurial 5.2.
  • The "Admin > Settings > Visual > (HTTP) Clone URL" function has been redesigned, the handler of which now explicitly checks for the presence of the strings "{repo}" and "_{repoid}".
  • The system of access rights has been cleaned up - access rights are always considered only as additional ones, i.e. it is guaranteed that any user will have at least the same rights as the default user.
  • Support for setting api_access_controllers_whitelist has been reduced in the areconfig file. API Key Authentication now automatically grants access to all APIs allowed to the user.
  • Support for Python 2.6 has been dropped. Currently only the Python 2.7 branch is supported, but the developers are working on providing full support for Python 3.x.
  • Removed repository locking feature (pull-to-lock, push-to-unlock).

Source: opennet.ru

Add a comment