repositori idarəetmə sisteminin buraxılışı , həvəskarlar və Software Freedom Conservancy təşkilatının nümayəndələri tərəfindən açıq kodlu RhodeCode bazasının inkişafını davam etdirmək məqsədilə, bu platformanı yarı mülkiyyətçi kommersiya məhsuluna. Kallithea, Git və Mercurial versiya idarəetmə sistemlərini dəstəkləyən inkişaf idarəetmə infrastrukturu yaratmağa imkan tanıyır və həll etdiyi məsələlər baxımından GitHub, GitLab və Bitbucket-a bənzəyir. Layihənin kodu Python dilində yazılıb və GPLv3 lisenziyası altında.
Kallithea, repo idarəetməsi, icazə hüquqlarını bölüşdürmək, kodu nəzərdən keçirmək, digər iştirakçıların fəaliyyətini izləmək, layihələrin forklara ayrılması, pull-reqestlərin göndərilməsi və ya kodun sadə redaktordan düzəldilməsi üçün birgə iş təşkil edən bir veb interfeys daxil olmaqla yüksək məhsuldar push/pull sorğularını emal edən serveri özündə birləşdirir. LDAP və ya ActiveDirectory-a əsaslanan mərkəzi istifadəçi bazası ilə inteqrasiya dəstəklənir. Qrupların idarə olunmasını vahidləşdirmək ilə birlikdə repo və inkişaf etdirici qrupların yaradılması dəstəklənir. Interfeysin görünüşü asanlıqla şablon sistemi vasitəsilə dəyişdirilə bilər. Fəaliyyətin vizual təqdimatı qrafiklər şəklində dəstəklənir. Dəyişiklərin nəzərdən keçirilməsi sistemində müzakirələr və bildiriş göndərilməsi dəstəklənir.
Platformanın server tərəfi çox ipliklidir, bu da eyni anda birdən çox pull/push sorğusunu idarə etməyə imkan verir. Performansın artırılması üçün sistemdə önbellekleme və asinxron rejimdə əməliyyatların yerinə yetirilməsi intensiv istifadə olunur. Verilərin müntəzəm olaraq arxivləşdirilməsini və «scp» vasitəsilə bütün məlumatların surətinin saxlanmasını təmin edən ehtiyat nüsxə alətləri sistemə inteqrasiya olunub. Repozitoriyalardakı fəaliyyətin izlənməsi üçün xüsusi bir təbəqə yaradılıb ki, bu da bütün çağırışların jurnalını aparır və hər bir sorğunun autentifikasiyasına imkan tanıyır. Repozitoriyalarla işləmək üçün , layihələr haqqında meta-məlumatlar SQLite, PostgreSQL və ya SQLAlchemy-də dəstəklənən digər verilənlər bazalarında saxlanıla bilər.
Əsas dəyişikliklər:
- SSH vasitəsilə repo istifadəsi üçün «ssh://kallithea@example.com/name/of/repository» tipli URL ilə giriş imkanı təqdim olunur. Repozitoriyaya SSH vasitəsilə müraciət zamanı istifadəçi açarının açıq açarı əsasında autentifikasiya edilir (istifadəçinin arzu etdiyi halda, açarın parol ilə əlavə qorunması mümkündür). Açarın yüklənməsi (~/.ssh/id_rsa.pub) Kallithea-nın veb interfeysi vasitəsilə serverə həyata keçirilir, bu da açarın authorized_keys faylında saxlanmasını avtomatlaşdırır. Qeyd olunur ki, repo ilə SSH vasitəsilə işləmənin səmərəliliyi HTTPS vasitəsilə müraciətdən daha yüksəkdir.
- Mercurial 5.2 paylaşılan versiya idarəetmə sisteminin dəstəyi əlavə edilmişdir.
- «Admin > Settings > Visual > (HTTP) Clone URL» funksiyası yenidən işlənib, onun emalçısı indi «{repo}» və «_{repoid}» sətirlərinin mövcudluğunu aydın şəkildə yoxlayır.
- İcazələr sisteminin təmizlənməsi həyata keçirilib — icazələr həmişə yalnız əlavə olaraq nəzərdə tutulur, yəni hər bir istifadəçinin ən azı standart istifadəçi ilə eyni icazələrə sahib olacağı təmin edilir.
- Konfiqurasiya faylında api_access_controllers_whitelist ayarının dəstəyi dayandırılıb. API giriş açarı ilə autentifikasiya artıq istifadəçiyə icazə verilmiş bütün API-lərə avtomatik olaraq giriş təmin edir.
- Python 2.6 dəstəyinin dayandırılması. Hal-hazırda yalnız Python 2.7 versiyası dəstəklənir, lakin inkişaf etdiricilər Python 3.x üçün tam dəstək təmin etmək üzərində işləyirlər.
- Repozitari bloklama funksiyası (pull-to-lock, push-to-unlock) silinib.
Mənbə: opennet.ru
