objavljivanje sustava za upravljanje repozitorijima , od entuzijasta i predstavnika organizacije Software Freedom Conservancy s ciljem nastavka razvoja slobodne kodne baze RhodeCode, nakon te platforme u polupropijetan komercijalni proizvod. Kallithea omogućuje postavljanje infrastrukture za upravljanje razvojem, koja podržava sustave kontrole verzija Git i Mercurial, i po rješenim zadacima podsjeća na GitHub, GitLab i Bitbucket. Kod projekta napisan je na jeziku Python i pod GPLv3 licencom.
Kallithea uključuje visoko performantan server za obradu push/pull zahtjeva i web sučelje za organizaciju zajedničkog razvoja, koje omogućuje upravljanje repozitorijima, dijeljenje prava pristupa, recenziranje koda, praćenje aktivnosti drugih sudionika, izradu forkova projekata, slanje pull zahtjeva ili izmjenu koda na licu mjesta, putem jednostavnog uređivača. Podržava se integracija sa centraliziranom bazom korisnika poduzeća, temeljenom na LDAP ili ActiveDirectory. Podrška za stvaranje grupa repozitorija i grupa programera uz unifikaciju upravljanja članovima grupe. Izgled sučelja može se lako promijeniti putem sustava predložaka. Podržava se vizualno predstavljanje aktivnosti u obliku grafikona. U sustavu za recenziranje promjena podržava se rasprava o promjenama i slanje obavijesti.
Poslužiteljski dio platforme je višezadaćni, što omogućuje istodobno servisiranje nekoliko pull/push zahtjeva. Za povećanje performansi sustav aktivno koristi predmemoriju i izvršavanje radnji u asinkronom režimu. U sustav su integrirani alati za sigurnosno kopiranje, koji omogućuju periodično arhiviranje i pohranjivanje svih podataka putem „scp“. Za praćenje aktivnosti u repozitorijima podržava se posebni sloj koji vodi evidenciju svih poziva i omogućuje autentifikaciju svakog zahtjeva. Za rad s repozitorijima koriste se biblioteke , a metapodaci o projektima mogu se pohranjivati u SQLite, PostgreSQL ili drugim bazama podataka podržanim u SQLAlchemy.
Glavne promjene:
- Omogućeno je pristupanje repozitoriju putem SSH, koristeći URL formata «ssh://kallithea@example.com/name/of/repository». Autentifikacija prilikom pristupa repozitoriju preko SSH vrši se na osnovu javnog ključa korisnika (uz dodatnu zaštitu ključa lozinkom ili bez, zavisno od korisničkih preferencija). Učitavanje ključa (~/.ssh/id_rsa.pub) na server vrši se putem web sučelja Kallithea, koje automatizira spremanje ključa u datoteku authorized_keys. Uočeno je da je performansa rada s repozitorijem putem SSH veća nego prilikom pristupa repozitoriju putem HTTPS.
- Dodana podrška za distribuirani sustav upravljanja verzijama Mercurial 5.2.
- Preuređena funkcija «Admin > Settings > Visual > (HTTP) Clone URL», čiji obrada sada eksplicitno provjerava prisutnost nizova «{repo}» i «_{repoid}».
- Provedena je čišćenje sustava prava pristupa — prava pristupa se uvijek smatraju samo dodacima, tj. osigurava se da svaki korisnik ima barem ista prava kao i korisnik prema zadanim postavkama.
- U konfiguracijskoj datoteci ukinuta je podrška za podešavanje api_access_controllers_whitelist. Autentifikacija putem API ključa sada automatski omogućava pristup svim API-ima koji su dopušteni korisniku.
- Prekinuta je podrška za Python 2.6. Trenutno se podržava samo grana Python 2.7, ali programeri rade na osiguravanju potpune podrške za Python 3.x.
- Uklonjena je funkcija blokiranja repozitorija (pull-to-lock, push-to-unlock).
Izvor: opennet.ru
