Wydanie Polemarch 3.0.0 nastąpiło, web-interfejsu do zarządzania infrastrukturą serwerową opartą na Ansible. Kod projektu napisany jest w językach Python i JavaScript z wykorzystaniem frameworków Django i Celery. Projekt rozpowszechniany jest na licencji AGPLv3. Aby uruchomić system, wystarczy zainstalować pakiet i uruchomić 1 serwis. Do zastosowań przemysłowych zaleca się dodatkowe użycie MySQL/PostgreSQL oraz Redis/RabbitMQ+Redis (cache i broker MQ). Dla każdej wersji tworzony jest obraz Docker.
Główne zmiany:
- Przejście na nową wersję Rest API v4 oraz minimalnie wspieraną wersję Pythona 3.8. Przejście było konieczne dla poprawy wsparcia nowego systemu wtyczek i rozszerzeń oraz przyspieszenia procesu rozwoju. Uproszczono również niektóre powtarzające się elementy, aby zarządzanie szablonami i harmonogramami było bardziej logiczne i intuicyjne.
- Dodano nowe wtyczki inwentarzowe, umożliwiające korzystanie ze standardowych wtyczek inwentarzowych, takich jak skrypty lub pliki ini/yaml/json. Opracowano także samą system wtyczek do inwentarza, który umożliwia realizację własnych implementacji wtyczek z różnych źródeł.
- Udoskonalono system wtyczek uruchamiania, który został wydany w poprzedniej wersji. Teraz można pisać własne implementacje do uruchamiania dodatkowych poleceń, takich jak skrypty bash, terraform czy helm. W ramach refaktoryzacji dodano wsparcie dla wtyczek w szablonach i harmonogramach. Ponadto, w wtyczkach można teraz tworzyć łańcuchy wywołań dla wstępnej inicjalizacji w repozytorium.
- Wprowadzono system rozszerzeń do zapisywania ciągów z wyjścia w różne składowiska. Z pudełka dostarczana jest wtyczka do zapisywania w DB i python-logger z możliwością wysyłania wyjścia do stdout, pliku lub syslog.
- Kolejki wiadomości teraz wymieniają wiadomości json, zamiast pickle. Usprawniono również pracę nad serializacją i deserializacją danych do wysłania do kolejki.
- Udoskonalono interfejs użytkownika i poprawiono integrację dla automatycznych aktualizacji z wykorzystaniem Centrifugo.
- Zaktualizowano kluczowe zależności, takie jak Django, co zmniejszyło listę wymaganych zależności (np. natywne wsparcie redis dla cache).
.
Źródło: opennet.ru
