Wydano Polemarch 2.1.0, interfejs webowy do zarządzania infrastrukturą serwerową opartą na Ansible. Kod projektu został napisany w językach Python i JavaScript z wykorzystaniem frameworków Django i Celery. Projekt jest udostępniany na licencji AGPLv3. Do uruchomienia systemu wystarczy zainstalować pakiet i uruchomić 1 usługę. Do zastosowań przemysłowych zaleca się dodatkowo używać MySQL/PostgreSQL oraz Redis/RabbitMQ+Redis (cache i broker MQ). Dla każdej wersji tworzony jest obraz Docker.
Zaimplementowano wywołania systemowe waitid (oczekiwanie na zmianę stanu procesu), pinsyscall (do przekazywania informacji o punkcie wejścia execve w celu ochrony przed exploitami ROP), getthrname i setthrname (uzyskiwanie i ustalanie nazwy wątku).
- Skrócono czas inicjalizacji kodu oraz zoptymalizowano pracę z pamięcią poprzez refaktoryzację dużych ilości kodu oraz różnych powtarzających się list.
- Klonowanie (dla git) lub pobieranie (dla tar) kodu przy włączonym repo_sync_on_run odbywa się teraz bezpośrednio do katalogu uruchomieniowego z źródła. Funkcja ta jest szczególnie przydatna dla tych, którzy używają Polemarch jako pipeline CI/CD.
- Dodano możliwość określenia maksymalnego rozmiaru archiwum, które ma zostać pobrane przy synchronizacji projektu. Rozmiar określa się w pliku konfiguracyjnym w bajtach i obowiązuje dla wszystkich projektów.
- Przebudowano funkcjonalność pracy przy określonym repo_sync_on_run_timeout, gdzie dla projektów git ten czas wykorzystuje się w timeoutach git cli, a dla archiwów obejmuje czas nawiązania połączenia i oczekiwanie na rozpoczęcie pobierania.
- Dodano możliwość określenia innego ANSIBLE_CONFIG wewnątrz projektu. Przy tym zachowano możliwość określenia globalnego domyślnego konfiguracji dla projektów, w których w katalogu głównym nie ma ansible.cfg.
- Poprawiono drobne błędy i niedokładności w interfejsie oraz zaktualizowano podstawowe biblioteki.
Źródło: opennet.ru
