De release van Polemarch 3.0.0 heeft plaatsgevonden, een webinterface voor het beheer van serverinfrastructuur op basis van Ansible. De code van het project is geschreven in de programmeertalen Python en JavaScript met gebruik van de frameworks Django en Celery. Het project wordt verspreid onder de AGPLv3-licentie. Voor het opstarten van het systeem is het voldoende om het pakket te installeren en 1 service te starten. Voor industrieel gebruik wordt aangeraden om daarnaast MySQL/PostgreSQL en Redis/RabbitMQ+Redis (cache en broker MQ) te gebruiken. Voor elke versie wordt een Docker-image aangemaakt.
Belangrijkste wijzigingen:
- Overgang naar de nieuwe versie van de Rest API v4 en de minimaal ondersteunde versie Python 3.8. De overgang was noodzakelijk om de ondersteuning van het nieuwe systeem van plugins en extensies te verbeteren en de ontwikkeling te versnellen. Tevens zijn enkele duplicerende elementen vereenvoudigd voor een logischere en gebruiksvriendelijkere beheer van sjablonen en schema's.
- Nieuwe inventarisatieplugins zijn toegevoegd, waarmee standaard inventarisatieplugins zoals scripts of ini/yaml/json-strings gebruikt kunnen worden. Ook is het eigen pluginsysteem voor inventarisatie ontwikkeld, dat de mogelijkheid biedt om eigen implementaties van plugins vanuit verschillende bronnen te realiseren.
- Het systeem voor opstartplugins, dat in de vorige release is uitgebracht, is verbeterd. Nu kunnen eigen implementaties voor het uitvoeren van aanvullende opdrachten, zoals bash-scripts, terraform of helm, worden geschreven. Tijdens de refactoring is ondersteuning voor plugins in sjablonen en schema's toegevoegd. Bovendien kunnen in de plugins nu ketens van aanroepen worden gemaakt voor voorafgaande initialisatie in de repository.
- Een extensiesysteem is geïmplementeerd voor het vastleggen van regels uit de output in verschillende opslagplaatsen. Uit de doos wordt nu een plugin voor databaseopslag en een python-logger geleverd met de mogelijkheid om output naar stdout, een bestand of syslog te verzenden.
- Berichtenqueues wisselen nu json-berichten uit in plaats van pickle. Ook is de verwerking van serialisatie en deserialisatie van gegevens voor verzending naar de queue versneld.
- De gebruikersinterface is verbeterd en de integratie voor automatische updates met behulp van Centrifugo is verbeterd.
- Belangrijke afhankelijkheden zoals Django zijn bijgewerkt, waardoor de lijst met vereiste afhankelijkheden is verminderd (bijvoorbeeld de native ondersteuning voor redis voor cache).
.
Bron: opennet.ru
